Chronological evolution of cloud computing from mainframe computing in the 1950s through virtualization technologies to modern cloud service models and hypervisor developments
Cloud computing is an evolution of technology over time. The concept dates back to the 1950s when large-scale mainframes with high-volume processing power became available. The practice of time sharing (or resource pooling) evolved to make efficient use of the computing power of mainframes. Using dumb terminals, multiple users could access the same data storage layer and CPU power from any terminal.
In the 1970s, the release of an operating system called Virtual Machine (VM) made it possible for mainframes to have multiple virtual systems, or virtual machines, on a single physical node. The virtual machine operating system evolved from the 1950s application of shared access of a mainframe, allowing multiple distinct computing environments to exist on the same physical hardware. Each virtual machine hosted guest operating systems that behaved like they had their own memory, CPU, and hard drives, even though these were shared resources.
Virtualization became a technological driver and a massive catalyst for significant evolutions in communications and computing. In past physical hardware was quite expensive. With the internet becoming more accessible and the need to make hardware costs more viable, servers were virtualized into shared hosting environments, virtual private servers, and virtual dedicated servers, using the same functionality the virtual machine operating system provided.
For example, if a company needed a certain number of physical systems to run their applications, they could split one physical node into multiple virtual systems. A hypervisor is a small software layer that enables multiple operating systems to run alongside each other, sharing the same physical computing resources. A hypervisor also separates the Virtual Machines logically, assigning each slice of the underlying computing power, memory, and storage, preventing the virtual machines from interfering with each other. If one operating system suffers a crash or a security compromise, the others can keep working.
As technologies and hypervisors improved and could share deliver resources reliably, some companies decided to make the cloud’s benefits accessible to users. These users did not have an abundance of physical servers to create their cloud computing infrastructure. Since the servers were already online, spinning up a new instance was instantaneous. Users could now order cloud resources from a larger pool of available resources and pay for them on a per-use basis, also known as pay-as-you-go.
This pay-as-you-go or utility computing model became one of the key drivers behind cloud computing’s launch. The pay-per-use model allowed companies and even individual developers to pay for the computing resources as and when they used them, just like units of electricity. This allowed them to switch to a more cash-flow friendly OpEx model from a CapEx model. This model appealed to all sizes of companies, those who had little or no hardware, and even those that had lots of hardware. Instead of making substantial capital expenditures in hardware, they could pay for compute resources as and when needed. It also allowed them to scale their workloads during usage peaks and scale down when usage subsided.
This gave rise to modern-day cloud computing. Before present day cloud computing, companies had to buy physical servers, storage, and networking equipment. They had to maintain and manage these resources, which was a significant cost as shown in the diagram below. With cloud computing, companies could now rent these resources from cloud providers, who would manage the hardware and software, and provide the resources on a pay-as-you-go basis. This allowed companies to focus on their core business and not worry about managing the infrastructure.
graph TD
OnPremises[On-Premises]
classDef primary fill:#f9f,stroke:#333,stroke-width:4px;
OnPremises --> |managed by user| Applications
OnPremises --> |managed by user| Data
OnPremises --> |managed by user| Runtime
OnPremises --> |managed by user| Middleware
OnPremises --> |managed by user| OS
OnPremises --> |managed by user| Virtualisation
OnPremises --> |managed by user| Servers
OnPremises --> |managed by user| Storage
OnPremises --> |managed by user| Networking
class Applications,Data,Runtime,Middleware,OS,Virtualisation,Servers,Storage,Networking primary;
In essence , it is the delivery of computing services ( servers, databases, networking, software etc.) over the internet ( the cloud ) to offer faster innovation, flexible resources, and economies of scale. It provides the ability to manage applications and services though a global network (of data centers) from anywhere in the world. They allow their portals to be accessed from anywhere in the world, and the data is stored in secure data centers.
For example Amazon AWS, Microsoft Azure, Google Cloud, IBM Cloud, and Alibaba Cloud are some of the leading cloud providers in the market today.
Cloud computing differs from traditional hosting by:
Cloud computing is considered cost-effective because:
The essential characteristics that define cloud computing are:
Yes, cloud computing resources can be accessed from anywhere with Internet connectivity. Devices include:
Cloud computing provides scalability by:
If there is a sudden increase in demand for resources, cloud computing can:
Measured service in cloud computing means:
On-demand self-service in cloud computing is available:
Cloud computing resources can be accessed: