Amazon Web Services announced the Amazon Reserved Instance and tweaked the pricing accordingly.
It has all the awesomeness, technology advancement, and business innovativeness, that everyone has come to expect from Amazon these days. Yet in my opinion, Reserved Instance is a retrograde step.
There are few things rolled into one at play here. They are to be segregated first to explain my point of view:
- The technical concept of Reserved Instance – a mechanism to assure availability of an instance of specified type at the behest of an API call.
- The Reserved Instance pricing, or rather, the shift in the charging philosophy, from post-pay to pre-pay model.
- Reserved Instance related API – the mechanism of interacting with the reservation system.
#1 is the Good part, #3 is at best Bad, and #2 is the Ugly!.
Distributed computing is always about uncertainty and any kind of assurance is a welcome simplification for the system design. Thus #1(Reserved Instance the technical concept) is a winner advancement. It is not easy to assure and that too assure with confidence that something will work under all conditions, Amazon deserves a standing ovation( with Hats off !) daring this.
#3 – API mechanism to reserve instances. Is Bad. Now, if I take the API for a spin – just for the heck of it, it will turn me back by upto $4000. I will not touch this API by a 10-foot pole. This wins the most un-imaginative API design by AWS! I think they got this done by outsourcing this to a financial services BPO sweat shop in India. 😉
#2( the Reserved Instance pricing) is ugly if you dwell a bit deep into it. On the surface, it is just a logical tweaking of the pricing model to reflect the usage pattern in practice. For example startups need to run at least one instance on a Always-On basis, so they can reserve an instance and get a ~50% discount when they commit for 3-years. Applicability/attractiveness of this pricing plan in the Enterprise IT context is obvious. Indeed, it is re-adaption of a IT budget spread sheet masquerading as a cloudservice pricing schedule. [This pricing plan has one advantage though, a fairly dumb CIO/VP IT of an enterprise need not smarten up much or build a major case for cloud adoption. The financial spreadsheets are going to look very similar to what it was all these years. Smooth transition to the cloud assured! ] Considered from the geek/system designer point of view, the Reserved Instance pricing has not reduced the per instance pricing. It has suddenly made the On-Demand Instances costlier. A system design that does not take the various costs into consideration is not a good design. The Reserved Instance pricing has just increased the (system design)complexity without any balancing advantages.
The 50% cost saving over a 3-year period is not a big saving at all. If you have more than 17% return on your working-capital, Reserved Instance pricing is outright unattractive. So startups – are you just aiming for less than 20% returns? Naw!
On the other hand, the Reserved Instance pricing has shifted the model from the post-paid billing to pre-pay. M. David Peterson mentioned that Reserved Instance as a game changer. Well, Amazon just changed the game to the good old rules of pre-pay and multi-year commitment. Amazon changed the game and now trying to change the game back, possibly to its advantage.
Well, that is enough of a rant! Do I have any constructive suggestion to offer? And alternative pricing model for example? Well, I cannot do the work of Amazon’s financial analysts. Here is my 2-cents on the principle to adopt while pricing Reserved Instance: The present pricing encourages upfront provisioning and payment for it. It is does not care if the usage is as per the provisioning. Indeed, if the usage is not as per the provisioning Amazon makes a nice profit. An alternative pricing could be based on penalizing the deviation from the reservation. This penalty for non-usage is already in practice with the Elastic IP( Where, a IP reserved and not used is charged nominal and fairly high price) But this pricing will not help Amazon recoup the capital expenses involved in setting up a data center.
Let me close the post with a bonus rant: The Reserved Instance pricing requires reservation for each instance type. This takes the elastic out of the ec2!
Flames, comments, Kool-aid, and alternative points of view welcome!