Amazon’s Asymptosis Hypnosis: Dedicated Instance Pricing with a Penalty
Let’s start with the good. Amazon Web Services offers a very popular cloud computing service called EC2… for shared or multi-tenant instances anyway. In fact, all estimates seem to suggest Amazon is by far the market leader for this type of cloud infrastructure as a service (IaaS).
Still, IaaS clouds offering dedicated instances (or even full bare metal servers) have been around for at least a couple years. Check the leader—SoftLayer—as well as other interesting players like StrataScale. In this segment, Amazon is a laggard, just announcing a dedicated instance in the last day or so.
One Small Step for Amazon...
But let’s talk more about the good. Amazon is highly influential in the world of cloud computing. And now, the company has finally acknowledged that dedicated servers also play a role in cloud computing. That should have a positive impact on the broader cloud computing industry. For example, it should now be easier for others to accept the need for dedicated servers in cloud computing. Good job Amazon - even if this is just an accidental side effect of your dedicated instance announcement!
Of course not just any dedicated server can be considered a cloud server. Dedicated cloud servers should have many of the same attributes as virtualized / multi-tenant servers. For example, they should be flexible, dynamic, on-demand, pay as you go, elastic and so on. Even when a dedicated server reaches some level of cloudiness, there are additional attributes to consider. After all, this is an existing competitive market, not something that Amazon just invented. Amazon EC2 dedicated instances will get plenty of scrutiny in the coming weeks. People will begin to realize that dedicated cloud servers are not all the same. Questions like, “Hey Amazon – can you set me up a dedicated bare metal server?” will generate some interesting stutters. Still, congrats to Amazon for taking this initial step.
Yes, Dedicated Servers (or instances) Can Be Cloud!
There are already haters claiming dedicated servers simply can’t be “cloud” servers. Bologna! (isn’t that the nice way of saying “boloney” or BS?) By the way, I chose the term haters since folks with this mindset sometimes call themselves cloud purists. They say things like “real” clouds this and “true” clouds that… Personally I’m not fond of the purist mentality or approach. There are many ways to solve problems and fixating on one technology or another is usually not helpful. Besides, if someone calls themselves a cloud purist, I would hope that they would understand that cloud is more about the attributes of the service delivered, and the economic model, and the usage model, and so on, than it is about placing limits on the underlying infrastructure. So, “haters,” you are actually wrong here! Dedicated servers can be cloud servers.
Also note, these are some “late to the party haters.” They shoulda’ been hatin’ with the early “dedicated can’t be cloud” haters that were bitchin’ a couple years ago. Sorry, but dedicated cloud servers are already established and proven.
The Good, The Bad, and The Asymptotic
OK, time for a little bitchin’ of my own. While I’m actually pleased at a high level that Amazon has finally started down this path, I’m sorely disappointed at the pricing model. It is so terrible that this Amazon blog had to whip out the old asymptosis hypnosis, perhaps hoping to fool a few prospective users into spending far, far more on EC2 dedicated instances than they would for competing offerings. This is what the blog actually said: “When figured as a per-instance cost, this charge will asymptotically approach $0 (per instance) for customers that run hundreds or thousands of instances in a Region.”
Are you kidding me? I think someone forgot to say “Pay no attention to the man behind the curtain.”
“When figured as a per-instance cost”?? This isn’t a per-instance cost and it doesn’t behave that way. This is the equivalent of lying with statistics. Wait… we’ll get to that in a minute. I think it is funny how they say “for customers that run hundreds or thousands of instances.” As if the cost somehow disappears if you just keep adding servers. Anyway, this is clearly not a service designed for Amazon’s unimportant small customers. Whoops, I just impulsively added “unimportant.” I guess that’s just what it feels like to me.
Some may ask, “What the heck is this asymptote thing anyway?” Here is a picture:
In this case, the asymptote is actually the X-axis. Notice that the cost curve never actually reaches $0. Divide $10 per hour by as many servers as you like and it will never be $0 / per server. But that is not the issue. That is just a rule of asymptotes. The issue is that Amazon is using this unconvincing and incorrect analogy to convince customers that—if they are large enough and use enough dedicated servers—these costs somehow approach zero.
Are you Smarter than a 5th Grader?
Guess what? The costs don’t go away. One could also divide $10 per hour by the number of gigabytes of storage consumed. Consume a lot of storage and “$10 per hour per gigabyte consumed” is a much smaller number. Yeah, dividing small numbers by large numbers certainly works like that. But the charge (aka dedicated server cost penalty) is really $10 per each region that has at least one dedicated server running. It doesn't actually change if you add more servers. It remains $10 per hour.
Another rule of asymptotes is that you have to look at the area under the curve to get at the useful information. But not that curve above… Try this curve on for size:
Fortunately it is a simple linear equation that doesn’t require calculus (Otherwise I’d have to crack open an old math text book which I don’t have because I probably sold it used for $4 right after the semester ended almost 25 years ago. Then I’d have to go to Amazon and buy a copy, and… well, that would be just too damn much irony).
In any case, here is the gist… You figure the area under the curve simply by multiplying the time (X-axis) and cost per time (Y-axis). This heavy lifting (ha!) has already been done and it comes out to… wait a second. No, that can’t be right. Let me do this again. $10 per hour times 24 hours equals… Hang on, that still can’t be it. $240?? Really Amazon? $240 per day? That is $7,200 for a 30 day month. That is also $87,600 per year.
Don’t forget… that is just for a single availability zone. In the off chance that you happen to want simple geographic redundancy, your costs will of course double. But why would anyone want that when Amazon pieces together bare bones commodity servers and expects regular failures as part of the cost trade off?
It Slices, It Dices...
But don’t stop there! You may need dedicated servers in more geographies, perhaps to get closer to your customers. Start multiplying $87,600 / year by the number of availability zones in which you’d like to run dedicated instances.
Yes, it is true you could periodically turn off *all* your dedicated servers in each and every availability zone in order to completely turn off these penalties… err, costs. Or you could simply do this per availability zone to turn off the costs for that availability zone. But is that what your application needs? Do you have an application that needs 100s or 1,000s of dedicated servers for short periods of time? And why is Amazon trying to tell you what your application needs in the first place?
Amazon seems to be telling small users they can kiss its asymptote. Would ANY small user pay a $10 per hour penalty… err, premium, simply for the privilege of then paying to actually run one or several dedicated servers? NO!
But this is for big customers, right?
Now don’t go trying to get back to this whole asymptosis hypnosis thing either… Don’t go trying to convince yourself that this is a good deal for anyone. Amazon is mentioning customers with 100s or 1,000s of servers, suggesting the pricing model becomes a bargain. Unfortunately the math still doesn’t work.
- If it is hundreds or thousands of muti-tenant instances, it doesn’t even matter. Those are not impacted by the $87,600 per year dedicated server penalty.
- If it is hundreds or thousands of dedicated servers, it strikes me that the customer is likely to have at least one running all the time, thus incurring the $87K+ per year penalty.
- Or, let’s play along here… If there is a scenario where hundreds or thousands of dedicated servers are needed for a short time, say a single day, then OK, the penalty for that day is only $240. But don’t forget, if you keep coming back for more, you will ultimately pay the $87K+ penalty when your usage reaches one year (365x24) of accumulated hours of time running at least one dedicated server (again, per availability zone). This is not a bargain.
There are Alternatives!
What is next? Is someone going to argue that $87.6K is just a drop in the bucket for large customer with deep pockets? Come on… Do you know how much server time you can buy for $87.6K? You could run an extra-large on-demand Linux instance in Amazon’s Northern California region non-stop for more than 115,000 hours. You could go even longer with a reserved instance: Over 30 years straight if you opt for 3 year reservations. Or longer still in a lower cost geography… Why not just make a donation to the Amazon shareholder fund?
Couldn’t you buy 50+ dedicated servers of your own for this amount? And run each of them full time year after year? Yeah, you have to power them, manage them etc. But this isn’t a real suggestion anyway… It just illustrates how ludicrous a $10/hour penalty really is.
How about spending $200 per month per dedicated server at a provider that offers both cloud and dedicated servers? You could run more than 36 dedicated servers 24 hours a day for a year for $87.6K.
Cloud instances are available to day for pennies per hour, yet Amazon wants to charge $10 per hour for... well, nothing. Amazon is quick to point out their opportunity cost. What about yours? What can you do for $10 per hour? Especially when it is being spent 24 x 365 hours per year?
How about going to a competing offering that has much more powerful dedicated server capabilities and without the penalty? After all, you’ll have $10 per hour (Per Hour!!) to contribute to any higher usage rates. You’re likely to find other benefits as well such as higher levels of network control.
Not a Workable Model
Enough on the numbers. This asymptotic hocus pocus is just an excuse for Amazon not coming up with an agile enough model that allows real, flexible use of dedicated servers. Amazon does not currently want, and is not currently set up, to meet the needs of the masses when it comes to dedicated servers. The company's pricing model should certainly whittle down the masses to something they can actually handle.
Smaller customers will run away quickly from this approach. Some larger customers may get lulled in to trying it out… until they get the bill. And perhaps there will be some other large customers who—through lack of proper governance or whatever else—are simply willing to throw this money away on an ongoing basis. But no matter how you slice it, or claim to spread out the costs over large numbers of servers, the fact is you are paying a very steep penalty for using Amazon dedicated instances.
Don’t be hypnotized by the asymptote. Work through the numbers and consider all your options.