Picture
A few weeks back, in the second post of this series, we talked about the difference between cloud computing and cloud services.  Specifically:

1)  Cloud services – Consumer and business products, services and solutions that are delivered and consumed in real-time over the internet.  The key word used around cloud services is Software as a Service (SaaS).

2)  Cloud computing - The IT environment that enables the development, delivery and consumption of cloud services.  The key words used around cloud computing are Platform as a Service (PaaS) and Infrastructure as a Service (IaaS).

Most people are familiar with SaaS, whether they use it as consumers – Facebook, Twitter, iCloud – or as employees – Salesforce’s CRM, Citrix GoToMeeting, Google Docs.  The provider manages every part of the infrastructure, from the servers to the OS to the data and the application.  You, as an end-user or a company, can access the service without worrying about how anything works.

The concepts involved in cloud computing are less well understood since many of us have not been directly exposed to them.  For this reason, we will devote this blog to discussing PaaS and IaaS in more detail.

IaaS – Infrastructure as a Service

In this case, the vendor manages all the hardware aspects of the system.  The provider will source and maintain servers, storage and network, while providing and managing the virtualization software that separate the physical drives from the virtual machine you are running, which is required to create a true cloud infrastructure.  The user will be charged on a ‘pay as you use’ basis with the user having total freedom in deciding the OS, middleware and software he wants to run on the provided infrastructure. 

Typical examples of services provided as part of IaaS are replication, backup and archiving, powerful computers and network load balancing and firewalls.  Examples of IaaS providers are Amazon EC2, Microsoft, Rackspace, VMWare and Citrix. 

PaaS – Platform as a Service

PaaS is somewhere in between IaaS and Saas.  It is not a finished product that can be directly accessed by end-users but it also not a tabula rasa where anything can be built.  In this case, the PaaS vendor provides IaaS capabilities as well as the OS, middleware and runtime software.

PaaS provides a platform to develop and deploy applications while it frees you from selecting, managing and upgrading lower layers of software. The flip side is that you are developing software specific to a certain platform that you do not control, making it

Although PaaS will allow you faster development times and therefore faster time-to-market, the flip side is that the provider controls a larger piece of your hardware and software environment, potentially making you more dependent on them and harder to migrate to a different vendor.  For example, if the standard runtime or middleware environments have been customized by the provider in any way, any calls included in your software that take advantage of those customizations will need to be changed if a migration takes place.

SPI Model

Together, SaaS, PaaS and IaaS, the most common cloud computing service models, form the SPI model

Below is a chart showing simplified explanations for the three main layers of cloud computing that will help you visualize the differences.





XaaS – Anything as a Service


Although the SPI model is the best known and most commonly used model in cloud computing, there are also other emerging services that are slowly becoming part of the cloud jigsaw.  Examples are:

1)  MaaS – Monitoring as a Service:  Monitoring of infrastructure and applications to proactively improve efficiency and reduce downtime risks, has always been important for businesses.  MaaS provides the option to offload a large majority of these costs by having it run as a service as opposed to a fully invested in-house tool.  Other advantages include easy setup and purchasing process.

2)  CaaS – Communication as a Service:  It enables the user to utilize enterprise level VoIP, VPN, PBX and Unified Communications without investing in the purchase, hosting and managing of the infrastructure.  

After discussing, in previous posts, the different types of clouds - public, private and hybrid - and now, in some detail, the different flavors of cloud services and cloud computing, we are ready to move to the last posts to discuss how to analyze financial benefits and how to negotiate a cloud services contract.  

References:
1)  The Ultimate Guide to Cloud Computing - MagBook, Cloud Pro - www.magbooks.com - @DennisMagBooks
2)  IDC Blog 
3) Wikipedia
4) PC Mag series of articles titled 'What is Cloud Computing?'