Since its debut, I insisted on running Gumiyo.com (http://www.gumiyo.com) using Amazon’s Web Services. Today, we use Amazon's Simple Storage Service (S3) for persistence and deploy our entire production environment on Amazon's Elastic Compute Cloud, or EC2. This move is more then just a bet on an interesting technology or a calculated technological risk – this move is a real business strategy that is already paying off.
But what are the tactical and strategic values of EC2 and S3 to Gumiyo, or to any company for that matter?
Strategic:
- On-Demand Capacity: I can negotiate with larger companies, knowing that I will be ready to absorb their users into my site and provide any users with superb performance. If the site performance diminishes with the increased load, I can very quickly add more servers to meet the demand.
- Operational Noise Reduction: Less noise from the operational front means that I can focus on building the company and the product, instead of constantly worrying about capacity planning and monitoring the servers’ health. I can rest assured that the Amazon team is keeping my entire environment alive and humming.
- Technological Advantage: Beyond cost reduction, moving an entire application to an elastic environment is proof of technical maturity and stability. For any ASP it is a technical achievement that shows you are aware of the hosting challenges and have overcome them in an innovative way. This is a noticeable and marketable advantage.
Tactical:
- The world’s best data center at $70 per machine per month: I don’t need to have an NOC staff. There's no need to constantly monitor our network, our storage or our bandwidth. At $100K per engineer per year, even the smallest data center would have cost me no less then 300K in salaries per year. In addition, I do not need to buy a single server machine at $300K a pop.
- No fixed cost and total variable cost : I can add or remove server instances at will and do so within minutes. I can scale my bandwidth as my business scales and as my traffic grows. As long as I can generate more profit per server then the cost, I am making money!
- Endless storage: I do not need to worry about SAN, NAS and other backup or redundancy nightmares.
I will not get into the technical details of employing EC2 and S3, but there are many aspects to consider before switching your environment, most of which are detailed on the AWS developer forums. We had to come up with some creative ways to deal with dynamic IP addresses, database hosting on ephemeral storage, and load-balancing. We kept our AMI lean and mean, allowing services to be switched on and off as needed. But within two to three weeks, we had it all figured out! And if you ask me – it was worth it.
Shuki