There are many viewpoints of the Cloud, which is why I believe there is so much confusion in the idea of what a Cloud is and how a Cloud is used. I have seen discussions take place over what is Cloud hardware, software, operations, services, the PaaS, IaaS, SaaS debate, and others. This has led me to look for the reason of this confusion and I think that I have observed at least one critical contributor, viewpoints.
What is so unique and valuable about the Cloud is also what makes it so confusing and difficult to describe. Much like the group of people I work with inside of Dell, diverse backgrounds make for very different viewpoints on things and this couldn’t be more true than when it comes to the Cloud. Let’s look at a few of the different viewpoints that exist today around Cloud:
The Virtualization Administrator – this is the person that is managing the VMware ESX / vSphere or other virtualized environment today. He/She sees the world as a set of resources or resource pools with VMs consuming those resources and applications running in or on those VMs. This translates to the Cloud being a set of dynamic resources that can be controlled and used in a similar fashion.
The Operations Administrator (which may be a Virtual Admin as well) – sees things in terms of provisioned (or templated/cloned) systems that need to be maintained. Maintenance being backups, performance/response time, security/OS/Application updates and patches, and the like. This becomes a set of capabilities provided by different platforms and tools in the cloud where the Ops Admin becomes more focused on rules around the application an not the systems that they previously focused on.
The Enterprise Application Developer – Is the traditional Developer inside of an organization that does custom development for internally written applications, integration of those applications with internal and external data and system, and customization of applications that are provided by ISVs for consumption inside the enterprise. These applications are commonly running on traditional/classic 3 tier architectures, this group leverages larger more mature frameworks and platforms (such as .Net, Java/Tomcat, MS SQL, and Oracle). They view things as APIs, DB Queries, Clients and Servers that support the classic 3 Tier Architecture.
The Web Developer – This is the person that creates the web based components and integrations for environments. These can range from building the latest web application for consumption by the public, integrations with social media applications such as Twitter and Facebook, or an intranet portal that integrates with back-end Enterprise systems. They see things in terms of APIs based on interaction with services on the web to consume, data to interact with, and Web driven UIs to render in browsers additionally doing MVC based development.
The IT Director and CIO – Looks at things in terms of Cost and Delivery to their customers. These customers could be internal Enterprise Users, Customers of the Company, or both. Viewing the world as Service Level Agreements, Costs of Operations, Cost of Development, Cost of Maintenance, and Capital Expenditures.
It should be noted that there are other viewpoints as well and based on feedback, I would be glad to add additional views or modify the roles and viewpoints listed where appropriate.
With all of the Cloud Viewpoints and multiple definitions of XaaS (IaaS, PaaS, SaaS) there should not be a surprise that there is a lot of Cloud Confusion out there. So how do we summarize the viewpoints? I think the easiest way is by separating things into 3 defining summary views – Systems and Resources, Services and APIs, Usage and Costs. Below is a table that shows how each of the summary views aligns with the generalized categories of XaaS.
These Cloud Viewpoints hopefully will allow for a common ground for discussion around Cloud specific implementations, ideas, and eliminate some of the Cloud Confusion. With this new approach, it becomes interesting to define all of the XaaS solutions with this new view of things.
In my next post I will define IaaS, PaaS, and SaaS in a way that breaks the current layer or “stack” view that most people seem to have and create a more accurate picture into how things in the Cloud actually operate now and in the future.