Cloud Cover
September 18th, 2008 – Erik Carlin
Since I haven’t blogged here before, let me introduce myself. My name is Erik Carlin and I’m a senior architect here in RackLabs. My current focus is, of course, “cloud” initiatives. Cloud is certainly the rage these days, and as with all new disruptive technologies, it will take some time for the industry to agree on exactly what that means. I’d like to take this post to share our thoughts on defining the cloud. This is long overdue and isn’t revolutionary, but it’s important and lays the foundation for additional posts I’d like to write that get into more of our current thinking.
As we were developing our cloud strategy, it was important to create a framework for understanding the different types of clouds we could build. We came up with the following taxonomy:
Application Clouds (SaaS)
If you’re an aaS kind of person, this is really just Software as a Service repackaged in cloud terminology. Application clouds are the highest level cloud in that the underlying infrastructure and platform are completely abstracted away. Application cloud users simply consume the application. Is it running on Dell hardware? What kind of load balancer is in use? Is the platform Windows or Linux? What is the DB shard strategy? What about geoavailability? Users don’t know nor should they care. The responsibility for architecture, repair, upgrades, scalability, etc. is all on the application cloud provider. That’s great since the consumer can simply benefit from the application without all the traditional worries and cost of availability, growth, etc. This is particularly powerful for non-differentiating “dial tone” services like e-mail, CRM, etc. that all businesses require. Application clouds are thus the simplest to use from a user perspective, but as a result, offer the least amount of control.
In summary, application clouds have the following characteristics:
Ease of Use: Low Complexity
Flexibility: Minimal Control
Typical Consumers: End Users
Examples: Salesforce.com, TurboTax Online, Microsoft Online Services, MailTrust
Platform Clouds (PaaS)
Also known as Platform as a Service, platform clouds are one level down from application clouds in the cloud stack. I like Marc Andreessen’s definition of a platform as “a system that can be programmed and therefore customized by outside developers — users — and in that way, adapted to countless needs and niches that the platform’s original developers could not have possibly contemplated, much less had time to accommodate.” A platform is, as in the physical sense, something people build on top of. Platform clouds offer a scalable, Internet-based platform that developers can innovate on top of. Here, the complexity for the consumer is a bit higher, but so is the power and control. The limitations are reduced, but not eliminated. Let’s look at some examples. Rackspace/Mosso offers the Hosting Cloud, which is a dynamically scalable platform cloud designed specifically for web sites. Developers can innovate and build all different kinds of applications on top of the Hosting Cloud (so it’s more flexible than an application cloud), however, there are certain limitations. The Hosting Cloud supports many standard web technologies like PHP, ASP, Ruby, MySQL, MS SQL, Python, etc. But, if you prefer a technology not (yet) supported, you’ll need to find another platform cloud or go lower down in the cloud stack. Google App Engine is also a platform cloud. It allows developers to innovate on top, but likewise has constraints. It currently only supports Python and uses Google’s proprietary BigTable for persistent storage. Platform clouds are thus more powerful and complex than application clouds, but still have constraints that may limit their use.
In summary, platform clouds have the following characteristics:
Ease of Use: Medium Complexity
Flexibility: Medium Control
Typical Consumers: Developers
Examples: Rackspace/Mosso Hosting Cloud, Google App Engine, Force.com
Infrastructure Clouds (IaaS)
Lowest down in the stack are infrastructure clouds aka Infrastructure as a Service. Here, the raw constituent parts are provided and consumers can combine them in whatever ways they want. The parts can consist of any number of infrastructure components, including storage, compute, DB, queuing, etc. The consumer has the most control and flexibility with infrastructure clouds, but they are also the most complex to use (hence companies like RightScale exist). It’s important to note that infrastructure clouds may still have constraints (e.g. EC2 currently only supports Linux VMs), but leveraging multiple infrastructure clouds and having access to the raw infrastructure components allows many of these to be creatively overcome.
In summary, infrastructure clouds have the following characteristics:
Ease of Use: High Complexity
Flexibility: Maximum Control
Typical Consumers: Developers, Administrators
Examples: EC2, S3, Microsoft SSDS, Rackspace/Mosso CloudFS, FlexiScale, GoGrid
We shared this classification paradigm with RightScale who blogged about it here. Subsequently, GoGrid and others have embraced this definition as well. Michael Sheehan at GoGrid has created a Cloud Pyramid which I think does a good job at graphically representing these concepts. So, this taxonomy is starting to get some traction. What do you think?
With this as a foundation, I’d like to talk in the next post about a specific taxonomy for compute clouds.
Entry Filed under: Cloud Computing
Comments
3 Comments Add your own
2. Tom… – March 9th, 2009 at 10:39 am
Hey Eric..
Good overview info. but one HUGE benefit that I see our “IaaS” (as you describe) that I don’t hear a lot about is the built in redundancy and performance boost of the Limelight CDN in the Rackspace CloudFS offering! Besides Rackspace’s redundant backbone provider links into each DC, wouldn’t the cloudFS’s CDN feature keep outages like those recently experienced by S3 from affecting Rackspace customers using cloudFS?
Tom
3. Janny… – November 19th, 2009 at 4:16 pm
Hallo Eric..
Good info.The concept will probably grow over time as I’m sure you will know.
Jann
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
Trackback this post – Subscribe to the comments via RSS Feed
1. Michael Sheehan… – September 18th, 2008 at 4:25 pm
Erik,
Welcome to the “Cloud” blogosphere and thanks for the call out on the “cloud pyramid” concept. In case you are interested, I built it out a bit further in this presentation.
The concept will probably grow over time as I’m sure you will know.
Good article!
-Michael