These days, it seems like the term “cloud” is being slapped in front of everything. Which is very disappointing, since this is diluting the meaning of some fascinating technologies.
At Imaginuity, we make extensive use of the Amazon flavor of cloud computer: Elastic Cloud Compute (EC2). It surprises many people that a company known for selling books has quietly become the leader in virtual hardware.
Cloud computing has been revolutionary for Imaginuity for several reasons, but the largest for us is ease of procurement. Since the hardware is virtual, spinning up a new instance is just a couple clicks of a button. In the bad old days, purchasing hardware involved getting bids (one set for storage, another set for networking, a third for servers, etc.). Vendors had to “differentiate” their products to compete, so comparing a Dell config to an HP config was nearly impossible.
The downside to this is, of course, choice. Creating a cluster of servers on EC2 is like building a LEGO model. All the pieces fit together, but the sizes and features of all the pieces are fixed. If you want a load balancer on EC2, you use an elastic load balancer (ELB) with all the limitations that go along with it.
Want to put a server behind multiple load balancers? You’re out of luck on EC2.
A corollary to easing procurement is only paying for what we use. At Imaginuity we frequently spin up servers to support time-sensitive landing pages, microsites or promotions. With a traditional approach, we would have to have unused servers sitting dark, ready to turn on at any time. During the dark time, Imaginuity and our clients would still have had to pay for the physical server, power, co-location, etc.
With EC2, Amazon has taken on that cost and amortized it over thousands of instances. This is why I’m not feeling bad for the hardware vendors — even large companies such as Foursquare, Netflix and others — move to virtual servers.
Obviously, there are physical servers running all these instances somewhere and Amazon is paying big bucks to Dell, EMC, IBM and a slew of other vendors to keep everything running smoothly.
To keep in front of demand, Amazon is constantly adding capacity through physical servers and additional storage. Generally, those purchases aren’t for budget systems either, but the high end machinery that vendors make higher margins on.
As cloud computing abstracts us away from physical hardware, I think the next big thing will be in abstracting away the virtual hardware. Heroku has been doing this for years with great success for Ruby on Rails. That system has been tuned to run a very specific platform or class of code, and all system administration is handled.
Amazon has taken this a step further and created a marketplace for these platforms. From the AWS Marketplace, users can purchase a pre-built instance to run everything from WordPress to SAP. Prices are incremental over the instance costs, plus a monthly fee for the vendor to maintain the instance.
Our bottom line on cloud computing: more flexibility for us and our clients, less hardware headaches and capacity on demand. It makes business — and technology — sense.