The case

Ten store systems. Ten machines, nearly idle.

Each of Isaac's store systems had its own server, and most of the time it used only 15% of the CPU. The rest was money heating up the room.

… and 7 more like these15%15%15%85% of the CPU idle, 10 times over

This post builds on the concepts of Cloud Fundamentals and Regions and Zones.

The problem

One app per server

It works, but it is inefficient: waste of resources, high cost and delay, with weeks to set up each new server.

Dedicated physical server85% CPU idleApp (15% used)
One app per server.

Partial solution

Virtualization

A hypervisor splits the hardware into several isolated virtual machines (VMs), which share the resources of the same physical server. Each VM has its own operating system and can't see the others. VMware pioneered this market.

Physical server (just one)Hypervisor (virtualization layer)VM 1App AVM 2App BVM 3App C
Isolation, efficient use and several apps on the same hardware.

It solves the waste, but not everything: the company still buys and maintains the physical data center.

The solution

Virtualization moves to the cloud

Instead of running your own hypervisor on your own hardware, you rent ready-made VMs from a provider. All the big clouds offer the same service, under different names:

ProviderVM service
AWSAmazon EC2 (Elastic Compute Cloud)
AzureAzure Virtual Machines
Google CloudCompute Engine
Oracle CloudOCI Compute

Who looks after what

You manage

  • VM configuration
  • Operating system
  • Runtime and your application

The provider manages

  • Hardware, power and cooling
  • Physical maintenance
  • The hypervisor

The result: focus on the app, a VM created in minutes, pay-as-you-go and total flexibility. You can even create a VM in London while sitting in Brazil.

Curiosity

And before the cloud?

Renting servers existed long before public clouds. AWS launched EC2 in 2006, and hosting companies were selling servers well before that.

Shared hosting

A "small piece" of a server, split with other customers (e.g., HostGator, GoDaddy).

Dedicated server

A whole physical server, all yours, in the hosting company's data center.

VPS

A slice of a physical server sold as an independent server. It already used virtualization.

Colocation

You buy the hardware and rent space, power and network in a third party's data center.

It was common to get a username and password for FTP from the hosting company to upload a site. But FTP is just a file transfer protocol: it doesn't say who the server belongs to.

What the cloud brought new

It wasn't just "renting instead of buying"

Traditional hostingCloud
HiringWebsite or phone, activation in daysSelf-service by console or API, in minutes
BillingFixed monthly or annual contractGranular pay-as-you-go (per second or minute)
ScalingNew request and a new waitAutomatic elasticity via API
CapacityLimited to the providerMassive global scale
LocationUsually just oneSeveral regions and zones, a few clicks away

Quick test

Three questions, exam style

01

Which software splits a physical server into several isolated virtual machines?

02

On a VM in the cloud, who is responsible for applying patches to the operating system?

03

Which of these existed before the public cloud and also used virtualization?


Virtual machines show up in any cloud certification: EC2 on AWS, Virtual Machines on Azure, Compute Engine on Google Cloud and OCI Compute on Oracle Cloud. The name changes; the division of responsibilities is the same. The next step on the track is Cloud Service Models.