Identifying the right Cloud Computing Stack
Cloud infrastructure is available in three flavors – IaaS, PaaS and SaaS.
IaaS: Infrastructure as a Service
PaaS: Platform as a Service
SaaS: Software as a Service
Before investing in a cloud infrastructure, one needs to identify the correct stack required for their need. It is very easy to understand the three flavors of cloud with the help of an analogy.
Let us consider a Laptop or personal computer. It consists of three layers.
Hardware and Operating System: The raw Infrastructure of the laptop
Java SDK, Dot Net or Ruby on Rails: The Platform used for software development
MS Office, Browser, Email Client, Movie Player: The Software used daily for work or entertainment.
Like a laptop layer, Cloud is also available in three flavors each representing the layer of a laptop.
- Provides only hardware and OS as a service. However, user has the right to tune these Infrastructures. Some people prefer Windows whereas others prefer Linux.
- This infrastructure is raw but gives the freedom to the user to install any platform on top of it.
- This is more of a restricted service where user can deploy only software related to specific platforms. Example: Heroku supports Ruby, Java, Python but it won’t support .NET. Google App Engine supports Java, Python, PHP and Go but it won’t support Ruby.
- Moreover when deploying application to PaaS, it MUST be packaged in a format dictated by the PaaS vendor.
- There could also be restriction in the APIs that can be used, turnaround time etc.
- Also it is not always possible to deploy an application written for one PaaS cloud environment to another PaaS environment without modifications.
- In this cloud environment, user will be interacting only with software like CRM, Email etc.
- Users can do limited customization that are permitted within the software.