In cloud computing, AWS (Amazon Web Services) has become the de-facto standard everybody else has to measure against. Since 2006 it has proposed an ever-expanding set of services and features, from turnkey web applications, to CDN (Content Delivery Network), to automated scalability, to HPC (High Performance Computing) clusters, to general-purpose hardware provisioning in EC2 (Elastic Compute Cloud).
Besides the quality of services, which most agree AWS is the leader of among the top cloud computing offerings, cost is a most important variable. Lower cost of entry is one reason driving people to the cloud. However many argue that if you were to commit to long-term hardware resources, you may be better off buying your own hardware. That may be true for a 3 years, static, investment. But for burst computing and flexible architectures, this is questionable.
One reason AWS is making computing resources look more and more like a commodity is it’s reserved and spot instances.
Usually, the act of provisioning an instance results in running a virtual machine in some data center, and you are then billed by the hour. Besides on-demand instances, AWS proposed two other kinds of instances: reserved instances, and spot instances.
Buying a reserved instance gives you the option to provision an instance at a 20 to 70% discount price during a 1 or 3 years period.
For instance, a medium Linux instance in the US East region costs $0.16/h. Assuming a 50% utilization rate for 1 year (meaning the instance is stopped half of the time, during which you are not billed), it comes to a cost of $700.80 (in reality it is slightly higher, as resuming a stopped instance will be billed for a full hour, even if it’s stopped before the end of the hour). A reserved instance of the same kind for 1 year is $0.078/h, with an upfront fee of $138, which comes to a cost of $479.64, a saving of 32%. Reserving for a 3-year period ($0.063/h plus a $212.50 fee) increases the saving to 51%.
A reserved instance also gives you the confidence that it will launch when needed. Indeed it is not rare to see on-demand instances failing to launch. For large and/or fast buildup of set of instances, I have experienced failure rates of up to 20%, meaning that up to 20% of my instances failed to reach their operational state.
Spot instances enable you to bid for unused Amazon EC2 capacity, and to run those instances for as long as your bid exceeds the current spot price. The spot price changes periodically based on supply and demand. If your bid exceeds the spot price, you gain access to the available spot instances, and you are charged at the spot price (not your bidding price). However if the spot price increases and overtakes your bidding price, your spot instance is terminated.
Spot instances are a great way to acquire instances at a low price. However given that they can be terminated whenever the spot price exceeds the bidding price, spot instances can only be used by applications that are truly fault tolerant. Batch computing is one obvious application –assuming that every job is small enough that restarting then when needed does not impair performances.
On-demand instance is a common good in cloud computing, but reserved and spot instance make AWS a true marketplace for computing power. A good strategy that balances these three kinds of resources to optimize cost and availability will become a significant factor for the many companies that choose to use a public cloud like AWS for their IT needs.
“Every day Amazon Web Services adds enough new capacity to support all of Amazon.com’s global infrastructure through the company’s first 5 years”
Between 5 to 10% of the computing resources in the world is in the cloud, and its share grows fast, driven by features-hungry mobile applications. Maybe will come a time where one can buy and trade computing power.
UPDATE: on Sept 12th, 2012, Amazon announced a reserved instance marketplace, where people can sell their over-capacity reserved instances, and buy instances on the spot. Looks like my conclusion is becoming a reality faster than I thought.
Tags: cloud computing