As more and more Organizations try to embrace cloud with varied degree of conversations and maturity, its extremely crucial to understand the best suited cloud service model, your Enterprise may need. Many a times Enterprises pick a Cloud service model before even verifying whether it addresses the right needs. For e.g. Organizations with .Net shop immediately default to Azure, without even considering the various workloads, the data needs, integration nuances, performance, throughput requirements and other parameters. PaaS is maturing and not all workloads might be tailor made for PaaS.
As we all know IaaS abstracts the underlying infrastructure layer, so that organizations no longer have to worry about hardware, power, cooling mechanisms, procurement of hardware and other infrastructure needs. PaaS goes a level higher and abstracts OS, DB, App Server and Programming Language. The consumer will have to take care of application and data and all other layers are abstracted in PaaS. SaaS is the ultimate level of abstraction and the entire application is delivered with the consumer’s focus only on administering users to the system.
If the service is not the organizations core competency, adopting SaaS serves as a good alternative as long as it meets the business requirements. However with SaaS, consumer has little control over the application, no real say in SLA’s, underlying architecture and other needs. However the advantage is, organizations can quickly be up and running with SaaS based solutions and consumers will not have to worry about patches, fixes, new version releases, support of devices, and other changing landscape.
If you want full control of your application stack from a performance or security perspective and if the application has high scalability and performance requirements, IaaS works best. The consumer gets the complete control over the underlying architecture (scalability, failover, etc). With more control, the more work we will have to do and the longer it takes to get to the market. PaaS is somewhere in between and meant for more rapid development / destruction workloads, rapid innovation workloads as the focus is only on building softwares and not on managing hardware, OS, DB, Programming stacks, etc. PaaS promises increased speed to the market but is the least mature of all the cloud service models.
My suggestion is for Organization’s to not settle for a favorite vendor and instead do a thorough analysis and adopt all three service models in some form or the other.
Do you echo my thoughts ?