Thoughts on the Economics of the AWS Cloud
A couple days ago Amazon published a short whitepaper on the considerations one might make when building a data center vs. using Amazon’s web services. In my experience most people use EC2 and S3 for their app, and the more adventurous people branch out into Amazon’s other services. Most people need storage and compute power, fewer people need Elastic Map Reduce.
Financially, for a small scale production or testing platform using the Amazon Web Services makes a lot of sense for a company whose core business is not IT-centric. Running a couple m1.small EC2 instances and paying for a backup to S3 or EBS is cheaper than purchasing a box and running the app in colo.
Since the start of the AWS platform I had the opinion that, as one starts using more and more EC2 instances and S3 storage space, there comes a point where it would be cheaper to bring the IT platform in house and hire a staff to run it instead of running on AWS forever. I have no idea where that point is, nor do I know of anyone with credibility who does. I thought the dollar amount where in-housing is cheaper is quite high.
I say those things in the past tense. At the risk of being accused of falling victim to Amazon propaganda, after reading the Economics of the AWS Cloud paper I think the expense of bringing a production app in-house for financial reasons alone is too great to overcome the benefits of using Amazon web services. What Amazon provides in terms of reliability, redundancy, management and scale can not be overcome unless you plan to compete with Amazon. This completely ignores in-housing due to compliance and auditing. AWS is not an option in that case.
The paper makes the argument that we can hit closer to 100% server utilization than an owned IT infrastructure. Though I’m not sure I buy this argument, idle CPU and unused memory are idle wherever they are, using a pay-as-you-go service implies someone might be more aware of hardware utilization because using more costs more in EC2. I guess the comparison is owning 10 boxes at 5% utilization vs. renting 2 EC2 instances at 60% utilization. Over 5 years renting EC2 instances at full price is cheaper than the capital expense of buying those 10 boxes.
The Power Efficiency and Enabling Redundancy sections of the paper are particularly important. Running a data center costs more than just the price of the computers in it. Power and cooling isn’t free. Rack space isn’t free. The investments Amazon can afford to make in improving power efficiency and data center design is much greater than most other data center owners can afford. If you can afford to make this investment you’re already operating at Amazon-scale – why aren’t you competing with them?
Based on the go-big-or-go-home data center, who should build data centers? CDNs, hosting providers, colo facilities and business that are subject to regulation? Is that it? As someone who has been using AWS and other hosting providers for years for small customers and doing hardware recommendations for existing, poorly designed, non-regulated company data centers for large customers, I’m partial to the AWS/hosted approach if there is not already hardware that can do the job on site. Hardware procurement in large companies is a nightmare and hasn’t changed since I started doing this.
So where are we headed with AWS? Are new tech startups going to forego hardware purchases and use AWS as their infrastructure? In the last year I have worked with a lot of people making that choice. What about existing small businesses? I haven’t done a lot of work where people are migrating away from their colo’d software and I don’t expect them to, at least until the next upgrade cycle. Upgrade cycle – that’s another thing Amazon handles “in the cloud” for us. Certainly a small business needs to be aware of the AWS option and I don’t have a lot of experience with the IT companies that small businesses out-source to.
Of course I expect (non-regulated) big business to continue building poorly designed data centers based on use-it-or-lose-it budgets. “Our team has 30 boxes sitting idle and we need to order 10 more!”
These were just some of my thoughts while reading the paper. Leave a comment with any feedback or your own thoughts on the Economics of the AWS Cloud paper.





Hi Anthony,
Someone from Packt publishing contacted me several weeks back with regard to writing a review about your WebSphere Extreme Scale book. Thus far, based on what I have read, the material is well constructed, practical and very accessible in terms of starting off from the basics and providing code samples throughout. As Billy Newport has reviewed this, I would presume that it is rock solid in terms of technical accuracy also.
I would guess that IBM will evolve eXtreme Scale to allow things such as the annotation based injection of object grids etc into the application code. I would also be interested to know if the grid configuration xml can be boot strapped by being embedded in Tomcat web.xml files, as per the popular method of boot strapping Spring application contexts.
On the subject of storage and the cloud, Martin Fowler mentioned at a ThoughtWorks get together not so long ago, that compute intensive applications scale well in the ‘Cloud’ but I/O intensive apps do not. I would go along with this. By their nature clouds should be opaque, therefore you have no idea if the underlying storage is raid 5, good for read intensive workloads, but not so good for write intensive workloads. Also, how does a cloud segregate random OLTP I/O from the sequential style I/O ubiquitous with data warehouses and business intelligence applications. Some storage arrays suspend all I/O until the cache is flushed to disk, therefore your application is going to suffer if you are sharing an underlying array with someone elses app(s) that likes to fill the cache. The classic mistake when building systems is to build unbalanced systems whereby there are insufficient host bus adapters, pipes, storage processors and spindles to feed the CPUs. I would like to know if Amazon contractually guarantee sustained I/Os per second and what tooling or APIs they provide to monitor this. I would also be interested in the levels and quality of support that Amazon provide to customers using EC2. This may be a potatoes to apples comparison, but I can say from experience that dealing with Amazon over a disputed market place transaction was about as easy and straight forward as trying to contact the dead !!!. At my last company due to contractual requirements, the ops guys had to perform disaster recovery exercises at dr sites, how does this work with the cloud ?, the case of sidekick data loss springs to mind in particular. Refer to this story about “When the cloud fails”: http://gigaom.com/2009/10/10/when-cloud-fails-t-mobile-microsoft-lose-sidekick-customer-data/.
Regards,
Chris