Cloud computing involves various scenarios, characteristics, definitions, origins, and development. It explores advantages, classification, and supporting technologies.
Business model, computing model, and implementation are key perspectives for understanding cloud computing, along with open-source methods.
Chapter aims for a clearer understanding of cloud computing and lays the foundation for further study.
1.2 History and Evolution
The idea of computing in a “cloud” can be traced back to the origins of utility computing. Proposed in 1961 by computer scientist John McCarthy.
In 1969, Leonard Kleinrock mentioned internet-based computer utilities.
Mid-1990s: Public used search engines (Yahoo!, Google), e-mail (Hotmail, Gmail), open publishing platforms (MySpace, Facebook, YouTube), and social media (Twitter, LinkedIn).
These services validated core concepts forming the basis of modern-day cloud computing.
Late 1990s: Salesforce.com pioneered remotely provisioned services for enterprises.
2002: Amazon.com launched Amazon Web Services (AWS).
AWS provides remotely provisioned storage, computing resources, and business functionality.
Early 1990s: “Network Cloud” or “Cloud” referred to an abstraction layer in data delivery across heterogeneous public and semi-public networks.
The networking method supported data transmission from local network to wide area network and then to another endpoint.
2006: The term “cloud computing” emerged commercially.
Amazon launched Elastic Compute Cloud (EC2) services, enabling organizations to “lease” computing capacity and processing power.
Google Apps also began providing browser-based enterprise applications, and the Google App Engine became another milestone.
1.3 History of Computing Models
Cloud computing is a result of the evolution of past technologies and computing models.
It is a model suitable for current business needs and technical feasibility.
Figure 1.1: History of Computing models (Manvi and Shyaam, 2021)
Cloud computing combines multiple computing technologies and models, sharing similarities with existing models.
Software runs in the cloud; customers access cloud services through mobile terminals or clients, similar to the client/server model.
Automatic scaling of cloud resources resembles automatic computing. Cloud computing gathers resources for customer use, similar to grid computing.
1.4 Introduction to Cloud Computing
Cloud computing is a style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service to external customers using Internet technologies.
It is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Cloud computing is used for storing and accessing data over the internet, accessing it from a remote server.
IBM defines cloud computing as a computing style based on the delivery of services, software, and processing power over public or private networks.
Cloud computing focuses on the user experience, separating computing services from the underlying technology.
Cloud computing shares infrastructure by connecting public or private networks to provide IT services to users.
Eric Schmidt (Google’s former CEO) argues that cloud computing distributes computing and data across many distributed computers.
This makes computing and storage capabilities highly scalable, allowing users to easily access applications and services over the network through computers and mobile phones.
Figure 1.2: Overview of cloud computing (Manvi and Shyaam, 2021)
The Driving Force of Cloud Computing
Cloud computing has emerged as a result of several crucial factors that have shaped its development and adoption.
These driving forces include improvements in internet infrastructure, technological advancements, the growth of mobile internet, data center evolution, economic considerations, and the rise of big data.
Improved Internet Bandwidth
The widespread availability and enhancement of internet bandwidth have been essential for cloud computing adoption.
Users need reliable access to remote computing and storage resources.
Advancements have facilitated smooth cloud interactions, making bandwidth limitations almost imperceptible to users.
Technology Maturity
Cloud computing combines various advancements, such as virtualization, distributed computing, and automation.
Earlier computing models like utility computing did not gain popularity due to their lack of operational feasibility.
Cloud computing has become viable through the maturity of IT services, enabling efficient management of large-scale infrastructure.
Modern cloud data centers operate like massive factories, utilizing hundreds of servers interconnected to provide seamless and cost-effective computing resources.
The Growth of Mobile Internet
The proliferation of smartphones, tablets, and other digital devices has led to a significant increase in internet usage.
Users now own multiple devices, each requiring data synchronization, storage, and accessibility across platforms.
Cloud computing offers a solution by providing centralized storage, enabling seamless access, automatic synchronization, and easy data management.
Evolution of Data Centers
Modern data centers have become critical for computing and storage, serving as the