During the last year of my customer meetings I have very often been addressed with the same scenario, which is comparing traditional ways of doing stuff ( also known as Mode 1 IT ) with more dynamic, up to date and cloud ready “Mode 2” approaches.
To be more precise, I have had many discussions with customers on Platform as a Service ( PaaS ), where I was confronted with the statement “we have had this in place for a long time”, or “just another hype, we have been doing this like forever”. Usually this statement comes from the people in charge of the virtualization service in an enterprise. In their view providing a virtual machine image with a pre-installed Tomcat, or any other platform/middleware product, equals to providing a leading edge PaaS service.
In this and the following blog-posts, I would like to discuss these approaches and give you my personal view and comparison on these.
So let’s start comparing these two approaches, the effects they have on Ops, Dev and maybe even DevOps.
Infrastructure as a service (IaaS) is a standardized, highly automated offering, where compute resources, complemented by storage and networking capabilities are owned and hosted by a service provider and offered to customers on-demand. Customers are able to self-provision this infrastructure, using a Web-based graphical user interface that serves as an IT operations management console for the overall environment. API access to the infrastructure may also be offered as an option.
A platform as a service (PaaS) offering, usually depicted in all-cloud diagrams between the SaaS layer above it and the IaaS layer below, is a broad collection of application infrastructure (middleware) services (including application platform, integration, business process management and database services). However, the hype surrounding the PaaS concept is focused mainly on application PaaS as the representative of the whole category.
What is IaaS+ then in this discussion? It has become a term to describe the concept of providing those already mentioned virtual machine images, pre-installed with more then the Operating System, therefor the “+”. But what is the effect of doing “PaaS” the IaaS+ way?
Let’s assume your enterprise already has a state of the art, self service portal for developer, tester or any other potential requestor to self-service their way to a virtual server. This would result in a massive growth of virtual server to be created. Due to the nature of the matter, these servers will each consume:
- vCPU resources on the hypervisor
- vRAM on the hypervisor
- storage for the entire machine on some storage array
- licenses from Operating System up to the middleware
Some people will respond very relaxed to these requirements, as virtualisation will take care of some of them and others, like storage, have experienced a decline of cost. But what about the follow-up cost which come with creating more and more virtual server? Some of these are:
- admin staff to manage servers
- admin staff to do lifecycle management ( patches, updates, etc ) to the servers
- resources for providing backup/recovery
Another point of view that I always like to address is the resource consumption, when doing IaaS+ compared to, e.g. a containerized PaaS approach.
Usually, when doing the planning of physical resources and their usage in a virtualised environments, I have seen companies planning as follows:
- light overcommitment on CPU cores ( 1 to 2 ), meaning the total amount of virtual CPU/Cores doubles the amount of physically existing cores on the hypervisor
- no overcommitment on RAM, as this can very quickly result in swapping and therefor reduce performance
Early tests with container technologies, like Docker, have shown, that due to the way the container share the resources provided by a their host, one can run up to 10 times more applications on the same physical hardware then with virtualisation, which already can run 10 times more then on bare-metal. So we have 100 times more workload on containerized systems then bare metal!
This post will leave you with these statements to think about. In the next article will will look at IaaS+ and PaaS from a cost perspective and will try to create a TCO view and how they compare!