Technically

Technically

Share this post

Technically
Technically
Breakdown: the cloud infrastructure market

Breakdown: the cloud infrastructure market

How developers decide which *type* of infrastructure to use, and which cloud provider to buy it from.

Justin's avatar
Justin
Jun 24, 2025
∙ Paid
26

Share this post

Technically
Technically
Breakdown: the cloud infrastructure market
1
Share

Infrastructure and cloud is all about where software runs – the actual hardware, networking, and systems that allows you to magically type a URL into your browser, somehow loading a feature packed app full of data, all over the internet.

In the "old" days (i.e. high school), most apps ran locally – you'd get a copy of Excel via a CD, or download it from the web. All of the computing that Excel did – both the "graphical" frontend you interacted with, and all of the math that happened behind the scenes – took place on your laptop[^1]. Data was stored as files on your computer. Even if Excel did sometimes communicate with the web, it was only to pull in a data source and get updated. You usually paid a one time fee to buy the software, or licensed it yearly.

Things have changed a lot since then. Now, most software runs in the cloud. Instead of existing locally, it’s deployed on big servers in data centers across the world that developers either rent from companies like AWS and GCP, or less commonly build themselves. You access it over the internet, via your browser or a dedicated desktop app. You usually pay via a subscription model. It’s a whole different dynamic.

And with this advent of cloud came an entire new set of complicated decisions for developers. Which cloud should you deploy your app on? Should you use lower level infrastructure as a service, or pay up for the smoother managed experience? Do you have all of your stuff in one cloud, or split across multiple vendors? And why are there so damn many vendors who seemingly sell the same infrastructure?

This post will walk through everything that someone analyzing software companies would need to know about the infrastructure and cloud space:

  • Different types of infrastructure: IaaS, PaaS, and SaaS

  • The components of an app: use cases for infrastructure

  • Why anyone chooses a particular infrastructure vendor

So far in this category, we've covered AWS, Cloudflare, DigitalOcean, Heroku, and Vercel.

Types of infrastructure: IaaS, PaaS, and SaaS

The best way to start wading through this massive world of infrastructure providers is to split vendors (more accurately: products) up into three groups, based on how much "work" they do for you, and how much you need to do yourself:

  • IaaS, or infrastructure as a service, is the lowest level. You usually just get a server with an operating system, and the rest is up to you.

  • PaaS, or platform as a service, is a bit comfier. The vendor takes care of things like getting your code onto the server, updating software (like databases), and more.

  • SaaS, or software as a service, is fully managed. You basically have no interaction with infrastructure at all, and is less relevant to this post.

The essential question that separates all of these buckets is: how much work do you want to do yourself? Do you want to have to pick the right server size, navigate obscure pricing, get your software on it, install all of the necessary libraries, set up DNS and networking…yourself? Or do you want someone to do that stuff for you, because you have an app to build[^2]?

PaaS is a less DIY experience. But it's considerably more expensive, and when someone does a lot of stuff for you, you lose the ability to customize some of the finer things that may actually be important for you. IaaS is much more DIY, and thus it's cheaper. It's also much more customizable. But it requires much more effort to get right. This is the fundamental tradeoff.

It's best to think of the IaaS/PaaS distinction as a spectrum rather than 2 categories. Sure, there is classic IaaS like a virtual machine on any of the major clouds (say, an EC2 instance on AWS). And then there's Heroku, the canonical example of PaaS. But there's a lot in between those two:

I'd recommend a read through of our deeper dive into the difference between IaaS and PaaS to get a better look into what really separates the IaaS and PaaS experiences from a developer perspective.

The components of an app: what actually needs deploying

The reason there are so many infrastructure providers is that there's simply a lot of spend to go around: applications today have so many components that just about every company out there is guaranteed to spend money on cloud at some point. So what exactly needs infrastructure, and what are developers using companies like AWS for?

  • Frontends: the visual parts of your app that a user actually sees

  • Backends: all of data and workflows behind that frontend

  • Databases: a subset of the backend that deserves its own category

  • Analytics: longer term data for analysis and making Good Decisions

  • Misc. jobs: billing, nightly jobs, whatever you gotta do

There are probably more but I need to keep this thing at a length that people will read, so here we go…

Keep reading with a 7-day free trial

Subscribe to Technically to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Justin
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share