How IaaS, PaaS & SaaS all stack up!
What is IaaS?
Before I jump into answering this, let’s begin with a quick introduction of cloud computing and explain why each layer is referred to as a service.
As I recall, it used to be that traditional IT was run as separate groups (towers) for hardware, software, development, servers, storage and networking. And dare I say each had their own agenda for what they were doing…
This practice eventually led to major shortcomings as Capacity Management, Scalability, and High Availability were normally not factored into what most IT departments were delivering.
They generally focused on quickly building one-off environments (as-required) for applications that were unique…
…and for the longest time this worked. I call this just-in-time (JIT), or in many cases as projects would miss their due dates – not-in-time (NIT).
Speed to Market Drives the IT World to Change (Cloud Emerges)
So as more businesses battled to edge out their competition by delivering products and services to market first, they quickly realized they had a few problems.
- How would they deliver products and services to the market when their IT was a bottleneck?
- How would they compete in the new global market and stay up with customers demand?
- How would they be able scaling existing services transparently and at the same time offer higher up times?
- How could they do all this FAST?
Thus, delivering IT as a service became an important dependency that vendors like Amazon and VMware saw as an opportunity and quickly provided solutions that would solve these problems and change the world of IT forever.
Amazon quickly stepped in with AWS for public cloud services and instantly because a global leader, while at the same time VMware gave us vSphere for private clouds and also became on overnight success.
Now just for the record, if you talk to people who were around during the mainframe days, they will tell you stories of this going on long before the term “cloud” was attached to it.
OK, this covers a bit of history and get us to the 3 services (IaaS, Paas, and SaaS) that make up what clouds are today. However, don’t hold your breath because they will probably change as service providers introduce new solution to solve new challenges of a global service economy .
3 Cloud Lingo lessons on As A Service (aaS)
Let’s keep this at a basic level for non-technical guests or beginners who are trying to understand the concept of cloud computing.
The three common words we see repeated are as-a-service (aaS). This means unlike in the old days when things were deployed as required, or just-in-time, now they are offered by the IT department as a service which could mean there is a pool of resources pre-built and available which is scalable, robust, and high available, for the business to use for building new services or expand existing services.
Cloud Lingo lesson #1 – What is Infrastructure as a Service (IaaS)?
First understanding how IaaS changes IT is key to understanding why this change was necessary.
I’m going to take you for a moment into a basic IT project scenario where software needs to be delivered as a new product to the business or a customer. Now imagine this project has a scheduled deliverable date in 12 weeks, and has the following dependencies:
- Building infrastructure consisting of network, storage, and server hardware.
- Installing and configuring various operating systems, databases, and middleware.
- Then install multiple out-of-the-box software applications and costomizing them.
- or develop (coding) a new application and customizing it.
- Then perform unit testing to ensure it works properly before it’s released into production.
Aside from a few other items, and lower level details, this is what is going on all the time…
…and now here’s a time estimate so you can do the math for the project schedule:
- Hardware to be spec’ed-out, quoted, approved and ordered (3 – 8 weeks)
- Hardware to be received, racked, cabled, powered and configured (6 – 12 weeks)
- Operating systems to be spec’ed-out, installed, configured, and patched (3 – 6 weeks)
- And web, database, and application services to be installed and configured (1 – 2 weeks)
Best case, all this takes 14 weeks (3.5 months) just for infrastructure and some platform.
Now, once upon a time 3 – 6 months for infrastructure was acceptable but not anymore.
Old Vs. New and up and running in minutes!
Today, with Amazon’s EC2, you can be developing your new application within minutes in the public cloud. Or if you’re still not comfortable with public cloud, you can deploy VM servers with OS, DB, middleware already installed and configured (within a coffee break’s time) from a vSphere private cloud. And unlike hosting like what’s offered by Godaddy, cloud uses a full instance of the server versus just creating a new IIS and DB instance on shared resources.
And there are other value-adds from these IaaS solutions.
For example: you can scale quickly if more compute capacity is needed, it’s robust, and it’s highly available because in most cases your application is elastic and is not pinned to hardware like in the old days.
Cloud Lingo lesson #2 – What is Platform as a Service (PaaS)?
I once sat through a 4 hour meeting with a VMware cloud service team while they discussed Platform as a Service. We’re talking a 4 hour deep dive into the bits and pieces of standardized platforms that are rolled out with automation, and quality checked with tools that do configuration managements.
As we already covered, at the IaaS layer we have network, storage and server hardware (and possibly operating systems for the VM). At the platform we have all the supporting software and automation that work together to support the application or software layer.
This means really getting down into database, web, and middleware; and the scripts and automation needed to manage and maintain consistency which is necessary so the software is not impacted by variations in versions.
I’d say more IT departments deliver IaaS and PaaS as a combined services nowadays.
This means at the PaaS layer, everything from network, storage, and servers, all the way up to the database are deployed within minutes or hours using automation from a self service cloud services such as Ec2, OpenStack, or vCloud Director.
Value-Add for Projects
Now imagine as a project manager how much value this adds when developers can log into a portal, and based a bill of material (BoM) from the design DOcs, select server configurations, and within minutes get an email with log on details for the servers that were just requested. This is Iaas/PaaS in its finest state.
The difference is now you have 11.5 weeks to develop, test, and release the new product, and meet your 3 month delivery date.
Cloud Lingo lesson #3 – What is Software as a Service (SaaS)?
When talking about SaaS, I generally think of Google Docs or SaleForce where software is hosted in a cloud and offered directly from the vendor instead of getting installed and configured locally.
Basically, if you are a business offering a software service, for example online education. You can build this SaaS environment in a public, private or hybrid cloud, and then license it directly to the customer (B2C or B2B).
In this case, the infrastructure and platform requirements are limited and just operations and technical support are required.
Video on Understanding the Cloud
So in summarizing IaaS, PaaS, and SaaS, it’s all how these 3 different services stacked up to form a cloud service offering.
Please share your thoughts or comments?