Cloud computing is a popular term that describes a broad range of services. As Cloud computing is rapidly evolving, it is important to understand the different components of cloud computing and how to choose the right level of cloud solutions to your unique needs.
There are 3 fundamental service models of cloud computing: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
Infrastructure as a Service (IaaS) is the most basic of the three cloud service models.
The service provider creates the infrastructure, which becomes a self-service platform for the user for accessing, monitoring, and managing remote data center services. The benefit to IaaS is that the user does not have to invest large amounts into infrastructure and ongoing upgrades and service, while retaining operational flexibility. The down side is that this model requires the user to have a higher degree of technical knowledge. Amazon Web Service (AWS) currently dominates IaaS cloud solutions and Windows Azure is a cloud network with global reach that offers IaaS options. Look for OpenStack to become the future in IaaS and cloud computing management.
Platform as a Service (PaaS) provides an additional level of service to the user beyond the IaaS model.
In this model, the provider not only builds the infrastructure, but also provides monitoring and maintenance services for the user. Users of PaaS cloud services have access to “middleware” to assist with application development. PaaS solutions also include inherent characteristics including scalability, high availability, multi-tenancy, SaaS enabling, and other features. This allows the user to focus on what is most important to their business, their application(s). Windows Azure, for example, is an IaaS and PaaS in one cloud service, which gives you more control. It supports .NET, Node.js, PHP, Python, Java and Ruby. Developers can also use Visual Studio for creating and deploying applications.
Software as a Service (SaaS) represents the largest cloud computing market.
SaaS takes the final step of bringing the actual software application into the set of functions managed by the provider, with the user having a client interface. The application resides in the cloud itself, so most SaaS applications may be operated through a web browser without the need to install resident software on individual appliances. This allows businesses to develop software and operational requirements, but to have them written and fulfilled by a third party vendor. SaaS operates in a highly structured model and does not provide the broad flexibility of software development options available in the PaaS model. Best examples include Microsoft Office 365, Citrix GoToMeeting, Salesforce, etc…