IaaS Will Suffer a Slow Death

A traditional model of looking at cloud computing services has defined three flavors: IaaS, PaaS, and SaaS.

  • Infrastructure as a Service (IaaS): Users consume infrastructure resources that they manage themselves. Most commonly this is in the form of virtual machines, where users can define compute, memory, and storage requirements, create an operating system from the image, and then manage everything above the hypervisor layer. For example, Amazon EC2.
  • Platform as a Service (PaaS): Users define the code but do not have to manage any infrastructure resources such as servers, storage, or the operating system. For example, Amazon Aurora.
  • Software as a Service (SaaS): Users consume a complete application service and do not have to define or manage any code or infrastructure. For example, Office 365, Concur.

This model has the virtue of making the cloud – a much maligned and misused term – more concrete, but it’s of limited utility when it comes to architecting cloud applications, which are composed of a variety of different cloud services and resources.

If we examine this model, we can see that the main value of IaaS is that the user no longer has to manage any data center, hardware, or hypervisor – this is taken care of by the cloud services provider.

In traditional views of cloud services, IaaS was emblematic of cloud’s main value proposition, which was something like the following:

  • I don’t have to manage the data center (space, racks, power, cooling).
  • I don’t have to manage the hardware (servers, SAN, UPS, etc.).
  • I don’t have to manage the hypervisor.
  • I no longer have to worry about budgeting for capital expenditures in accordance with hardware lifecycles.
  • I no longer have to worry about capacity planning.
  • I no longer have to worry about disaster recovery. (You guessed it – this one's false!)

This takes a lot off IT's plate, but we still need to manage the operating system and define hardware requirements. The operating system requires patching, so we still need to carry out the care and feeding of those servers including maintenance, configuration, and troubleshooting. IaaS is a lot of work.

Our Take

When we take a closer look at what many organizations and cloud service providers are doing today, we can see that this traditional view of the cloud is sorely flawed.

Yes, IaaS is a thing, and yes, there are advantages to not having to manage hardware and data centers.

But the true value of the cloud really lies in the platforms provided by the cloud ecosystem.

As one user puts it, “The cloud is growing because it commoditizes non-business-facing capabilities.” Yes, businesses don’t want to manage hardware, but they also don’t want to manage operating systems or servers.

Let’s take the example of Amazon S3. S3 is object-based storage (or file storage) in the cloud. Users can upload files and define access permissions, and then whoever they grant access to can download those files anywhere there’s an internet connection.

“Storage as a service, you say? That sounds like IaaS – I’m buying storage from someone else.” Not exactly. S3 is serverless. The user does not have to manage any servers or operating system. The user doesn’t have to define a range of storage requirements. And S3 scales automatically to meet demand as access to the file grows. Users can even host a static website on S3 if they want. When you buy S3, you’re getting file storing and hosting as well as delivery service all in one – it’s a hard sell to claim this is fairly described as “infrastructure.”

So S3 is more of a platform, then? Should we call it a PaaS?

You could say it’s a PaaS, but the user’s not really defining any code here – unless you count HTML webpages for static websites as code.

Ok, perhaps S3 is more like a SaaS. It’s a cloud service. The user doesn’t have to manage the operating system. The user doesn’t have to define the code. But except for the case of hosting a static website, it’s hard to see S3 as a software service. Pure object file storage doesn’t fit the kind of application functionality that we associate with software. Describing S3 as a SaaS would turn the heads of most IT professionals, who associate SaaS with apps like Office 365 and Salesforce.

But when we really think about, SaaS is the closet fit for what S3 actually does. And this should lead us to conclude that the IaaS/PaaS/SaaS model is unhelpful at best, misleading at worst.

S3 is most commonly used in combination with other services. For example, it might store a full copy of an instance’s code for backup or restoration. It can store logs. It can host images. Services like Redshift can analyze data on S3.

Courtesy: Amazon Web Services (AWS)

In other words, S3 most commonly serves as a building block. The service is one piece of how organizations architect their applications and their environments to run in the cloud. In most web architectures, we can think of S3 as an off-the-shelf microservice that’s fully managed by Amazon Web Services (AWS). It doesn’t fit neatly into IaaS/PaaS/SaaS.

Once we evaluate the kinds of platforms and services available in cloud ecosystems such as AWS, we can see that in many cases IaaS is really just a placeholder to serve as the gateway to the cloud without refactoring one’s applications.

When it comes down to it, servers and even containers are just necessary evils to run the application that delivers services. The application’s dependency on the operating system is a fundamental liability.

“Building servers is the past, helping your business host the apps they need quicker, easier, and with less man-power IS the future,” proclaims a cloud-convert sysadmin.

Lest this note seem hyperbolic, we should keep a few things in mind:

  • The death of IaaS will be slow. Just like mainframes and COBOL are still around, IaaS will likely still be around in some form or another for the next 20-30 years. Legacy is slow to die.
  • You’ll probably keep hearing people talk about the cloud in terms of IaaS/PaaS/SaaS. Smile and nod. These terms are simple to understand but mean very little when we evaluate cloud architectures in the real world.
  • Infrastructure & operations IT professionals are here to stay. Even if everyone goes all into the cloud, that does not mean the only work left is development. The architectural elements and operational elements are crucial even in a pure cloud environment based entirely on platforms and services.

Want to Know More?

AWS CDK Breaks New Ground in Infrastructure as Code

AWS Improves Container Monitoring, Part 1: Observability

AWS Improves Container Monitoring, Part 2: Container Insights

AWS Improves Container Monitoring, Part 3: Anomaly Detection

Define Your Cloud Vision