Cloud Service Models
Cloud services models define the type of service the cloud provides to users.
Infrastructure as a Service (IaaS)
The Infrastructure as a Service cloud services model provides access to collections of virtualized hardware resources, including compute, network, and storage. Users assemble their own cloud services virtual cluster on which they are responsible for installing, maintaining, and executing their own cloud services software stack. The most popular example is Amazon Web Services (AWS) in the form of public cloud IaaS.
With IaaS, users can self-provision raw compute resources that are typically virtual machines, including CPU, memory, storage, and network resources as well as the operating system. The IaaS user manages and controls all these cloud service components except the underlying hardware and network resources.
Platform as a Service (PaaS)
Platform as a Service style clouds provide access to a programming or runtime environment with scalable compute and data structures embedded in it. With PaaS, users develop and execute their own cloud services applications within an environment offered by the cloud service provider. Popular examples include Microsoft Azure and Google App Engine.
With PaaS, a software development environment is delivered to users with software development tools and the necessary CPU, memory, storage, and network resources. Users are limited to the languages and tools provided by the PaaS provider and application portability is not guaranteed.
Software as a Service (SaaS)
Software as a Service style clouds deliver access to collections of software application programs. SaaS providers offer users access to specific application programs controlled and executed on the provider's infrastructure. Popular examples include Salesforce, DropBox, and Workday.
With SaaS, users have no control of the application infrastructure and do not have complete application management or control. The SaaS provider maintains the cloud service application and user data as well as provides the storage and/or backup. SaaS is a simple and quick way to implement cloud services applications.