Cloud vs. On-Premises — Shared Hosting and Scope of Responsibility

This article is part of the IT Foundations course, which builds up from scratch the practical IT knowledge you need at a minimum for programming and vibe coding.
The difference is who owns the server hardware and how far up the layers you manage yourself. Diagrams show the scope of responsibility in each of the three arrangements and where AWS, Google Cloud, and Azure fit.

This article covers the three arrangements for where an app runs: on-premises, shared hosting, and cloud.

The difference comes down to one point: who owns the server hardware, and who decides what goes inside it.

At the end, it also covers where the major cloud providers — AWS, Google Cloud, and Azure — fit.

Where you run it splits into three arrangements
On-premisesShared hostingCloudHardware in yourown buildingHardware in theprovider's buildingHardware in theprovider's buildingYou decide thesetup tooThe providerdecides the setupYou choosethe setupYou take oneverythingStart quickly ona fixed setupRent only whatyou need
Each row is one arrangement. From left to right: where the hardware sits, who decides what goes inside, and what it suits. Only the top row has you owning the hardware.

On-premises is the only one where you own the hardware.

The three arrangements differ in who owns the server hardware and who decides the setup

The three differ on two points: where the server hardware sits, and who decides the setup — the OS (the base software that sits between the hardware and your programs and handles files, networking, and the screen) and the runtime.

The provider's building where the hardware sits is a data center, a dedicated building that houses and runs a large number of servers.

A partition inside one of those machines that runs as an independent server of its own is a virtual server (setup guides also call it an "instance").

Whether you can choose the setup yourself is what separates shared hosting from the cloud.

What is allocated to you inside the provider's data center
The provider's data center
  • A dedicated building with power, cooling, and network lines
  • Many identical physical servers lined up in it
One physical server
Virtual server A (your partition)
  • Choose an OS, boot it, and install the runtime
  • Put app.js and your data here
Virtual server B (another user's partition)
  • Runs independently of A
  • Not visible from A
Free
  • Used by the next sign-up
The outer frame is the data center, one machine inside it is a physical server, and the partitions inside that are the virtual servers of individual users.

You can work only with your own partition; the neighboring partition and the physical server itself are not visible to you.

One sign-up lets you start as many servers as you want and stop them when you are done.

The price is set by how much you used and for how long.

Introductory books also call this arrangement, which anyone can sign up for, the public cloud.

The difference is who owns the hardware and who decides what is inside

The three differ only in whose server hardware it is and who decides what goes inside it.

On-premises is where both the hardware and what goes inside it are yours, shared hosting is where you leave both to the provider, and the cloud is where the hardware belongs to the provider and you choose the setup.

Scope of responsibility — which layers the provider manages, and where your part begins

What you look at when choosing is who fixes it when it breaks.

A server is made of five layers: the building with its power and network lines, the hardware, the OS, the runtime, and the app with its data.

How the two sides split the management of each layer is the scope of responsibility (cloud providers call it the shared responsibility model).

LayerOn-premisesShared hostingCloud virtual server
App and dataYouYouYou
RuntimeYouProviderYou
OSYouProviderYou
Server hardwareYouProviderProvider
Building, power, and networkYouProviderProvider

With on-premises all five layers are yours to manage; with shared hosting only the top one is.

With a cloud virtual server, the boundary falls between the hardware and the OS.

Ordering parts and replacing them when the hardware breaks is your job only with on-premises.

With shared hosting and the cloud the provider replaces it, and in the cloud you can simply start up again on different hardware.

Checking that the app and its data work as before, though, is on you in every arrangement.

What you install and manage inside one virtual server
One cloud virtual server
  • The provider manages the building and the hardware
  • The provider also replaces broken hardware
OS (chosen when you start it)
  • You choose from the ones provided and boot it
  • You apply the updates after it boots
Runtime and app (you install and place them)
  • You install node and python yourself
  • Put app.js and your data here
  • Restoring them if they are lost is on you too
The outer frame is the one server you signed up for, and the further in you go, the more is yours to manage. The provider supplies only as far as the outer frame.

The provider supplies only as far as the hardware; once you have chosen an OS and booted it, the rest is yours.

The provider does not fix bugs in your app or restore lost data.

Below the boundary is the provider, above it is you

A server is made of five layers, and the provider manages the lower ones while you manage the upper ones.

With on-premises all of it is yours, with shared hosting only the top layer is, and with a cloud virtual server everything above the hardware is yours — the provider fixes only what is below the boundary.

In the cloud, you choose where each part of the app goes

Virtual servers are not the only thing in the cloud.

When you choose a managed service (a service where the provider installs, updates, and troubleshoots the OS and runtime, and you only configure and use it), the boundary moves upward.

Each part goes somewhere different, so the boundary is different for each part too.

Where each part goes changes, and so does how much you do
FrontendfilesBackendDatabaseFile storageserviceVirtual serverManageddatabasePlace them andset up publishingChoose an OS andinstall a runtimeJust table designand data
On the left are the parts of my-app, in the middle is where each one goes in the cloud, and on the right is the work left to you. The further down, the less you do.

With file storage and a managed database, managing the OS and the runtime moves to the provider's side.

The work left in your hands once you switch to a managed database
OS updatesRuntime updatesHardware replacementThe providertakes these onLeft to you:tables and data
The three at the top converge in the middle, and only one thing continues downward from there. The three that converge leave your hands.

With a managed database, all you do is design the tables and read and write the data.

For the backend there is also a place that runs the processing only when a request arrives.

Everything inside the box is the provider's hardware, and you own none of it.

Even so, you install and update the OS and the runtime inside the virtual server yourself.

Choosing where a part goes moves the boundary with it

The more you leave to the provider when you choose where a part goes, the less work is left to you.

With a managed database all you do is design the tables and read and write the data, while for the backend on a virtual server, everything above the OS stays yours to manage.

AWS, Google Cloud, and Azure — the categories they share, and the areas each is strong in

AWS, Google Cloud, and Microsoft Azure are the names of the clouds run by Amazon, Google, and Microsoft.

Each is one company's name for its cloud, and each contains a large number of services.

The geographic unit in which data centers are grouped is a region.

What one cloud provider contains
One cloud provider (for example, AWS)
  • Places data centers around the world
  • Offers the same categories of service in every area
Tokyo region
Virtual server
  • Choose an OS, boot it, and use it
Managed database
  • Holds tables and data
File storage
  • Store files to publish or keep
A region in another area
  • Has the same categories of service
  • You can pick an area close to the people using the app
The outer frame is one provider, the frames inside it are regions, and the frames inside those are the categories of service provided in every region.

Choosing a region close to the people using the app shortens the time a request and response take to make the round trip.

CategoryAWSGoogle CloudMicrosoft Azure
Company that runs itAmazonGoogleMicrosoft
Virtual serverAmazon EC2Compute EngineVirtual Machines
Managed databaseAmazon RDSCloud SQLAzure SQL Database
File storageAmazon S3Cloud StorageBlob Storage

The category in the leftmost column tells you what a name does, even a name you are seeing for the first time.

What the three companies have in common stops at these categories.

Even when the same categories are covered, each provider has built out different areas more heavily.

You do not have to settle on one company.

Using several providers, each for a different purpose, is multi-cloud, and you can pick the provider that is strong in the area each part needs.

The consoles and the terms differ from provider to provider, though, so there is more to learn and more to manage.

While the app is small, keep it with one provider, and consider splitting it up once a need comes up.

Shared categories, different strengths

AWS, Google Cloud, and Azure are the names of the clouds from Amazon, Google, and Microsoft, and all three have the same categories of service: virtual servers, managed databases, and file storage.

Because the categories are shared, once you know one provider you can read the others by mapping their names onto the categories, but each is strong in different areas, and multi-cloud, using several providers for different purposes, is another way to choose.

QUIZ

Knowledge Check

Answer each question one by one.

Q1When you use shared hosting, which layer do you manage?

Q2When you use a cloud virtual server, who applies the OS updates?

Q3Which statement about AWS, Google Cloud, and Microsoft Azure is correct?