Cloud Delivery Models

In this blogpost I will describe the three common cloud delivery models which is absolutely basic knowledge when it comes to cloud computing.

What is a cloud delivery model?

“A cloud delivery model represents a specific combination of IT resources offered by a cloud provider. This terminology is typically asociated with cloud computing and frequently used to describe a type of remote environment and the level of control.”

(source: Cloud School, Module 1 Fundamental Cloud Computing)

Infrastructure-as-a-Service (IaaS)
The IaaS delivery model provides a self-contained IT environment which can include (virtual) hardware, network, connectivity and other IT resources. More often these IT resources have typically been virtualized and packaged but not preconfigured. The cloud consumer is operationally responsible and has full administrative control over the cloud-based environment they intend to create.

An example of a commercialy available IaaS offering is Amazon EC2 (virtual server). This will enable cloud consumers to spin up a virtual server in minutes.

Infrastructure-as-a-Service (IaaS): A cloud consumer is using a virtual server within an IaaS environment. Cloud consumers are provided with a range of contractual guarantees by the cloud provider, pertaining to characteristics such as capacity, performance, and availability.
(source: whatiscloud.com)

Platform-as-a-Service (PaaS)
The PaaS delivery model provides a pre-defined (ready-made) cloud environment with already installed, deployed and configured IT resources. This cloud environment can be used to extend on-premise environments into the cloud for scalability and economic purposes or to entirely substitute an on-premise environment. The cloud consumer has only administrative control over the (ready-made) cloud environment, not over the underlying infrastructure (f.e. virtual server) nor IT resources (f.e. used database).

An example of a commercialy available PaaS offering is Pivotal CloudFoundry, which offer developers a production-ready application container runtime and fully automated service deployments.

Platform-as-a-Service (PaaS): A cloud consumer is accessing a readymade PaaS environment. The question mark indicates that the cloud consumer is intentionally shielded from the implementation details of the platform.
(source: whatiscloud.com)

Software-as-a-Service (SaaS)
The SaaS delivery model delivers a product or other service that exists as a shared cloud service offered by a cloud provider. The cloud provider is responsible for maintaining the cloud service’s underlying IT resources (including the cloud service itself). Unlike Iaas and PaaS, the SaaS delivery model does not provide cloud consumers with administrative control over the cloud service nor the underlying IT resources.

An well-known example of a commercially available SaaS offering is SalesForce Sales Cloud 2, which offers organisation a CRM & sales force automation application.

Software-as-a-Service (SaaS): The cloud service consumer is given access the cloud service contract, but not to any underlying IT resources or implementation details.
(source: whatiscloud.com)

integration-Platform-as-a-Service (iPaaS)
One of the variations on the PaaS deployment model is iPaaS. iPaaS is typically a proprietary cloud based integration platform for building and deploying integration solutions between different cloud and/or on-premise applications. iPaaS is however still in the early stages and has the very big downside that it significant increased the risk on a vendor lock-in. I am still not sure what the advantages are above using a container (CloudFoundry or Docker) as a runtime environment for integration solutions but perhaps I don’t have the knowledge yet to form an opinion about it.

An example of a commercially available iPaaS offering is TIBCO Cloud Integration (TCI).

Cloud providers typically combine different deployment models establishing one cloud delivery model by leveraging IT resources from another creating a natural layered relationship between the delivery models. A PaaS environment can be setup by leveraging virtual servers provided by an existing IaaS environment. On top of the PaaS environment a cloud provider can decide to expose shared cloud services towards consumers creating a SaaS environment by leveraging the underlying PaaS and IaaS environment for maximum flexibility.

Advertisements

One comment

  1. […] to the execution environment. From that perspective it is much more relevant to pick the right cloud delivery model, for example Platform-as-a-Service (PaaS) and start using isolated containers (CloudFoundry, […]

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: