Classification of Cloud Computing Stakeholders

By Markus Klems

Update: The diagrams in this post are out-dated. Please click here to find the new versions.

The Onion

In an attempt to better understand the nature of cloud computing I tried to draw a classification of some companies and applications that spawn in the cloud.

Three different cloud computing levels

Three different cloud computing levels

Infrastructure

The heart of the cloud is what some people call Infrastructure as a Service (IaaS). This is as near to bare metal as we can get: pure storage and compute capacity. With virtualization techniques it is packaged into small units that are delivered like water or electricity (notion of utility computing).

Infrastructure as a Service

Infrastructure as a Service

Platforms

The next layer is Platform as a Service (PaaS). Here we find more complex platforms, such as Google App Engine or Salesforce.com AppExchange. Marc Andreessen, who coined the phrase “Web as Platform”, once wrote: “[a] platform is 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. [...] If you can program it, then it’s a platform. If you can’t, then it’s not.” (Source)

Platform as a Service

Platform as a Service

Although I would not consider Amazon EC2 or S3 to be a platform but rather IaaS, the elastic infrastructure provided by Amazon has enabled third-party developers to build platforms on top of it. I asked myself where in my diagram to put the other Amazon Web services (FPS, DevPay, etc.) but haven’t come up with a plausible place, yet. It should probably be somewhere between IaaS and PaaS.

Apps & Services

The outer layer of my onion is formed by all the applications and services that are built on top of either IaaS or PaaS. I am not satisfied with the outer layer. I feel that it needs further categorization, such as grouping by types of applications, e.g. Social Network Apps, Backup Services, and so on.

Cloud Applications and Services

Cloud Applications and Services

API

Each layer has a different set of APIs. Near to the core, developers have standard Web technologies and protocols to access and use the cloud. Further away from the core, levels of abstraction are added, making APIs more vendor-specific. On the application & service layer, we find a mix of standardized and less standardized APIs.

Cloud APIs

Cloud APIs

Suggestions?

I want to improve and extend my diagrams and find a more proper categorization of cloud vendors and services that sit on top of the cloud. What are your ideas and comments on this one? And another thing is: Would you consider firms that use IaaS, like Mosso and cohesiveFT, as PaaS vendors? How are they different from, say Joyent or flexiscale?

(A very good and comprehensive list of cloud vendors can be found on John Willis’ blog)

14 Responses to “Classification of Cloud Computing Stakeholders”

  1. botchagalupe Says:

    Best diagrams I have seen to date.

    Here are some suggestions…

    On the IaaS you might want to figure a way to add open source infrastructure like Eucalyptus also I thing Scalr is more like an open source version of Rightscale for IaaS vs in the PaaS diagram.

    Also on IaaS CohesiveFt should somehow be different from Rightscale, Elastra, and Enomaly.

    On PaaS some of the Ruby apps players like Heroku and MorphExchange

    johnmwillis.com

  2. Classification of Cloud Computing Stakeholders | IT Management and Cloud Blog Says:

    [...] Classification of Cloud Computing Stakeholders [...]

  3. Yogish Pai Says:

    I like the diagram and just like SOA is now having new 3 letter acronyms like WOA, POA, etc. – looks like the same is happening to SaaS (not that I disagree). I am not much of an expert on IaaS but from a platform perspective – I believe that there needs to a single meta-driven platform (OS) that runs everywhere with the option of turning on-off a utility (capability) such as workflow or transformation and so on. I have blogged about this at http://entarch.blogspot.com/2008/04/introduction-to-services-oriented.html.

    I did also just blogger earlier today on the topic of “SaaS Requirements for Large Enterprise” at http://entarch.blogspot.com/2008/07/saas-requirements-for-large-enterprises.html.

    Just my thoughts and am glad I found this blog on twitter :).

    - Yogish

  4. Kevin L. Jackson Says:

    Your classification is very close to the way I see it. When asked I first describe three layers:

    Layer 1 – Hardware virtualization – This is the “bare metal” layer of storage and CPU virtualization

    Layer 2 – Application virtualization – This is when you use web services or API to provide a specific function or capability.

    Layer 3 – Process virtualization – This is when you string web services and APIs together to deliver value (function or capability) to an end user

    The various terms are then used to describe how these layers are put together:

    Layer 1 is grid computing, utility computing or IaaS. What you call it is a function of the business model used to deliver the capability

    Layer 1 delivered with layer 2 is PaaS. A developer uses the platform services or APIs to create value for an end user

    Layer 1 delivered with a single application is SaaS

    When Layer 2 and Layer 3 are designed with web services and layered on top of a hardware infrastructure (virtualized or not), you have a Service Oriented Architecture

    Layer 1, 2 and 3 delivered with services and/or APIs already organized in workflows and delivering value to an end user is Cloud Computing.

  5. jcmmartin Says:

    I like very much your graph. It is very easy to understand “as a service” from this point of view and very graphical. Congratulations.
    I have a directory paas and iaas which it can help you to clasify other more paas and iaas product. http://directorio-paas.buensitio.info.

  6. jcmmartin Says:

    Hi,
    Markus, Can I use your idea and graph in order to use it in my blog?
    I only tranlate from English to Spanish and I will put a reference to this link page.
    Thank you.
    Best Regards

  7. Markus Klems Says:

    Jose,
    you can use the material from my blog, no problem. Thank you for your interest. I am looking forward to a Spanish version of my post :)
    Cheers
    Markus

  8. People Over Process » links for 2008-07-18 Says:

    [...] Classification of Cloud Computing Stakeholders « Cloudy Times (tags: via:botchagalupe cloud diagrams paas) [...]

  9. Los 3 niveles del “Cloud Computing” « Software como servicio - SaaS Says:

    [...] nuevo mundo “as a service”. De todos ellos, me ha llamado la atención especialmente este que a continuación os traduzco con el permiso del autor ( Thank Markus), que explica gráficamente, [...]

  10. friarminor Says:

    Hi Markus!

    You may want to check Mor.ph. They have the Morph Appspace for both Java and Rails and utilises Amazon Web Services for their platforms services.

    Thanks to John for pointing out MorphExchange, too which wold now become the SaaS component for web applications.

    Best.
    alain

  11. Cloud = Web? « Cloudy Times Says:

    [...] my first classification pictures I had the core of the cloud named “Infrastructure as a Service”. I do not like the *aaS [...]

  12. Sebastian Melgin Says:

    Hi Markus.

    Your blog is more have all the power. I’m new in the cloud world (like everyone … I supose) and that kind of themes and I think your articles can reach more people if they can be translated …
    For that, I request you to translate (as a proof) the article above to spanish and publish a spanish version in http://www.8dias.com, a non profit web site dedicated to spanish IT community with readers in all latinamerica and spain. We promote your blog from 8dias and of course, make citation about you and a link to your blog. We have more than 100,000 hits per week and I supose that can be other way to promote your blog…

    Best Regards.
    Sebastian Melgin.
    8dias.com

  13. Ryan McDermott Says:

    Hi Markus,

    I really like using the onion as a representation of the varying levels of cloud computing. It takes what is such a complex layering of products and services and simplifies it. I noticed that in your IaaS diagram you included quite a few of the vendors but did not list Terremark. I would encourage you to take a look at the enterprise cloud offering, which you can see at http://www.theenterprisecloud.com. Terremark has built a platform that is already being used by enterprise clients.

    Sincerely,
    Ryan McDermott

  14. Paul Laskin Says:

    Markus,

    Great visual view of the 3 layered cloud universe. I’ve been using a similar structure: IaaS, PaaS and SaaS. My view of IaaS is similar to yours. Where I differ slightly is in the definition of the next 2 layers. Above IaaS, sits PaaS a layer upon which one can build and deliver solutions. There are two general types of users here – builders and consumers. Examples include Google App Engine for Python, Heroku for Ruby apps, etc.. The final layer is software as a service. Here sits all the great apps (salesforce.com, liquidplanner) and even those apps that are built and delivered through PaaS.

    Of course, nothing is clear cut and the solutions mapped to these layers frequently cross boundaries. Salesforce.com has their developer environment sticking into the PaaS layer for example.

    Cheers,

    -Paul Laskin

Leave a Reply