Browse Courses

History of Cloud Computing

Chronological evolution of cloud computing from mainframe computing in the 1950s through virtualization technologies to modern cloud service models and hypervisor developments

History and Evolution of Cloud Computing

Early Beginnings

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.

Virtualization in the 1970s

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.

The Rise of Virtualization

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.

Hypervisors and Resource Sharing

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.

Emergence of Cloud Services

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.

Pay-As-You-Go Model

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.

Modern-Day Cloud Computing

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;

What is modern day Cloud computing

  1. Modern-day cloud computing is a model that enables easy, on-demand network access to a shared pool of configurable computing resources.
  2. These resources can be quickly provided and released with minimal management effort or interaction with the service provider. Examples include networks, servers, storage, applications, and services.

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.


Conclusion


FAQ

Cloud computing differs from traditional hosting by:

  • Offering more flexibility and scalability.
  • Using technologies like virtualization.
  • Allowing quick provision of resources without complex IT infrastructure updates.

Cloud computing is considered cost-effective because:

  • It uses a shared model that provides economies of scale.
  • Consumers only pay for what they use or reserve.
  • It eliminates the need for maintaining physical IT infrastructure.

The essential characteristics that define cloud computing are:

  • On-Demand Self-Service
  • Broad Network Access
  • Resource Pooling
  • Rapid Elasticity
  • Measured Service

Yes, cloud computing resources can be accessed from anywhere with Internet connectivity. Devices include:

  • Desktops
  • Laptops
  • Tablets
  • Smartphones
  • Smart wearables

Cloud computing provides scalability by:

  • Allowing resources to be increased or decreased as needed.
  • Supporting vertical scaling (scaling up or down) and horizontal scaling (scaling out).

If there is a sudden increase in demand for resources, cloud computing can:

  • Quickly provide additional resources to meet the demand.
  • Scale back down once the demand decreases.

Measured service in cloud computing means:

  • Consumers only pay for what they use.
  • It is similar to a utility model of billing, like monthly electric charges.
  • Some services, like general email or social media, may not apply to measured service.

On-demand self-service in cloud computing is available:

  • Whenever needed, similar to using an ATM or a vending machine.
  • Except during outages or security breaches.

Cloud computing resources can be accessed:

  • Over the Internet for public cloud services.
  • Over an Intranet for on-premises private cloud services.

Yes, cloud computing is expected to grow in the future as technology continues to evolve, offering more innovative solutions to meet the demands of businesses.