There is a lot of confusion in the industry when it comes to the cloud, while different terms like Platform as a Service, Infrastructure as a Service, and Software as a Service are also adding to the confusion. Cloud computing provides on-demand access to computing resources— infrastructure, applications, and data storage. This is the most commonly used taxonomy for differentiating between types of cloud services. The industry has defined three categories of services:
• IaaS – a set of infrastructure level capabilities such as an operating system, network connectivity, etc. that are delivered as pay for use services and can be used to host applications.
• PaaS – higher level sets of functionality that are delivered as consumable services for developers who are building applications. PaaS is about abstracting developers from the underlying infrastructure to enable applications to quickly be composed.
• SaaS – applications that are delivered using a service delivery model where organizations can simply consume and use the application. Typically an organization would pay for the use of the application or the application could be monetized through ad revenue.
It is important to note that these 3 types of services may exist independently of one another or combined with one another. Along with these, we also have packaged software that helps a customer in managing the entire stack – ranging from the network connectivity to the applications.
• With Infrastructure as a Service, the lower levels of the stack are managed by a vendor. Some of these components can be provided by traditional hosts – in fact most of them have moved to having a virtualized offering.
• Very few actually provide an OS
• The customer is still responsible for managing the OS through the Applications.
• For the developer, an obvious benefit with IaaS is that it frees the developer from many concerns when provisioning physical or virtual machines.
• This was one of the earliest and primary use cases for Amazon Web Services Elastic Cloud Compute (EC2).
• Developers were able to readily provision virtual machines (AMIs) on EC2, develop and test solutions and, often, run the results ‘in production’.
• The only requirement was a credit card to pay for the services.
• With Platform as a Service, everything from the network connectivity through the runtime is provided and managed by the platform vendor.
• The Microsoft Azure best fits in this category today.
• In fact because we don’t provide access to the underlying virtualization or operating system today, we’re often referred to as not providing IaaS.
• PaaS offerings further reduce the developer burden by additionally supporting the platform runtime and related application services.
• With PaaS, the developer can, almost immediately, begin creating the business logic for an application.
• Potentially, the increases in productivity are considerable and, because the hardware and operational aspects of the cloud platform are also managed by the cloud platform provider, applications can quickly be taken from an idea to reality very quickly.
•Finally, with SaaS, a vendor provides the application and abstracts you from all of the underlying components.