Peeling the Cloud Onion
Cloud is the new buzzword and most companies have started to experience by moving capabilities to the cloud. Further various terms get used interchangeably so let me try to explain the difference as per my understanding. These terms are Cloud, IaaS, PaaS, SaaS, DaaS.
What is cloud? Cloud is a short form for Cloud Computing. It means delivery of services and platform resources (compute, storage, memory etc.) over the Internet from somewhere which in not on your premise. This is not to be confused with private cloud which is an attempt by organizations to simulate similar capabilities leveraging on premise environment.
Software Applications requires 3 components to function:
- Basic infrastructure (Servers or machines) and operating system
- It requires some middleware (Tomcat, .Net, integration tools, database etc.) i.e. platform
- Applications, which are software programs (code) to provide a defined capability to the users. Applications are dependent on the platforms to run and are installed on the infrastructure.
IaaS - Infrastructure as a service, is a type of cloud computing offering which only offers the capabilities provided by hardware (ex. CPU’s, Memory, Storage, network, operating system). You are just renting hardware and have to install your own middleware/ software to use the hardware.
PaaS - Platform as a service is a type of cloud computing which is installed on the infrastructure. It provides you stack of software (Tomcat, .Net, Java etc.), databases (MySql, SqlServer, Oracle etc.) You are renting hardware and middleware and have to build your own apps to use the platform.
AWS provides both IaaS and PaaS capabilities, you can select both the platform components and the required h/w configurations. You can also rent only the infrastructure without platform components on AWS however it is most effective when you get PaaS. There are other cloud computing service providers Microsoft, Google etc. all of which are on varying maturity levels in separate areas.
SaaS - Software as a service, is a type of cloud computing which provides application capabilities and includes the platforms and infrastructure. Capabilities are accessed over web or via mobile apps. Workday, ServiceNow, SuccessFactors, Taleo etc. are examples of SaaS. You are renting the entire software stack (application, middleware and hardware).
Data as a service (daas) is a concept which is aimed at reducing point to point data movement. The purpose of DaaS is to provide data on demand and this concept can be enabled in Cloud Computing environment or within an organizations own data canters.
In the next write up I will get deeper and share my understanding of advantages/disadvantages of cloud over on premise solutions.
Great read Neeraj! Very comprehensive and digestible.