Images of white fluffy clouds were conjoured that promised ubiqutous commodity computing infrastructure. A landscape where application developers or deployers could place the application without concern for infrastructure architecture and it would run automagically without need for common production operational considerations.
Even the most faithful supporter of Cloud Computing will recognize that it is a much over hyped term. I have blogged a few times about my belief that cloud has reached the downward slope towards the trough of disallusionment.
What are some of the events that have contributed to the collision of marketing a reality ?
Cloud is growing upAmazon still defines the leading edge of the public infrastructure as a service cloud computing market. As the leader, it features prominently in the diary of a maturing cloud market.
In the last couple of years the Amazon web services catalog has grown in response to a broader range of customer needs. More choices on types of infrastructure to run; high memory instances, high CPU instances, GPU instances and cluster instances. Layered on that is the persistence of the servers by considering reserve, on-demand and spot instances at different rates. The complexity of the architecture was slowing being revealed and the challenges of trying to make the infrastructure transparent to an application became more obvious.
In more recent times we started seeing variable pricing across different regions, which gave indication that the economics of infrastructure were not necessarily global and transparent. Not just between different countries, but also between east and west coast US.
The issue of legal jurisdiction was raised when a certain confidential documents wiki site ran into some problems maintaining a production service. You still need to consider the law of the land when you choose to host in different jurisdications. Cloud was lowering the technical barrier and cost, but not the policy and process issue.
More and more features started to populate the catalog, Elastic IP’s, VPN, ELB, beanstalk, Cloud Formation and more to come, each requiring a decision and capability to implement.
The came April 21, the most widely reported outage of Amazon Web Services (AWS). The twitterverse, clouderati and blogosphere were rampant with discussions on how to architect applications on AWS to provide maximum availability. The failure itself was not a bad thing, what it highlighted was to be in the cloud, you need to engage in infrastructure architecture.
In June, Zynga released the detailed of its zCloud private cloud stack which gave clear indication that they believe they could more efficiently run a cloud architecture in-house than on the Amazon’s public cloud. Although this may be part of the transition, they still indicate they will run new games off AWS until they become more predictable. This move is supported by SalesForce.COM’s who in 2009 said that for well-known workloads, you can optimize the infrastructure architecture to obtain high efficiencies (55K customers, 1.5M users).
A New RealitySo what has not changed? Cloud infrastructure as a service is still multi-tenant, elastic compute capability with a pay as you use model. It has the capability to deliver rapid scalability, ubiquitous network access and tools to measure and meter use. It has incredible potential in both private and public forms to create real value if you take the right approach to identifying the benefits.
What cloud does not do;
- outsource your need to design for infrastructure for scalability, reliability, and many other “….ilities”
- provide a solution for all types of applications and data sets
- completely automate your deployment and operations processes
- provide guaranteed cost efficiencies for all workloads
What about Platform as a Service (PaaS) ?
Not really the right time to cover PaaS in this blog post. Maybe because of the lifting fog, PaaS has moved to the center of the marketing spotlight. CloudFoundry from VMWare has been rapidly expandings its language support, RedHat, and Microsoft all have viable entries in the market. It offers another level of abstraction from infrastructure and therefore has the potenital to eliminate infrastructure architecture and production operations to even a greater extent. At some point a leader will emerge that has a significant code base with a large user population. Until then whether PaaS can be architected to eliminate abstract availability, scalability, reliability and the other ‘ilities’ is unknown.
* I have written this in the context of cloud computing being defined as public infrastructure as a service cloud
Contributed by: Brad Vaughan