374 karma · joined December 5, 2013
...
I want one now :-)
Not to mention that often it can takes weeks for new hardware order to be approved / delivered / provisioned.
Cloud? Just dial it up... Well, if you are at Netflix scale, you probably couldn't just dial it up, and would have to work with the vendor to ensure adequate capacity was available for your use.
If you look at the API, the publish API allows you to push multiple messages in a single API call, and if that is the batching - publishing multiple messages - then yes, you and others are absolutely correct that there is no cost benefit.
But rather than publishing
{ "messages" : [ { message 1 }, { message 2 } ] }
You publish
{ "messages" : [ { container message containing both, still less than 64k } ] }
Then you've reduced your operations count by half. Cloud services like this have a per message overhead, for things like auditing and delivery tracking, which is why the pricing model is what it is.
If you are ok with having to unpack and process multiple messages at once as I've described, then it's a way to optimize against the pricing model.
I have 64 1k messages? Ok, I am going to put them inside a single 64k message and reduce my request count by 64x, and profit!
I had one of the IBM Deskstar (aka. Deathstar for the high failure rate). IBM sold the HDD business to Hitachi, who sold it to WD.
And now, Deskstars are as reliable as they come.
On one hand, one can design a service with minimum dependencies to survive other services' outages, but that means duplication of effort and increased cost, as well as slower delivery of features. Or one can focus on adding value.
It seems though, from the update, that CloudWatch is going to have some sort of caching for most recent data.
I feel the margin number conclusion is deeply flawed for variety of reasons.
There are some questions the author cannot have answers for, that greatly change the margin numbers for EC2. A couple that comes to mind are:
1. What percentage of time are customers being charged for the available servers? 2. What percentage of instance hours are being charged at on-demand prices, vs reserved instance?
Also it completely ignores services that makes EC2 stand out from plain hosting, and adds much value, such as AutoScaling, CloudWatch, Elastic Load Balancing, OpsWorks, and Elastic BeanStalk. And believe me when I say that support cost is NOT trivial. In many cases, the number of engineer hours involved makes the support pricing look like a real bargain.
There are a couple of things that are easy to overlook when using billing metrics.
1. All billing metrics are stored in us-east-1 even for usages in other regions.
2. If you are using consolidated billing, billing metrics will be published under the linked account, and will only be visible to that account.
Hope that helps.