1
Cloud Computing
Unit-1
(Introduction)
What is Cloud Computing?
Cloud computing is a technology that provides computing resources (such as
servers, storage, databases, networking, and software) over the internet. Users can
access their data and applications without needing physical hardware.
Cloud Computing means storing and accessing the data and programs on
remote servers that are hosted on the internet instead of the computer’s
hard drive or local server.
The following are some of the Operations that can be performed with
Cloud Computing
Storage, backup, and recovery of data
Delivery of software on demand
Development of new applications and services
Streaming videos and audio
Characteristics of Cloud Computing
1. On-Demand Service-
Users can use cloud resources (like storage, servers, and
applications) anytime they need.
No need to ask the cloud provider for help.
Example: You can create a new virtual machine on AWS or Google Cloud
instant. .
2
2.Access from Anywhere
Cloud services work over the internet and can be used from any place.
Devices like mobile phones, laptops, and tablets can connect to the cloud.
Example: You can open Google Drive files from your phone, laptop, or any other
device.
3.Shared Resources
Cloud providers use the same resources for many users.
Storage, processing power, and memory are divided based on need.
Example: A cloud server may host many websites, but each website gets its own
space.
4.Scalability (Increase or Decrease Resources)
Cloud computing can automatically add or remove resources when
needed.
This helps businesses handle more users when demand is high.
Example: Online shopping websites get more traffic during sales, so they
increase server power temporarily.
5.Pay-as-You-Go (Only Pay for What You Use)
Users only pay for the resources they use.
No extra charges for unused services.
Example: If you store 5GB of data on Google Drive, you only pay for that, not
for unlimited storage.
3
2. High Availability (Always Working)
Cloud services run 24/7 with little or no downtime.
Data is saved in multiple locations to prevent loss.
Example: If one cloud data center fails, your data will still be available from
another location.
3. Multi-Tenancy (Many Users on One System)
Many users or companies share the same cloud system securely.
Each user’s data stays private and separate.
Example: A single cloud server can run apps for many businesses without
mixing their data.
4. Security
Cloud providers use encryption, passwords, and firewalls to protect
data.
Users can control who can access their files and applications.
Example: Google and Microsoft use two-step verification for extra security.
4
5
Types of Cloud Computing-/Cloud Computing Models-
1. Based on Service Models (Cloud Computing Services)
These define what kind of services the cloud provider offers:
Infrastructure as a Service (IaaS) – Provides virtualized computing resources
like servers, storage, and networking.It provides scalable and virtualized
computing resources like servers, storage, and networking over the
internet.In this service, users can have full control over the infrastructure,
having customization and management access of virtual machines,
storage, and networking components.
Example: AWS EC2, Google Compute Engine, Microsoft Azure Virtual
Machines.
6
Platform as a Service (PaaS) – Provides a platform with tools and infrastructure
to develop, test, and deploy applications.It provides a platform and a
environment for developers to build, deploy, and manage applications
without dealing with the underlying infrastructure.It offers tools and
services such as development frameworks, databases, and middleware,
streamlining the application development lifecycle.
Example: Google App Engine, Microsoft Azure App Service, AWS Elastic
Beanstalk.
Software as a Service (SaaS) – Delivers fully functional software applications
over the internet.SaaS elivers software applications over the internet on a
subscription basis. It eliminating the need for users to install, maintain, or
update the software locally.
With this service users can access the applications from any device with
an internet connection, enabling flexibility and accessibility.
Example: Google Workspace, Microsoft 365.
Difference Between IaaS, PaaS and SaaS-
7
2. Based on Deployment Models (Types of Cloud Environments)
These define how the cloud infrastructure is deployed and used:
8
Public Cloud – Resources are shared and provided to multiple users over the
internet by third-party providers. Public clouds are managed by third parties
which provide cloud services over the internet to the public, these services
are available as pay-as-you-go billing models.
Example: AWS, Google Cloud, Microsoft Azure.
9
Private Cloud – Dedicated cloud infrastructure used exclusively by one
organization. Private clouds are distributed systems that work on private
infrastructure and provide the users with dynamic provisioning of
computing resources.
Example: Hosted Private Cloud, On-Premise Cloud.
10
Hybrid Cloud – A combination of public and private clouds to leverage
both flexibility and security.
Example: IBM Hybrid Cloud, AWS Outposts.
11
Community Cloud – A cloud shared by multiple organizations with common
concerns (e.g., government or healthcare sectors).In the community cloud, the
infrastructure is shared between organizations that have shared concerns
or tasks. An organization or a third party may manage the cloud.
Example: Government Cloud (GovCloud by AWS).
12
Evolution of Cloud Computing
Cloud computing has evolved over time through various technological
advancements. It started with basic computing methods and gradually developed
into the modern cloud-based systems we use today.
Early Computing (1950s – 1970s)
In the 1950s, large mainframe computers were used for
processing data.
Multiple users accessed a single mainframe through time- sharing,
where each user got a specific time to use the system.
This was the foundation of shared computing resources.
Rise of Networking and Virtualization (1980s – 1990s)
The development of personal computers and local area networks (LANs)
allowed computers to connect and share resources.
Virtualization technology emerged, enabling multiple virtual machines
(VMs) to run on a single physical server.
This made computing more efficient and cost-effective.
Introduction of Grid and Distributed Computing (1990s – Early 2000s)
Grid computing allowed multiple computers in different
locations to work together as a single system.
Distributed computing helped in processing large-scale
applications by dividing tasks among multiple systems.
These technologies played an important role in the development of cloud
computing.
13
Birth of Cloud Computing (Mid-2000s)
In 2006, Amazon Web Services (AWS) launched cloud-based services like
Elastic Compute Cloud (EC2) and Simple Storage Service (S3).
Companies started offering Infrastructure as a Service (IaaS), Platform as
a Service (PaaS), and Software as a Service (SaaS) models.
Businesses began shifting to cloud-based solutions for better scalability
and flexibility.
Modern Cloud Computing (2010s – Present)
Cloud computing became widely adopted by businesses, governments,
and individuals.
Major providers like Google Cloud, Microsoft Azure, and IBM Cloud
expanded their services.
Advanced technologies such as Artificial Intelligence (AI), Big Data, and
Internet of Things (IoT) integrated with cloud computing.
Edge computing and hybrid cloud models emerged to improve speed and
efficiency.
Future of Cloud Computing
Cloud technology is continuously evolving with serverless computing,
quantum computing, and enhanced security measures.
More businesses are adopting multi-cloud strategies to improve
performance and reduce risks.
The cloud is expected to become even more intelligent, automated, and
accessible in the coming years.
14
Underlying Principles of Parallel and Distributed Computing
Parallel Computing
Parallel computing is a method where a task is divided into smaller parts, and
these parts are executed simultaneously on multiple processors. This helps in
completing the task faster compared to a single processor system.
Key Principles of Parallel Computing
1. Task Division
o A large task is broken into smaller independent tasks that can run
at the same time.
2. Multiple Processors
o These smaller tasks are processed using multiple CPUs or cores in a
system.
3. Synchronization
o All processors coordinate their work and share
intermediate results when required.
4. Speedup and Efficiency
o The more processors used, the faster the execution, improving
overall system performance.
Examples of Parallel Computing
Video processing (such as rendering movies and animations).
Scientific simulations (such as weather forecasting).
Gaming (for real-time physics and graphics calculations).
15
Distributed Computing
In distributed computing, a large task is divided among multiple computers
(called nodes), which communicate over a network. Unlike parallel computing,
these computers are physically separate and may be located in different locations.
Key Principles of Distributed Computing
5. Decentralization
o There is no single central computer; multiple computers work
together to complete the task.
6. Resource Sharing
o Different computers share their processing power,
storage, and memory to solve a problem.
7. Communication and Coordination
o Nodes (computers) exchange information through a
network to stay updated and work efficiently.
8. Fault Tolerance
o If one computer fails, others can continue working without stopping
the entire system.
Examples of Distributed Computing
Cloud computing services (Google Drive, Dropbox).
Cryptocurrency networks (Bitcoin, Ethereum).
Large-scale web applications (Facebook, YouTube)
Difference Between Parallel and Distributed Computing
16
Feature Parallel Computing Distributed Computing
Location of Processors are in a single Processors are in different
processors system (shared memory). systems (distributed memory).
Shared memory among Each system has its own
Memory
processors. memory.
Through message passing
Communication Through shared memory.
over a network.
Coupling Tightly coupled systems. Loosely coupled systems.
Less fault tolerant (single More fault tolerant (failure of
Fault Tolerance
point of failure). one node doesn't halt all).
Scalability Limited scalability. Highly scalable.
Scientific computation, Cloud computing, big data,
Use Cases
simulations. web services.
17
Elasticity in Cloud
Elasticity means the cloud can increase or decrease resources
automatically based on deman
18
If more users visit a website, the cloud adds more resources to handle the traffic.
When the demand is low, the cloud reduces resources to save costs.
This helps businesses run smoothly without wasting money on extra resources.
Example:
An e-commerce website gets more visitors during a festival sale. The cloud
automatically increases server capacity to handle the traffic. After the sale ends,
it reduces the capacity.
1. On-Demand Provisioning
On-Demand Provisioning means cloud resources (like storage, servers, and
applications) are provided only when needed.
Users can get resources instantly without waiting. No need
to buy expensive hardware in advance.
Helps in reducing costs because users pay only for what they use.
Example:A startup needs a database server but does not want to buy hardware.
They can rent a cloud database and use it when required.
Cloud Architecture
Cloud architecture is the blueprint of how various components and technologies
work together to deliver cloud services. It involves a complex structure that
includes front-end platforms (like clients or devices), back-end platforms (like
servers and storage), cloud-based delivery, and a network (usually the Internet).
The architecture enables scalability, availability, and automation through
virtualization, distributed computing, and resource pooling.
Explanation:
Front-End: User interface or client-side applications through which users
interact with the cloud. Examples include web browsers, thin clients, or
mobile apps.
Back-End: This includes servers, storage, virtual machines, databases, and
management systems. It performs the actual operations and processing.
Middleware: Connects front-end and back-end components and enables
communication between them.
Virtualization Layer: Enables efficient resource sharing and provisioning
by abstracting hardware.
Cloud Delivery Models: Includes IaaS, PaaS, and SaaS which are built on
top of the cloud architecture.
2. Business Models Around Clouds
Cloud business models are frameworks that define how cloud service providers
offer and monetize their services to customers. These models determine the type
of service delivery (IaaS, PaaS, SaaS), the billing strategy (pay-as-you-go,
subscription-based), and the value proposition for consumers and enterprises.
Types:
19
Infrastructure as a Service (IaaS): Offers virtualized computing
resources such as servers, storage, and networks. E.g., Amazon EC2.
Platform as a Service (PaaS): Provides a platform to develop, run, and
manage applications. E.g., Google App Engine.
Software as a Service (SaaS): Delivers software applications over the
internet. E.g., Microsoft Office 365.
Function as a Service (FaaS): Also known as serverless computing, users
run code in response to events without managing servers.
3. Major Players in Cloud Computing
Major players in cloud computing are the leading companies that dominate the
market by offering a wide range of cloud services with high availability, global
infrastructure, and enterprise-grade solutions.
Top Players:
Amazon Web Services (AWS): Market leader offering IaaS and PaaS with
services like EC2, S3, Lambda, etc.
Microsoft Azure: Offers services across IaaS, PaaS, and SaaS, integrated
with Microsoft tools.
Google Cloud Platform (GCP): Known for data analytics, AI, and
scalable storage services.
IBM Cloud: Focuses on hybrid cloud and AI solutions.
Oracle Cloud: Best for database-driven cloud solutions.
Alibaba Cloud: Leading cloud provider in China and rapidly expanding
globally.
4. Issues in Clouds
Cloud computing faces several issues and challenges that can impact its
performance, security, legal compliance, and user trust. These issues need careful
handling for successful cloud adoption.
Major Issues:
Security and Privacy: Data breaches, unauthorized access, and data
leakage risks.
Data Lock-In: Difficulty in migrating from one provider to another.
Downtime and Service Availability: Internet dependency leads to
downtime risks.
Compliance and Legal Issues: Different countries have different
regulations for data storage and protection.
Resource Management: Dynamic allocation of resources and cost
optimization can be complex.
Interoperability: Compatibility between different cloud platforms or APIs
is often limited.
5. Eucalyptus
20
Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs
to Useful Systems) is an open-source cloud computing software framework for
building private and hybrid clouds. It provides features compatible with AWS
APIs, making it easy to manage virtual resources.
Features:
Supports EC2, S3 compatible APIs.
Ideal for internal/private cloud setups.
Supports Xen and KVM hypervisors.
Offers elastic scaling and security configurations.
6. Nimbus
Nimbus is an open-source toolkit for turning a cluster into an Infrastructure as a
Service (IaaS) cloud. It allows scientists and researchers to configure and deploy
virtual machines on-demand using a cloud interface.
Features:
Targeted towards scientific computing and research.
Lightweight and supports virtualization using Xen.
Provides user-level control of VMs.
Integrates easily with Globus Toolkit and Grid systems.
7. OpenNebula
OpenNebula is a robust, open-source platform that enables enterprises and service
providers to build private, public, or hybrid cloud infrastructures. It is designed
for data center virtualization and resource management.
Features:
Supports KVM, VMware, and LXD virtualization.
Easy integration with storage, networking, and user management.
Provides graphical and command-line interfaces.
High flexibility and customizable cloud deployment.
8. CloudSim
CloudSim is a simulation toolkit developed by the Cloud Computing and
Distributed Systems (CLOUDS) Laboratory at the University of Melbourne. It is
used for modeling and simulating cloud computing infrastructures and application
services.
Use Cases:
Evaluate cloud performance before actual deployment.
Simulate data centers, virtual machines, applications, and resource
provisioning.
Test scheduling and load balancing algorithms.
Benefits:
No need for real cloud environment.
Reduces development cost and time.
Highly extensible for different cloud models.