Earlier in my career, I thought that innovation was solely about technology. If you wanted to address a new market or to increase sales, writing more code was always a good option. Having gained some wisdom and experience over the years, I've finally figured out the obvious — that innovation can also take the form of a business model!
Since I first blogged about Amazon EC2 in the summer of 2006, developers and IT professionals have found all sorts of ways to put it to use. Many of those have been covered in this blog ; we've written a bunch of case studies about quite a few, and I've bookmarked many more on the AWS Buzz feed. As our customer's use cases have grown, we've done our best to listen to their feedback, adding such features as additional instances types, multiple availability zones, multiple geographic regions, persistent disk storage, support for Microsoft Windows, and control over IP addresses.
The well-known pay-as-you-go EC2 pricing model is very similar to what an economist would call an on-demand or spot market. There's no need make any up-front commitment; you simply pay for your processing an hour at a time. This model has served us well so far and it will continue to be a fundamental aspect of our strategy.
We've learned that some of our customers have needs which aren't addressed by the spot pricing model. For example, some of them were looking for even lower prices, and were willing to make a commitment ahead of time in order to achieve this. Also, quite a few customers actually told us something even more interesting: they were interested in using EC2 but needed to make sure that we would have a substantial number of instances available to them at any time in order for them to use EC2 in a DR (Disaster Recovery) scenario. In a scenario like this, you can't simply hope that your facility has sufficient capacity to accommodate your spot needs; you need to secure a firm resource commitment ahead of time.
Taking these requirements into account, we've created a new EC2 pricing model, which we call Reserved Instances. After you purchase such an instance for a one-time fee, you have the option to launch an EC2 instance of a certain instance type, in a particular availability zone, for a period of either 1 of 3 years. Your launch is guaranteed to succeed; there's no chance of encountering any transient limitations in EC2 capacity. You have no obligation to run the instances full time, so you'll pay even less if you choose to turn them off when you are not using them.
Steady-state usage costs, when computed on an hourly basis over the term of the reservation, are significantly lower than those for the on-demand model. For example, an on-demand EC2 Small instance costs 10 cents per hour. Here's the cost breakdown for a reserved instance (also check out the complete EC2 pricing info):
| Term | One-time Fee | Hourly Usage | Effective 24/7 Cost |
| 1 Year | $325 | $0.030 | $0.067 |
| 3 Year | $500 | $0.030 | $0.049 |
Every one of the EC2 instance types is available at a similar savings. We've preserved the flexibility of the on-demand model and have given you a new and more cost-effective way to use EC2. Think of the one-time fee as somewhat akin to acquiring hardware, and the hourly usage as similar to operating costs.
All of the launching, metering, and billing is fully integrated. Once you've purchased one or more reserved instances, the EC2 RunInstances call will draw upon your reserve before allocating on-demand capacity. This new feature is available for Linux and OpenSolaris instances in the US now, with the same support to follow in Europe in the near future.
We've added a number of new command-line (API) tools to support the Reserved Instances. Here's what they do:
- The ec2-describe-reserved-instance-offerings command lists the set of instance offerings that are available for purchase.
- The ec2-purchase-reserved-instances-offering command makes the actual purchase of one or more reserved instances.
- The ec2-describe-reserved-instances command displays a list of the instances that have been purchased.
Of course, all of this new functionality is fully programmable. We've added a number of new EC2 APIs:
- DescribeReservedInstancesOfferings returns a list of Reserved Instance offerings that are available for purchase. This call enumerates the inventory within a particular availability zone.
- PurchaseReservedInstancesOffering makes the actual purchase of a Reserved Instance within an availability zone. Up to 20 instances can be purchased with a single call, subject to availability and account limitations. This is like "buy a vowel" from Wheel of Fortune, but you get a server (much more useful) instead.
- DescribeReservedInstances - returns a list of the instances that have been purchased for the account.
We're planning to give the AWS Console full control over the Reserved Instances. I expect to see other tool vendors add support as well.
If you have any questions about the new Reserved Instances, check out the entries in in the newly revised EC2 FAQ.
I'm looking forward to receiving your feedback on this new and innovative business model for EC2. Please feel free to leave me a comment.
-- Jeff;


Great news!!
We are one of those costumers that needed a price plan like this!!
I Love to see how Amazon always try to satisfy customer's needs
Congratulations..
http://blog.unience.com
http://www.unience.com
Posted by: Joaquin Diez Gomez | March 12, 2009 at 01:10 AM
This is very exciting -- I worked out it's equivalent to a 33% discount in return for a one year commitment (assuming a Large instance running 24/7). Amazing.
We use Windows though and I notice you're committing to supporting Europe in the future but not Windows. Any chance of some more background on that?
Posted by: Max C | March 12, 2009 at 02:14 AM
Ok, so I just typed a command into my Ubuntu laptop and Amazon charged me $650 (for a shiny, new c1.medium 1 year reserved instance).
A bit scary, but I'm thrilled to be saving money in the long run.
I'm also very happy that the new reservation pricing is applied to an instance I've already got running.
Thanks!
-- Eric Hammond
Posted by: Eric Hammond | March 12, 2009 at 02:30 AM
I infer from the FAQ that if I have an instance already, I can ec2-purchase-reserved-instances-offering and get a lower per-hour billing rate on an instance that I am already running. I do not have to snapshot the instance and then start a new one. Is that correct?
Posted by: Paul Prescod | March 12, 2009 at 04:14 AM
Fantastic news (for Linux/Unix users in the US). In the EC2 FAQ, the lack of reserved instances for Windows users -- yes, there are some of us who still use Windows -- was conspicuous by its absence. Comments?
Posted by: James Sun | March 12, 2009 at 05:03 AM
You should be more explicit that AWS does not oversell the instances - each reserved instance exists.
When I first read it, it sounded like your request for a server would not compete with "transient limitations in EC2 capacity", but might compete with other reserved requests.
Posted by: anon | March 12, 2009 at 06:14 AM
Fantastic! Also looking for details on Windows support for this concept.
Posted by: malcolm | March 12, 2009 at 06:28 AM
Could you please verify if m1.small and c1.medium instances still have low priority access to i/o resources in the reserved model?
Posted by: Charlie | March 12, 2009 at 06:44 AM
I hope this reserved pricing model will include Windows instances as well.
Posted by: Larry Mishkin | March 12, 2009 at 07:10 AM
I just love Amazon SS2 !
Posted by: Sdrajna | March 12, 2009 at 07:21 AM
Absolutely brilliant! This makes it much more economical for us to have long-running instances, which is more in line with our needs.
Posted by: Matt White | March 12, 2009 at 07:58 AM
Along with Max and James above, I'd also like to know if a similar pricing structure will be forthcoming for Windows instances.
Also, back in October I read on one of the forums that you guys expected Windows Server 2008 instances early this year. Any update on when you expect this or if you're even actively working on it? Many thanks!
Posted by: Brent Broome | March 12, 2009 at 08:03 AM
Fantastic news!
Like others above, I would love to see this applied to the Windows instances as well.
Posted by: Perry | March 12, 2009 at 10:42 AM
Windows needed here too!
Posted by: Tibor | March 14, 2009 at 12:27 AM
Great news! That's exactly what I've been waiting for in terms of the cost reduction.
Is there any further specification of the 'near future' support for the EU region? Matter of weeks or months?
Thanks
Posted by: Radim Marek | March 18, 2009 at 05:48 AM
I was just talking to Sun, and they said they're going to be "50% Amazon's price on every service." If they keep driving your pricing down, how do you keep your service level up? What I really need are containerized MySQL instances, running against ZFS to infinite storage. They're promising me less than 1c/cpu-hr, storage free. What are you going to offer?
Posted by: Balkan Triwl | March 20, 2009 at 08:13 PM
Balkan,
Where is this sun product? People can promise anything. Sun has a real history of this actually. In this space particularly, but in many others.
Amazon has a product, available and proven today. It's frankly the model most are copying.
You might be surprised to find that when you use 1c/cpu-hr with free storage and try to store a few petabytes on their system, all of a sudden, storage isn't free anymore :) Perhaps your account is canceled from under you for "abuse" or other legalese. You going to build your business on a hope that an unsustainable business model succeeds?
Amazon offers something straightforward, which I like. Let's wait to see the REAL sun offering, and have a chance to check out the fine print. With Sun, it's always extensive!
Posted by: Dynamo12 | March 23, 2009 at 12:06 PM