Your photos, emails, files, apps, streaming services, and even many websites may depend on computers you have never seen. Cloud computing lets people and busin…
How Cloud Computing Works: The Technology Behind the Modern Internet
What Is Cloud Computing?
The name sounds mysterious, but cloud computing is based on a fairly simple idea.
Instead of buying and maintaining all the computers needed to run an application, you can use computing resources operated by another company over the Internet.
Those resources can include:
- Servers
- Storage
- Databases
- Networking
- Virtual machines
- Software
- Development platforms
- Security services
- Data analytics
- Artificial intelligence systems
The National Institute of Standards and Technology, or NIST, describes cloud computing as on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released.
In simpler terms, the cloud is a huge collection of computers and infrastructure that you can access remotely.
The "cloud" is not somewhere in the sky.
It is made of physical computers sitting inside real data centers.
The Cloud Is Made of Data Centers
When you upload a photograph to cloud storage, the photograph eventually has to exist somewhere.
That somewhere is normally a data center.
A modern data center can contain thousands of servers, along with:
- Storage systems
- Network switches
- Routers
- Power systems
- Backup generators
- Cooling equipment
- Fire suppression systems
- Security systems
- Monitoring equipment
- High-speed Internet connections
Large cloud providers operate data centers in multiple geographic locations.
This geographic distribution allows cloud services to place computing resources closer to users and design systems that can continue operating even when individual components fail.
What Is a Server?
A server is simply a computer designed to provide services to other computers.
Your laptop can be a server.
Your desktop can be a server.
A smartphone can even provide services to other devices.
The difference is that cloud data centers use powerful machines specifically designed to operate continuously and handle large numbers of requests.
A single physical server can also run multiple virtual machines.
This is one of the technologies that helped make modern cloud computing possible.
Virtualization: One Computer Becomes Many
Imagine buying a powerful computer with 128 CPU cores and hundreds of gigabytes of memory.
Instead of dedicating that entire machine to one customer, virtualization software can divide its resources into multiple virtual machines.
Each virtual machine behaves much like an independent computer.
For example:
Physical server
↓
Virtual machine A
Virtual machine B
Virtual machine C
Virtual machine D
Each virtual machine can run its own operating system and applications.
The customers using those virtual machines generally do not need to know which physical server is underneath them.
This allows cloud providers to use hardware much more efficiently.
What Happens When You Upload a File?
Consider uploading a photograph to a cloud storage service.
The process looks roughly like this:
Your phone
↓
Internet connection
↓
Cloud provider's network
↓
Storage service
↓
Storage servers
↓
Your file
Your phone sends the file through the Internet.
The cloud provider receives the data and authenticates your account.
The service determines where the file should be stored.
The data is then written to storage infrastructure.
The provider may also maintain additional copies or use redundancy mechanisms so that a hardware failure does not necessarily destroy the file.
Later, when you open the application, the service retrieves the appropriate data and sends it back to your device.
You see a photograph.
Behind the scenes, an entire infrastructure may have been involved.
Cloud Storage Is More Than a Hard Drive
It is tempting to think of cloud storage as simply a hard drive connected to the Internet.
That is useful as a basic analogy, but modern cloud storage is much more sophisticated.
Cloud storage systems can automatically handle enormous amounts of data.
They can provide:
- Redundancy
- Replication
- Access control
- Encryption
- Automatic scaling
- Backup mechanisms
- Geographic distribution
- Versioning
- Monitoring
The exact architecture differs between providers and services.
How Does a Cloud Application Work?
Suppose you open a website that runs entirely or partly in the cloud.
Your browser sends a request.
The request travels across the Internet to the application's infrastructure.
A simplified architecture might look like this:
Browser
↓
DNS
↓
Internet
↓
Load balancer
↓
Application servers
↓
Database
↓
Storage
↓
Response
The application server processes your request.
If information is needed, it may query a database.
If a file is required, it may retrieve it from storage.
The application then sends a response back to your browser.
All of this can happen in a fraction of a second.
What Is a Database in the Cloud?
Applications frequently need to store structured information.
For example, an online store might store:
- Customer accounts
- Product information
- Orders
- Payments
- Inventory
- Reviews
A cloud database provides the infrastructure required to store and retrieve that information.
The developer may not need to purchase a physical server or install database software manually.
Instead, the database can be provisioned as a service.
The provider handles much of the underlying infrastructure while the application uses the database through a network connection.
The Three Classic Cloud Service Models
NIST divides cloud computing into three major service models.
IaaS: Infrastructure as a Service
Infrastructure as a Service provides fundamental computing resources such as virtual machines, storage, and networking.
Think of it as renting computers and infrastructure.
You have considerable control over what runs on those resources.
Examples include virtual servers and cloud networking services.
IaaS is popular when developers need significant control over the operating system and application environment.
PaaS: Platform as a Service
Platform as a Service goes one step further.
Instead of managing the underlying operating system and much of the infrastructure yourself, you deploy your application onto a managed platform.
The platform handles many infrastructure details.
This allows developers to spend more time writing applications and less time maintaining servers.
SaaS: Software as a Service
Software as a Service is what most ordinary users encounter.
Instead of installing and managing the application yourself, you simply use it.
Web-based email, online office applications, customer-management systems, and many other Internet applications fit this model.
The provider operates the infrastructure and application.
You use the finished service.
A simple way to remember the three models is:
IaaS = rent infrastructure.
PaaS = rent a development platform.
SaaS = use finished software.
What Is Serverless Computing?
Serverless computing takes the abstraction even further.
Despite its name, serverless computing still uses servers.
The difference is that developers generally do not manage those servers directly.
Instead, they deploy code that runs when triggered by an event.
For example:
A user uploads an image.
↓
An event occurs.
↓
A cloud function starts.
↓
The function processes the image.
↓
The result is stored.
The developer may only pay for the computing resources consumed while the function executes, depending on the service and pricing model.
Serverless architecture is particularly useful for applications with unpredictable or intermittent workloads.
How Does the Cloud Handle Millions of Users?
Imagine a website suddenly becoming extremely popular.
A traditional application running on a single physical server could become overwhelmed.
Cloud infrastructure can distribute the workload across multiple servers.
For example:
User requests
↓
Load balancer
↓
Server 1
Server 2
Server 3
Server 4
Server 5
The load balancer distributes incoming requests among available servers.
If demand increases, additional resources can potentially be added.
This is called scaling.
Scaling Up vs Scaling Out
There are two common approaches.
Vertical scaling means giving a server more resources.
For example:
4 CPU cores → 16 CPU cores
16 GB RAM → 64 GB RAM
Horizontal scaling means adding more servers.
For example:
1 server → 5 servers → 20 servers
Cloud systems make both approaches possible, although the exact options depend on the service.
Horizontal scaling is particularly important for large Internet applications.
What Does "Elasticity" Mean?
Cloud systems can often increase or decrease resources according to demand.
Imagine an online store that normally receives one thousand requests per minute.
During a major sale, that number could become one hundred thousand.
A properly designed cloud architecture can respond by allocating additional resources.
When demand falls again, those resources can be released.
This ability to expand and contract is known as elasticity.
It is one of the defining characteristics of cloud computing.
Regions and Availability Zones
Cloud providers do not normally put everything in one building.
Their infrastructure is distributed geographically.
A region is a geographic area containing cloud infrastructure.
Within regions, providers use separate locations or availability zones to help isolate infrastructure failures.
For example:
Region
├── Zone A
├── Zone B
└── Zone C
An application can be designed to operate across multiple zones.
If one location experiences a problem, another may continue serving users.
The exact terminology and architecture differs between cloud providers.
Why Does Cloud Location Matter?
The physical location of computing infrastructure can affect several things.
Latency
The farther data has to travel, the greater the network delay can be.
Availability
Distributing an application across multiple locations can reduce dependence on a single facility.
Regulations
Some organizations have legal or regulatory requirements concerning where certain data is stored.
Disaster Recovery
Geographically separated infrastructure can help organizations recover from major failures.
Cloud architecture therefore involves much more than simply choosing a server.
What Is a Content Delivery Network?
Cloud applications often serve large numbers of files such as:
- Images
- Videos
- JavaScript
- CSS
- Software downloads
- Web pages
Sending every file from one central location would be inefficient.
A Content Delivery Network, or CDN, distributes cached copies of content across locations closer to users.
A simplified example:
Original server
↓
CDN network
↓
User in Kenya
User in Germany
User in Japan
User in Brazil
Instead of every user retrieving every file from the same physical location, users can often receive cached content from a nearby edge location.
This can reduce latency and improve performance.
How Does Cloud Security Work?
Cloud security is not simply the provider's responsibility.
Security is generally divided between the cloud provider and the customer.
The exact division depends on the service being used.
A provider may be responsible for securing the physical data center and underlying infrastructure.
The customer may still be responsible for things such as:
- Account passwords
- Identity and access permissions
- Application security
- Data classification
- Configuration
- Encryption choices
- User access
This is commonly described as the shared responsibility model.
A highly secure data center does not prevent a customer from accidentally giving an attacker access to an administrator account.
Is Cloud Computing Safe?
Cloud computing can provide strong security controls, but using a cloud service does not automatically make an application secure.
Security depends on architecture, configuration, authentication, access control, software quality, monitoring, backups, and many other factors.
One common mistake is assuming that because a service is hosted by a major cloud provider, everything inside the account is automatically protected.
It isn't.
Cloud security still requires careful configuration.
Why Do Companies Use the Cloud?
Cloud computing can offer several advantages.
Lower upfront costs
A company does not necessarily need to purchase large amounts of physical hardware before launching an application.
Rapid deployment
Servers, databases, storage, and other resources can often be created much faster than traditional physical infrastructure.
Scalability
Resources can be increased as demand grows.
Global infrastructure
Applications can be deployed closer to users around the world.
Managed services
Cloud providers can operate many infrastructure components on behalf of customers.
Automation
Cloud infrastructure can be created, configured, monitored, and modified programmatically.
But Cloud Computing Has Disadvantages
Cloud computing is not magic.
It introduces its own challenges.
These can include:
- Ongoing operating costs
- Network dependency
- Vendor lock-in
- Configuration complexity
- Security mistakes
- Unexpected bills
- Compliance requirements
- Service outages
- Data migration difficulties
A poorly designed cloud application can become expensive surprisingly quickly.
Why Cloud Bills Can Become Complicated
Traditional hardware has a relatively simple purchasing model.
You buy a server.
You own the server.
Cloud computing often works differently.
You may pay for:
- CPU usage
- Memory
- Storage
- Database capacity
- Data transfer
- Requests
- IP addresses
- Backups
- Monitoring
- Managed services
This creates a different economic model.
Instead of a large upfront hardware purchase, cloud computing can turn infrastructure into an ongoing operational expense.
That can be extremely useful, but it also means usage needs to be monitored.
Who Runs the World's Cloud Infrastructure?
Several companies operate enormous cloud platforms.
Some of the best-known include:
- Amazon Web Services
- Microsoft Azure
- Google Cloud
There are also many other cloud providers, regional providers, hosting companies, and specialized infrastructure companies.
The cloud industry is therefore not one giant system owned by one company.
It is a collection of interconnected services and infrastructure operated by many organizations.
Cloud Computing Is Behind More Than You Think
You probably use cloud computing even if you have never deliberately signed up for a cloud service.
Consider:
Email.
Online banking.
Streaming video.
Online shopping.
Social media.
Cloud photo backups.
Online gaming.
File synchronization.
Web applications.
Artificial intelligence services.
Software updates.
Many modern services depend on cloud infrastructure somewhere in their architecture.
What Happens When You Open a Cloud-Based Website?
Let's put everything together.
You type a website address into your browser.
Your browser first needs to determine where the domain is located.
DNS translates the domain name into an IP address.
Your device establishes a connection to the destination.
Your request travels through networks and reaches the cloud provider.
A load balancer may distribute your request.
An application server processes it.
The application may query a database.
It may retrieve files from storage.
A CDN may provide cached content.
The application generates a response.
That response travels back across the Internet.
Your browser renders the result.
What appears to be a simple webpage may therefore involve networking, DNS, servers, databases, storage, security systems, virtualization, and multiple layers of software.
The Cloud Is Really Someone Else's Computers — But Much More Than That
There is an old joke that "the cloud is just someone else's computer."
There is some truth in it.
At the physical level, cloud computing absolutely depends on computers, storage devices, networking equipment, power systems, and data centers.
But that description misses the most important part.
Cloud computing combines physical infrastructure with virtualization, automation, distributed systems, networking, software-defined infrastructure, managed services, monitoring, security, and global connectivity.
That combination is what makes modern cloud platforms so powerful.
Cloud Computing in One Diagram
A simplified cloud architecture looks like this:
User device
↓
Internet
↓
DNS
↓
Cloud network
↓
Load balancer
↓
Application servers
↓
Database + storage
↓
Additional cloud services
↓
Data centers
The actual architecture can be vastly more complicated, but the basic principle remains the same.
Your device does not need to own the computers doing the work.
It simply needs a connection to them.
The Bigger Picture
Cloud computing changed the economics and architecture of software.
In the past, launching a major Internet service could require buying physical servers, installing them in data centers, connecting them to networks, configuring operating systems, and planning hardware capacity years in advance.
Today, much of that infrastructure can be requested through software.
A developer can create computing resources, deploy an application, connect a database, configure storage, and build a global service without personally owning the underlying hardware.
That shift has helped make it possible for small teams to build applications that can eventually serve users around the world.
The cloud is therefore not a single technology.
It is an entire way of building, delivering, and operating computing infrastructure.
And almost every time you interact with the modern Internet, there is a good chance the cloud is somewhere behind the screen.
Further Reading
- NIST — The NIST Definition of Cloud Computing
- Amazon Web Services — Cloud Computing
- Microsoft Azure — What Is Cloud Computing?
- Google Cloud — Cloud Computing Documentation
- NIST — Cloud Computing Program