When talking to people about ‘The Cloud’ and ‘SaaS’ I have found that the terms are often either not fully understood, or used interchangeably (me included !), or both. There are also a few associated terms that are used as well. So I thought a discussion of this space would be useful.
So what is ‘The Cloud’?
‘The Cloud’ as defined by Wikipedia is: “the provision of computational resources on demand via a computer network. Historically, the term ‘The Cloud’ is used as a metaphor for the Internet.
Cloud computing can be compared to the supply of electricity and gas, or the provision of telephone, television and postal services. All of these services are presented to the users in a simple way that is easy to understand without the users needing to know how the services are provided. Similarly, cloud computing offers computer application developers and users an abstract view of services that simplifies and ignores much of the details and inner workings. A provider’s offering of abstracted Internet services is often called ‘The Cloud’.
Figure 1: ‘The Cloud’
So… in simple terms ‘The Cloud’ is the Internet.
The Cloud is generally thought to be composed of three service models and four deployment models.
Cloud Service Models
Cloud Software as a Service (SaaS) delivers software as a service over the internet, eliminating the need to install and run the application on the customer’s own computers and thus simplifying maintenance and support. Examples include SalesForce.Com, Google’s Gmail, Google Docs and Zoho Office. In each scenario, application and data are stored remotely and delivered over the Internet through a web browser. Customers generally pay on a per-user subscription model. N.B. People tend to use ‘SaaS’ and ‘Cloud’ interchangeably but they are two different things…. SaaS is one of the three Cloud Service Models.
Cloud Platform as a Service (PaaS) delivers a platform or solution stack. It is often consuming cloud ‘infrastructure’ and sustaining cloud ‘applications’. Examples include Amazon Web Services, Heroku, Salesforce’s Force.com and Google’s AppEngine.
Cloud Infrastructure as a Service (IaaS) delivers computer infrastructure. Rather than organisations purchasing servers, network devices and disk space, clients instead buy resources. Costs are typically billed base on consumption levels. Examples include Amazon’s EC2, Sun Cloud and Rackspace Cloud.
We’ve clarified what ‘The Cloud’ is and have an understanding of the architectural levels (services) making up the ‘The Cloud’. Now let’s have a look at the four ways in which Cloud computing can be deployed.
Cloud Deployment Models
1) Public Cloud – whatis.com defines the public cloud as ‘one based on the standard cloud computing model, in which a service provider makes resources, such as applications and storage, available to the general public over the Internet. Public cloud services may be free or offered on a pay-per-usage model. Examples of public clouds include Amazon Elastic Compute Cloud (EC2), Sun Cloud, Google AppEngine and Windows Azure Services Platform.’
2) Private Cloud – A private cloud is a privately-owned setup that users cloud computing technologies, such as virtualization. It is managed by the organization IT services. While public clouds are typically “out there” on the Internet and private clouds are typically located on premise, a private cloud can be hosted at an off-site facility.
3) Hybrid – Hybrid clouds combine both public and private cloud models. The public component can help supplement a private cloud in times of rapid workload variations, particularly for scheduled workload spikes.
4) Community Cloud – This is when several organisations decide to share infrastructure. It can spread costs compared to private clouds and access is restricted to only members of the community. An example of this is Google’s GovCloud in the USA, which aims to provide systems that are compliant with government regulations – including ensuring data remains in the USA and that the service will be operated by technicians with appropriate security clearances.
Figure 2: Cloud Computing Types
Some companies/organisations are adopting Cloud solutions with great gusto (so they can concentrate on their core business), but others are taking their time, or deciding not to, for particular reasons. It would be really interesting to know 1) if your company has taken up ‘The Cloud’; what sort of service and using which type of deployment model/s 2) if you haven’t yet – what factors are preventing uptake?