A business operations tool I built called Moonframe was designed for small businesses managing revenue, inventory, expenses and tasks in one place, and it runs on Supabase.

For a long time that sentence was the full extent of what I knew. It runs on Supabase. The dashboard loads. The data persists. Users log in and their information is there waiting for them. The infrastructure beneath all of that (the servers, the deployment pipeline, the networking, the difference between the platform I chose and the twenty others I could have chosen) was a layer I had never looked at directly.

They just seemed to be.

Most people who build with modern tools are in exactly this position. The platforms are good enough, fast enough, and invisible enough that looking underneath feels unnecessary. Until it isn't. Until you're choosing between platforms for a product that real people will use, or explaining to a stakeholder why something broke, or trying to understand why your application feels slow for users in one city and fast for users in another.

This is what I found when I finally looked down.

What a Server Actually Is

When you visit any website (a bank, a news platform, an e-commerce store), something on the other end received your request and sent back what you see on your screen. That something is a server.

A server is a computer. Not metaphorically. Literally a computer with a processor, memory, and storage, running software. The difference between a server and the laptop this was written on is not fundamental capability. It is purpose, location, and continuity.

Servers live in data centers: large facilities built specifically to keep computers running without interruption. Industrial cooling systems prevent overheating. Redundant power supplies ensure they never go dark. Permanent, high-speed internet connections mean they are reachable from anywhere in the world at any time. A laptop sleeps, overheats, disconnects. A server in a data center does none of those things.

"The moment you need someone else, anywhere and at any time, to access what you built, you need a machine that is always on, always connected, and always reachable."

IaaS, PaaS, and BaaS: The Difference That Changes Everything

Not all servers are rented the same way. The way a developer accesses and manages a server determines how much control they have, how much responsibility they carry, and how fast they can move from code to live product.

Model 01 IaaS · Infrastructure as a Service

When a developer rents infrastructure from a provider like AWS, Google Cloud, or Microsoft Azure, they receive what is essentially an empty, powerful computer in a data center. The operating system needs installing. The security needs configuring. The networking needs setting up. Every layer between the raw hardware and the running product is the developer's responsibility to build and maintain.

→ The empty plot of land. Enormous potential. Total control. Full burden of construction.
Model 02 PaaS · Platform as a Service

PaaS removes the construction burden. Platforms like Vercel, Railway, and Render have already built the infrastructure layer: the operating system is managed, the security is handled, the networking is configured. A developer brings their code and the platform runs it. Deployment is automated. Monitoring is built in. Scaling is handled.

The tradeoff is control. PaaS makes the infrastructure invisible, which is its strength for speed and simplicity, and its limitation when a product needs something the platform wasn't designed to handle.

→ The prepackaged apartment. Everything needed to move in is already there.
Model 03 BaaS · Backend as a Service

BaaS sits one layer above PaaS. Where PaaS gives developers an environment to run the backend code they write, BaaS gives them pre-built backend services they don't have to write at all. Authentication, databases, file storage, real-time data: a BaaS provider like Supabase has already built these systems.

Moonframe runs on Supabase. Its user authentication, its data storage, its real-time updates: none of that required writing a backend from scratch. For a solo builder moving fast, that tradeoff, less control for dramatically less complexity, was the right one.

→ The prepackaged apartment with furniture, utilities, and a concierge included.

What Happens When You Push to Deploy

Deployment is the word developers use for the act of taking code from a local machine and putting it somewhere the world can access. The process underneath it is precise, and every step matters.

01
The Push
The developer finishes writing code. They use Git to package every change into a labeled snapshot called a commit. That commit gets pushed to a code repository, most commonly GitHub. Nothing is lost. Everything is reversible.
02
The Trigger
The PaaS platform is watching that repository. The moment new code arrives, the platform detects it automatically and fires a build pipeline, an automated sequence of steps the platform runs on the code before anything goes live.
03
The Build
The platform compiles the code and installs dependencies. If a dependency is missing or incompatible, the build fails here. This is why the phrase "it works on my machine" exists: the platform's environment isn't the developer's laptop.
04
The Checks
If the developer has written automated tests, the platform runs them now. A failed test stops the deployment immediately. Nothing broken reaches users. This is not a malfunction. It is the safety net working correctly.
05
The Deployment
If the build compiles cleanly and checks pass, the platform moves the application into the live environment. It starts running. The platform assigns it a public URL. At this exact moment the product stops being code on a machine and becomes something anyone in the world can access.
06
The Monitoring
The platform watches the running application continuously, tracking errors, response times, and resource usage. If something breaks critically, some platforms automatically roll back to the previous working version while the developer investigates.

The entire sequence, from push to live, can take anywhere from thirty seconds to several minutes. This sequence is what developers mean when they say CI/CD: Continuous Integration and Continuous Deployment.

How to Think About Choosing

Every developer building a product will eventually face a list of platforms, each promising roughly the same thing, and no obvious reason to pick one over another. The mistake most people make is optimising for features. The right move is to start with questions.

Question 01
What are you building, and for how many people?
The nature of the product determines the nature of the infrastructure it needs. A static marketing site and a real-time financial dashboard are both products, but they make entirely different demands on a server. Scale matters equally.
Question 02
What is your budget, in money and in time?
These are not the same thing. Some platforms are cheap financially but expensive in configuration time. Others charge more but deploy in minutes. A solo builder pays in time what they save in money, and vice versa.
Question 03
What does your product need most: speed, flexibility, or simplicity?
Most platforms optimise for one of these three at the expense of the others. Knowing which one your product needs most narrows the field immediately.
Question 04
What will your build need in the age of AI?
Most PaaS platforms were designed before AI became a standard product layer. They were not designed with questions like: does this platform support MCP server integration? Can it handle the communication overhead between a product and an AI model? These are not hypothetical questions. They are the next wave of infrastructure requirements.

The age of AI has not yet fully touched PaaS. But it will. The developers who are already asking what their infrastructure needs to support, not just today but in the next iteration of what building means, are the ones who will not have to migrate everything when it does.

What Looking Taught Me

Understanding infrastructure did not make Moonframe more technically sophisticated overnight. But it changed what questions get asked before the next build starts. Not just which platform, but what the platform needs to be capable of, what it will cost across every dimension that matters, and whether it is built for the kind of product the world is moving toward.

The invisible infrastructure is only invisible until you look at it directly. Once you do, you cannot un-see it. Every product you build after that moment is built on ground you actually understand.

That is worth the looking.