Having discussed all the different facets that make up cloud computing, we now need to understand that there are various models for delivering cloud computing, each with benefits and challenges. The three different types of cloud computing solutions in common use today are:
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
As we can see from the preceding diagram, each option for cloud computing delivers the same components of a solution which historically would have been delivered from our own premises. However, as we move from infrastructure as a service to software as a service, our cloud solution provider becomes responsible for more of the solution.
Probably the best known Infrastructure as a Service (IaaS) solution available today is from Amazon with their EC2. Solutions exist from other providers, including Microsoft with the Azure VM role.
Each of these services provides us with a virtual machine running an operating system, often Windows Server, hosted in their data center. This means that we do not need to purchase hardware or the operating system, and only pay for the computing that we use. It is likely that we will not physically have a server in their data center, but it is more likely we will have a virtual machine or a slice of a physical server that delivers the power promised in the agreement.
We are responsible for managing that server in the form of security, patches, and software that is loaded onto it in the same way as if we had it physically installed on our premises.
The most complete Platform as a Service (PaaS) available in my opinion is Microsoft Azure which provides a development environment for organizations to create solutions that they can then use themselves or sell to customers. Microsoft has all the facets of cloud computing here and my day-to-day role involves helping Microsoft business partners adopt Azure.
There are other vendors who offer PaaS solutions that offer similar functionality, although my own personal experience is with Microsoft Azure. Wikipedia maintains links to some of them at http://en.wikipedia.org/wiki/Platform_as_a_service. The key thing is that there is a platform for developers to build upon to deliver a solution. The only thing these vendors have to worry about is writing their software as all aspects of running the platform they build upon is delivered for them, including the operating system and any database maintenance, system scalability, and hardware and network management.
The benefits here are that almost all of the start-up costs for infrastructure that a traditional services or software organizations would have are eliminated, as well as the ability to expand as rapidly as the solution is successful. Previously, a business had to predict their IT requirements for development and delivery of a solution and buy in advance, but not with PaaS.
The most complete cloud computing solution available today is called software as a service. These are finished goods that we can take advantage of in the same way as traditional software, except the whole service is managed by someone else.
Examples that we are familiar with include Hotmail, Salesforce.com, Office 365, and of course, Windows Intune. All of these are highly functional application that are consumed and configured over the Internet. Some offer software that can be installed to further increase the application's functionality or enable offline access to the data when we are not connected to the Internet.
As the consumer of the software, we do not need to worry about the scalability of the hardware, network, or application that is delivering the functionality as this is all managed for us, often as a service built on top of a PaaS solution which is often built on an IaaS platform, however this is not always the case.