Cloud computing is one of the new buzz words of the tech industry. Everyone is jumping on the bandwagon. The adoption of virtualization in the Enterprise has led to the rise of Cloud. Cloud has even gone mainstream with Microsoft’s “To the Cloud” add campaign.
I became interested in Cloud when I worked at a SaaS company. At the time we had to graft three different environments together due to acquisition. I started to think of a better way to standardize on an application server, Operating System and platform. In effect we were dealing with a 3x3x3x3x3x3x3 syndrome. We had 3 different web servers, 3 application servers, 3 operating systems, 3 database platforms, 3 SAN’s, 3 networks and 3 sets of hardware. It was painful.
I stumbled upon the blog of Don MacAskill from a service called SmugMug (http://www.smugmug.com) He wrote about his version of SkyNet to elastically extend his environment to Amazon AWS. Needless to say it was a turning point, sort of like when I heard Led Zeppelin I for the first time.
A Short History
Virtualization is not new technology. In fact, it has its roots in Mainframes. The tech industry is a circular beast. Central computing with dumb terminals gave way to distributed computing, client/server, and now a hybrid where data can be found on multiple hubs, and a combination of smart and dumb spokes. The industry also realized that running a data center is not an easy task. Running multiple data centers incurs huge expense. Thus, the rise of co-location. Business realized it could be a cheaper proposition to pay someone else to do some of the dirty work (space, power, cooling, physically security), all the way up to a managed service.
Business then realized it was still booking Capital Expense (CapEx) and Operational Expense (OpEx) in the dealing with co-lo. Servers are not being used as much as expected. When growth hit unexpectedly, giant road blocks presented themselves in both acquiring gear fast enough, but finding space, and still staying within the original co-lo agreement.
Virtualization nudges itself in to the equation because people realized that everything shouldn’t be focused on the application and an infrastructure that is a) expensive and b) underutilized. If you want to focus solely on your application stack, you can now do that. If you don’t want to go through CapEx to buy infrastructure, you can easily lease CPU time, in effect, from the cloud.
So now you may ask yourself “what is cloud computing?” Good question. A good answer: It all depends on who you ask.
I’ll give you my opinion on the state of Cloud.
Public: The cloud is hosted by a third-party, somewhere on the Internet.
Private: The cloud is hosted inside the firewalls of the business.
Hybrid: A grafting of resources from Public and Private clouds, used to augment the infrastructure. In short, if Public and Private are two circles in a venn diagram, their intersection is Hybrid.
Saas: It could be argued that Software as a Service (SaaS) was the first of the new generation of infrastructure that begat cloud. A person or business consumes a resource that is hosted, and possibly sold, by a third-party. Twitter and Facebook and World of Warcraft all fall in to this category. The SaaS provider usually built their own web, application and database servers, storage and network. Most likely at great cost. The environment may have been self-hosted, or in a co-lo.
IaaS: I believe technology developed by VMware has led to Infrastructure as a Service (IaaS). I know IBM, Sun and HP have been doing virtualization for years, but only on high-end gear. VMware was the mainstream player that rammed it down everyone’s throats. Turning cheap x86 based servers in to powerhouses. Servers went from scale out, to scale up/scale out configurations. We need bigger, but less. Short provision cycles, and chargeback models all help to turn IaaS in to a business generator, and less a budget black hole. Amazon AWS is probably the biggest player in Public Cloud IaaS.
PaaS: PaaS provides an infrastructure as a bundled stack, where infrastructure is abstracted and is presented as a consumable resource. It seems to me that VMware’s vCloud Director is going to allow business to provision the private cloud, and sell resources to its internal, and external customers.
AaaS: I count the App as a Service to be a power-play by vendors. They give application developers a fully abstracted platform, and expose certain pieces by API calls. The users and developers on top of this platform do not care at all how the plumbing works, only that it does. Google App Engine, Microsoft Azure and Salesforce are big players in this arena. VMware and Red Hat are making in-roads with their latest purchases.
The race to the cloud includes a tipping-point for business when consuming public-cloud resources becomes more expensive than building a private-cloud. There are always use-cases for all the current cloud types I have listed. Industry is trying to build partnerships to allow private cloud application stacks to migrate to public, and vice-versa. The technology is not ready as of the end of 2010, but by mid-2011 I do believe we will see the beginnings of true migration paths to create Hybrid clouds to create active-active infrastructure.
This blog post will be a living document as things change. Stay tuned!