Cloud computing - Infrastructure v platform (as a service)

In this post we will compare and contrast 'Infrastructure and platform as a service' delivered from public cloud. Infrastructure as a Service delivers raw compute power in the form of virtual machines.  

Organisations can go to an IaaS provider and request a number of virtual machines, say a hundred Windows servers and the provider will stand up these VM’s and charge the organisation on compute time consumed by these. The organisation can then install software and applications within these VM’s and provide access to their users.

So our architecture model looks something like the diagram below. The Datacentre, the network, compute platform and storage are all managed by the service provider:

Using IaaS the organisation manages the virtual machines as well as the applications. This includes the underlying operating system and any other application components requires to make sure the application runs effectively. Organisations can start and stop these Virtual Machines providing scalability and elasticity. IaaS is incredibly useful when organisations want to move an existing application to the cloud - simply move an existing VM from on premise to the cloud provider.

In contrast Platform as a Service (PaaS) organisations do not get a Virtual Machine – they get a platform on which applications run (the underlying VM, operating system etc are all hidden from them – they are managed by the service provider). So PaaS is all about the application, organisations hand over an application to the provider and request any number of running instances. As with IaaS the PaaS providers charge on a consumption basis – compute/network etc.

In the PaaS model the service provider manages the datacenter, compute, storage, network and provides an application platform. The Organisation manages running instances of applications. Typically the service provider provides a facility to take an on-premise virtual machine and upload it to the cloud – the end game being to move the application from a VM onto the PaaS (and remove the burden of managing the operating system from the customer).

Customers control and manage their own application images. The underlying PaaS has the ability to massively scale applications but its the customer that controls and manages this (its their application after all – and charges are made around compute time remember).

There are also other supported models, if a customer has very sensitive data that they don't want to necessarily put into Public Cloud Services. One solution is to use a hybrid model whereby the application run in Public Cloud (taking advantage of cheap compute resources) and this links back to data stored on premise (potentially is a customer’s own private cloud):

Posted by Nick (Principal Platform Specialist).