The cloud works by inserting a layer of abstraction between physical server hardware and the software that runs on physical hardware. The cloud is a natural extension of technology developed to allow multiple different users to safely use the same physical computing resources.
What is a layer of abstraction?
A layer of abstraction is at its simplest something that hides the complex inner workings or details from you. Creating or using a layer of abstraction usually lets you do the same work you could do without the abstraction in a simpler or easier way. You can also enable new features and use cases when you can create a layer of abstraction.
Layers of abstraction are everywhere in technology. Programming languages, for example, are almost universally one or more layers of abstraction on top of machine code. Machine code is the code that your CPU actually knows how to run. Most programming languages to one degree or another eventually turn your code into machine code that a CPU can run.
Machine code is relatively difficult to write, and the code you write cannot easily be used on another system. Each type of CPU has its own special machine code language. Programming languages are layers of abstraction on top of machine code that let you do things you cannot do with machine code at the cost of slower performance than machine code. For example, with most progamming languages you can write code that can run on multiple types of CPUs. You can write code with fancy syntax or features like for loops, conditional statements, and advanced code organization. Your code is more probably more readable than machine code.
Layers of abstraction are great for making technology more human-friendly and more versatile. Like how programming languages are layers of abstraction over machine code, the cloud is one or more layers of abstraction over physical hardware.
The cloud is abstraction over hardware
One of the most important jobs of the cloud is letting you forget about the hardware you are using to run your cloud. When you deploy a cloud or use the cloud, you are able to access computing, storage, networking, and other hardware resources without having to worry about if the hardware you are using is made by Dell, HP, IBM, Supermicro, or some other company. You do not have to worry about what CPU or hard drives the hardware is using. You can simply call up a set amount of resources to meet your needs and return those resources when you are done.
When you are using cloud infrastructure, the hardware resources under the cloud are joined together into a single pool of resources. The cloud is a layer of abstraction over your hardware that gives you a single interface for pulling resources from different types of physical hardware.
That is, of course, a bit of a simplification. There is a great deal of technology that makes this pool of resources happen.
Virtualization makes the cloud happen
Virtualization is the key technology for making the cloud possible. Virtualization allows you to create fully self-contained server environments (often called virtual private servers, virtual machines, instances) that look like physical server environments to software but are not actually physical server environments. Your most common cloud computing resources are these virtual environments. You can use several of these virtual environments on the same physical machine to run multiple users’ workloads or software at the same time. This at its core is how the cloud works - multiple virtual environments running on the same physical hardware.
When using virtualization, special software called a hypervisor runs on the physical server hardware. The hypervisor is a layer of abstraction between the virtual environments and the physical server hardware. When software inside of the virtual environment accesses hardware resources, like the CPU, RAM, or storage, the hypervisor intercepts the requests and handles them using the physical server hardware. The hypervisor pretends to be the physical server hardware for the virtual environments in most cases.
Although there are different types of hypervisors and different hypervisor software, a hypervisor will present a standard interface for software to use regardless of the underlying hardware or the resources being accessed.
The cloud is virtualized resources, but so much more!
The modern cloud has so much more to offer users today than virtual computing environments, but the cloud at its core is still virtualized physical resources. Not having to worry about the physical hardware means you can spend more time doing the work you need to do instead of fiddling with hardware configurations.