Cloud Service Topologies Explained
Imagine a company wants to commission a new application. The application needs computing resources to be able to run. On many occasions the app references libraries, frameworks, software development kits (SDKs) and other software to run. The app and support programs are installed on a particular version of an Operating System (OS). To run, the solution requires resources such as CPU, memory, disk storage and networking. These are provided by physical servers. Virtualization lies between the Physical Servers and the OS and makes computing environments independent of physical infrastructure.
A single app may require multiple virtual machines (VM). This may be necessary for redundancy purposes and/or because the application requires additional components that would be installed on separate VMs. Typically, the database used by the app or it web front end may reside on their own VMs.
If this application was running on-premises one would be responsible for all aspects of the solution.
Some of the topics one would have to manage are:
- Application updates
- Application support libraries
- OS updates
- VM updates
- Server updates
- Monitoring the physical servers and virtualization layers
- Replace and upgrade components when these fails
- Manage app / support libraries obsolescence
- Manage OS obsolescence
- Manage VM obsolescence
- Manage server obsolescence
- Generate KPI information for the application
- Backup the app’s data
IaaS
Infrastructure as a Service is a model in which the cloud provider makes available to customers the physical servers and the virtualisation layers. The customer will then install the OS, the application, and any support libraries themselves.
The cloud vendor is responsible for the server and virtualisation layers while the customer needs to manage the OS, app and libraries.
This service enables users to free themselves from maintaining an on-premises data centre.
In the IaaS model, the list of topics that one would have to manage are:
- Application updates
- Application support libraries
- OS updates
- Manage app / support libraries obsolescence
- Manage OS obsolescence
- Generate KPI information for the application
- Backup the app’s data
PaaS
Platform as a Service is a category of cloud computing services that contracts the OS layer, VM and server layers to the cloud provider. The customer focus exclusively on the app and the support libraries it depends on.
Compared to IaaS, PaaS offloads additional layers from the customer allowing them to concentrate on the app functionality.
In the PaaS model, the list of topics that one would have to manage are:
- Application updates
- Application support libraries
- Manage app / support libraries obsolescence
- Generate KPI information for the application
- Backup the app’s data
SaaS
Software as a Service is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. In this model the customer is not responsible for the operating environment.
In the SaaS model, the list of topics one would have to manage are:
- <nothing remains>
What’s best for you?
No easy answer. If you’re migrating an existing app your options may be limited. Also if you are installing an off-the-shelf solution the vendor may have certain limitations. Knowing the difference between the various ?aaSs should help you comprehend what is involves and what is your responsibility and what is to be managed by the 3rd party.