Cloud Computing
Cloud Computing
Characteristics
1. On-Demand Self-Service – Users can provision
computing resources without human interaction with
each service provider.
2. Broad Network Access – Services are available
over the network and accessed through standard
mechanisms (e.g., mobile phones, laptops).
3. Resource Pooling – Providers serve multiple
customers with dynamically assigned physical and
virtual resources.
4. Rapid Elasticity – Capabilities can be scaled up or
down quickly.
5. Measured Service – Usage can be monitored,
controlled, and reported for transparency and
billing.
Components
1. Front-End Platform – The client or user interface
2
(e.g., web browser, app).
2. Back-End Platform – Servers, storage, and
application resources.
3. Cloud-Based Delivery – Services like SaaS, PaaS,
and IaaS.
4. Network (Internet) – Connects front-end to back-
end platforms.
Deployment Models
1. Public Cloud – Services offered over the public
internet and available to anyone.
2. Private Cloud – Exclusive to a single organization.
3. Hybrid Cloud – Combines public and private
clouds for greater flexibility.
3
Advantages
Cost-efficiency (pay-as-you-go)
Scalability and flexibility
Business continuity and disaster recovery
Easy collaboration and updates
Limitations
Data security and privacy risks
Dependency on internet connectivity
Limited control over infrastructure
Compliance and regulatory issues
Applications
Data storage and backup
Hosting websites and blogs
Streaming services (Netflix, Spotify)
Development and testing platforms
Enterprise resource planning (ERP) systems
IoT integration and analytics
1. Utility Computing
Definition
4
Utility computing is a service provisioning model where
computing resources such as storage, processing
power, and networking are provided to users as metered
services, similar to traditional utilities like electricity or
water. Users pay only for the resources they consume,
making it a cost-efficient alternative to maintaining
private infrastructure.
Characteristics
Pay-as-you-go: Users are billed based on usage.
On-Demand Availability: Services can be
provisioned and de-provisioned as needed.
Resource Sharing: Resources are shared among
multiple clients via virtualization.
Scalability: Easily scales up or down based on
user demand.
Applications
Web hosting
Batch processing
Data analytics
Scientific simulations
Enterprise software delivery
2. Elastic Computing
Definition
5
Elastic computing refers to the ability of a cloud
system to dynamically allocate and release computing
resources based on the workload demands. It ensures
that applications have exactly the resources they need
at any time, optimizing performance and cost-
efficiency.
Characteristics
Auto-scaling: Automatically adjusts resources as
demand changes.
Agility: Adapts quickly to workload changes.
Cost-Efficiency: Prevents over-provisioning and
under-utilization.
Programmable Infrastructure: Controlled via
software APIs.
Applications
E-commerce platforms
Online gaming
Video streaming services
Data-intensive applications
Real-time analytics
Difference Between Utility Computing and Elastic
Computing:
6
Utility
Feature Elastic Computing
Computing
Billing and service
Focus Dynamic resource scaling
model
Supports auto-scaling,
Billing Based on usage
billed per scale
Available, but not Automatic and
Scalability
automatic responsive
General cloud Workload optimization
Use Case
service delivery and responsiveness
Reduce cost and Improve performance and
Goal
complexity adaptability
Hypervisor
A hypervisor, also known as a virtual machine
monitor (VMM), is software or firmware that creates and
manages virtual machines (VMs) on a host system. It
allows multiple operating systems to share a single
hardware host by abstracting the hardware layer and
allocating resources to each VM. This technology is the
backbone of virtualization in cloud computing.
Types of Hypervisors
1. Type 1 (Bare-Metal Hypervisor)
o
o
Runs directly on physical hardware.
Examples: VMware ESXi, Microsoft Hyper-V,
7
Xen.
o Advantages: Higher performance, better
resource management, more secure.
o Use Case: Data centers, enterprise
virtualization.
2. Type 2 (Hosted Hypervisor)
o Runs on top of an existing OS (like an app).
o Examples: VMware Workstation, Oracle
VirtualBox.
o Advantages: Easier setup, good for
development/testing.
o Use Case: Local desktop virtualization,
learning environments.
Characteristics
Resource Virtualization – CPU, memory, storage,
and I/O devices are virtualized.
Isolation – Each VM is isolated from others,
ensuring security and fault containment.
Hardware Abstraction – OSes can run
independently of the hardware.
Snapshot and Cloning – Ability to save VM states
or duplicate environments.
Migration Support – VMs can be moved between
hypervisors (live migration).
8
Components
1. Host Machine – The physical server where the
hypervisor runs.
2. Guest OS – Virtualized operating systems running
inside VMs.
3. Virtual Machine Monitor – Manages resource
allocation and VM operations.
4. Management Console – Interface to manage VMs
and monitor performance.
Characteristics
Fault Tolerance: Data is replicated across multiple
nodes (default is 3 copies).
High Throughput: Optimized for batch processing
and streaming large files.
Scalability: Can handle petabytes of data by simply
adding more nodes.
Write Once, Read Many: Data is immutable once
written; supports append operations.
Data Locality: Computation is moved to where data
resides, minimizing network I/O.
Components
1. NameNode – Master node that manages metadata
(file system namespace, block locations).
2. DataNodes – Store actual data blocks and report to
NameNode.
3. Secondary NameNode – Periodically checkpoints
metadata to assist recovery.
11
4. HDFS Client – Interfaces for applications to
read/write data.
Limitations
Not suitable for low-latency access.
Lacks POSIX compliance.
Doesn’t support random writes or file modifications.
Metadata is stored in memory—NameNode can
become a bottleneck.
2. MapReduce
Definition
MapReduce is a programming model and processing
engine designed to perform parallel processing on large
datasets in a distributed computing environment.
Developed by Google and implemented in Hadoop, it
splits data processing tasks into two functions: Map
(data filtering and sorting) and Reduce (aggregation and
summarization).
Characteristics
Parallel Processing: Tasks are executed across
multiple nodes simultaneously.
on other nodes.
12
Fault Tolerance: Automatically restarts failed tasks
Components
1. JobTracker (Master) – Assigns tasks to
TaskTrackers, manages job execution.
2. TaskTrackers (Workers) – Execute map and
reduce tasks on data nodes.
3. Map Function – Processes input key/value pairs
and outputs intermediate key/value pairs.
4. Reduce Function – Merges intermediate data by
key to produce the final output.
5. Input/Output Format – Determines how data is
read and written to HDFS.
Limitations
High latency; not suitable for real-time processing.
learning).
13
Inefficient for small or iterative tasks (e.g., machine
Characteristics
Bandwidth Management: Allocates network
capacity to different traffic types.
Latency Control: Ensures time-sensitive data (like
voice or video) reaches its destination quickly.
Jitter Management: Reduces variation in packet
arrival time to ensure smooth playback or
communication.
Packet Loss Prevention: Minimizes data loss,
especially for critical applications.
Applications
VoIP (Voice over IP)
Video conferencing (e.g., Zoom, Microsoft Teams)
Online gaming
Streaming media services
Enterprise resource planning (ERP) systems
Industrial IoT communications
Sky Computing
Sky Computing is an emerging paradigm in cloud
computing that envisions a unified, transparent, and
interoperable cloud ecosystem where multiple cloud
providers operate like a single large “sky” of computing
resources. Unlike traditional multi-cloud or hybrid cloud
setups, Sky Computing abstracts away the complexity of
managing different providers, allowing seamless
computation and data sharing across diverse cloud
platforms.
Characteristics
Cloud Interoperability – Abstracts cloud provider
boundaries, enabling cross-provider functionality.
Seamless Portability – Applications and data can
move freely between clouds without modification.
15
Decentralized Resource Aggregation –
Leverages compute, storage, and services from
multiple cloud vendors.
Vendor Agnosticism – Users are not locked into
one provider, enhancing flexibility and reducing
costs.
Federated Management – Resources from
different clouds are managed under a unified
control plane.
Characteristics
Loose Coupling: Services are independent and
interact via well-defined interfaces.
Reusability: Services are modular and reusable
across different applications.
Interoperability: Supports integration across
diverse platforms and technologies.
Discoverability: Services can be published in a
directory and discovered dynamically.
Composability: Services can be combined into
larger workflows or applications.
Components
1. Service Provider – Develops and hosts the
service; publishes the interface.
2. Service Consumer – Calls or uses the service
based on its interface.
17
3. Service Registry – A directory where services are
published for discovery (e.g., UDDI).
4. Service Contract – A formal specification
describing service capabilities, input/output, and
usage.
5. Middleware – Connects, manages, and secures
service interactions (e.g., ESB – Enterprise Service
Bus).
6. Message Protocols – Standards like SOAP, REST,
XML, JSON used for communication.
Mobile Computing:
Mobile computing refers to the ability to use
computing devices wirelessly in motion without being
tethered to a fixed physical location. It enables access to
data, applications, and services anytime and anywhere
using mobile devices like smartphones, tablets, and
laptops, often through wireless networks such as Wi-Fi,
20
4G/5G, or Bluetooth.
Characteristics
Portability: Devices are lightweight and designed
for use on the move.
Ubiquitous Access: Enables access to networks
and data from virtually anywhere.
Wireless Communication: Operates using
wireless technologies like cellular, Wi-Fi, or satellite.
Real-Time Connectivity: Supports on-the-go
access to live information and cloud services.
Mobility: Supports dynamic environments and
mobile user interaction.
Energy Efficiency: Devices are optimized for
battery usage and low power consumption.
Types of Mobile Computing:
1. Mobile Communication – Wireless networks and
protocols that enable mobile connectivity.
2. Mobile Hardware – Physical devices designed for
mobility.
3. Mobile Software – Applications and OS tailored for
mobile experiences.
Applications
Healthcare – Mobile health monitoring,
21
telemedicine, and patient record access.
Banking – Mobile banking, digital wallets, and on-
the-go financial services.
Retail – Mobile POS systems, inventory checks,
and real-time customer service.
Transportation & Logistics – Fleet tracking, route
optimization, and delivery updates.
Education – Mobile learning platforms, e-books,
and virtual classrooms.
Field Services – Utility workers, inspectors, and
emergency responders use mobile devices in real-
time.
Pitfalls of Virtualization:
2. Private Cloud
o Definition: A Private Cloud is a cloud
environment dedicated to a single organization.
It can be hosted on-premises or by a third-party
provider. Unlike public clouds, the infrastructure
is not shared with others, providing greater
control and customization.
o Characteristics:
Exclusive use by a single organization.
Can be hosted on-site or externally.
Greater control over security and privacy.
o Advantages:
Security: Enhanced security and data
control.
26
Customization: Ability to tailor the
environment to specific needs.
Compliance: Easier to meet regulatory
requirements.
o Limitations:
Higher Cost: Requires investment in
hardware, software, and management.
Scalability: Less elastic compared to
public clouds.
Maintenance: Organization is responsible
for infrastructure upkeep.
3. Hybrid Cloud
o Definition: A Hybrid Cloud combines both
private and public cloud environments, allowing
data and applications to be shared between
them. It provides flexibility by leveraging the
scalability of the public cloud while maintaining
control over sensitive data with a private cloud.
o Characteristics:
Integrates public and private clouds.
Allows workloads to move seamlessly
between environments.
o
Advantages:
27
Offers a balance of scalability and control.
4. Community Cloud
o Definition: A Community Cloud is shared by
several organizations that have common
interests, such as compliance requirements,
security policies, or specific business goals. It
is a collaborative environment where resources
are shared among a group with similar needs.
28
o Characteristics:
Shared by multiple organizations with
similar objectives.
Hosted either internally or by a third-party
provider.
Costs and resources are shared among
community members.
o Advantages:
Shared Costs: Expenses are distributed
among several organizations.
Tailored for Specific Needs: Suited for
businesses with common goals or
compliance requirements.
Collaboration: Encourages sharing of
resources and knowledge between
organizations.
o Limitations:
Limited Control: Less flexibility compared
to private clouds.
Complex Governance: Managing shared
resources across organizations can be
complex.
Characteristics
Owner-Centric Control: The resource owner
determines who has access to their resources and
to what degree (read, write, etc.).
Flexible: Users can assign permissions to others,
making the system more flexible than other models
like Mandatory Access Control (MAC).
Dynamic Permissions: Permissions can be
changed or revoked by the owner at any time.
Identity-Based: Permissions are granted based on
user identity and roles.
Permissions Propagation: The ability to pass
permissions to other users, allowing sharing of
resources.
30
Components of DAC
1. Owner: The person who creates or owns a
resource (e.g., a file or application). The owner
controls access to the resource.
2. Users: Individuals who access the resource. Users
may be granted or denied permissions by the
owner.
3. Permissions: The rights (read, write, execute,
delete) granted to users for accessing or modifying
the resource.
4. Access Control Lists (ACLs): A list associated
with a resource that specifies the permissions for
various users or groups.
5. File or Object: The actual resource being
protected, such as a file, database record, or
application.
Applications of DAC:
File Systems: Most modern operating systems,
such as Windows and Unix-based systems (Linux,
macOS), use DAC for file access control. For
instance, in Linux, each file has an owner and the
owner can set permissions for users and groups to
access the file.
31
Database Systems: Database administrators may
grant or revoke access to different users based on
their discretion, particularly in systems like MySQL
or PostgreSQL.
Shared Network Drives: Network file servers use
DAC to determine which users can access or
modify files on shared network drives.
Cloud Storage Services: Cloud storage solutions
(e.g., Google Drive, Dropbox) often allow users to
share documents and set specific access rights
(view, edit, etc.) for others.
1. VMware
VMware is a global leader in virtualization technology and cloud
infrastructure. It provides software solutions that enable
organizations to virtualize their IT resources, such as servers,
storage, and networking. VMware’s products allow businesses
to create and manage virtualized environments, increasing
efficiency, reducing costs, and enhancing scalability.
Key Products:
VMware ESXi: A type-1 hypervisor that runs directly on
physical hardware to create and manage virtual machines.
VMware vSphere: A suite of software tools used to
manage and operate VMware’s virtualized infrastructure,
including ESXi and vCenter Server.
VMware Workstation: A desktop application for running
virtual machines on a personal computer.
VMware vCenter: A centralized management platform for
35
VMware environments.
2. vSphere
VMware vSphere is a comprehensive virtualization platform
that allows businesses to manage virtualized environments on
a large scale. It provides the tools to create, manage, and
monitor virtual machines (VMs) on a centralized infrastructure.
vSphere is built around VMware's ESXi hypervisor and
vCenter Server for management and orchestration.
Key Features:
vCenter Server: Centralized management tool for
managing ESXi hosts and virtual machines.
High Availability (HA): Ensures that VMs remain online in
case of host failures by restarting them on other available
hosts.
vMotion: Enables live migration of VMs from one physical
server to another without downtime.
Distributed Resource Scheduler (DRS): Automatically
balances workloads across multiple ESXi hosts to
optimize resource utilization.
Fault Tolerance (FT): Provides continuous availability by
creating an identical VM running in parallel, which takes
over if the primary VM fails.
Use Cases:
Data center management, disaster recovery, and cloud
infrastructure.
Scalability and resource management for large virtualized
environments.
3. Virtual Machines (VM)
36
A Virtual Machine (VM) is a software-based emulation of a
physical computer. It runs its own operating system and
applications, just like a physical machine, but is hosted on a
physical server using a hypervisor such as VMware ESXi. VMs
are isolated from each other, allowing multiple virtualized
instances to run on the same physical hardware.
Key Features:
Isolation: VMs are independent of each other, meaning
that issues in one VM (such as crashes) do not affect
others.
Resource Allocation: VMs have allocated resources
(CPU, memory, storage) that can be dynamically adjusted.
Portability: VMs can be moved between different physical
machines or data centers.
Snapshot and Cloning: VMs can be cloned or
snapshotted for backup, testing, and disaster recovery
purposes.
Use Cases:
Testing and Development: Ideal for running different
operating systems or configurations on a single machine.
Server Consolidation: Multiple VMs can run on one
physical server, improving hardware utilization and
reducing physical space requirements.
Disaster Recovery: VMs can be easily backed up,
restored, or migrated, offering flexibility for recovery
scenarios.
Feature VMware vSphere
Virtual
Machine
(VM)
37
Company
that provides A virtualized
Virtualization
virtualization instance of a
platform for
Definition tools and computer
managing
cloud running on a
VMs at scale
infrastructure physical host
solutions
Offers
Manages Runs
virtualization
virtualized applications
Primary and cloud
environments and OS as a
Function solutions
and virtualized
(ESXi,
infrastructure instance
vCenter, etc.)
ESXi Virtual CPU,
ESXi,
(hypervisor), RAM,
vCenter,
Components vCenter storage,
Workstation,
Server, network
Cloud Suite
vMotion, HA interfaces
Cloud Large-scale Testing,
computing, data centers, development,
enterprise cloud server
Use Cases
virtualization, management, consolidation,
server resource disaster
consolidation allocation recovery
Feature VMware vSphere
Virtual
Machine
(VM)
38
Broad range Infrastructure
of management Single
virtualization for large- virtualized
Scope
products and scale instance or
cloud virtualized machine
services environments
Managed
Managed Managed
individually or
through through
through
Management products like vCenter for
management
vCenter centralized
tools (like
Server control
vSphere)
Cloud Middleware:
Cloud middleware is the software layer that sits between the
cloud infrastructure (hardware and virtualization layer) and the
application layer. It provides essential services like
communication, authentication, load balancing, data
management, and orchestration across distributed cloud
environments. It acts as a "glue" that simplifies interaction
between different cloud components and abstracts the
complexity of cloud platforms for developers and users.
Key Components
API Gateways: Facilitate communication between
services and external clients.
Message Queues & Brokers: Ensure asynchronous data
exchange between components (e.g., RabbitMQ, Kafka).
Service Bus: Connects various cloud services and
39
ensures message routing and transformation.
Security Services: Manage authentication, authorization,
and encryption.
Orchestration Engines: Automate and manage multi-step
service workflows (e.g., Kubernetes, Docker Swarm).
Characteristics
Platform-independent interaction
Supports multi-cloud and hybrid cloud deployments
Enhances scalability and fault tolerance
Decouples application logic from infrastructure
Applications:
SaaS integration
Microservices communication
IoT backend management
Multi-cloud orchestration and governance
Multiple runtime support: Supports Python, Java, Go,
Node.js, and more.
Fully managed: Google handles patching, monitoring,
41
load balancing, etc.
Micro-billing: You pay only for what you use.
Components
App Engine Standard Environment: For rapid
deployment and limited customizability.
App Engine Flexible Environment: Allows custom
runtimes and more control over infrastructure.
Google Cloud Datastore/Firestore: Integrated NoSQL
databases.
Traffic Splitting: Enables A/B testing by splitting user
traffic across versions.
Feature Google Bigtable Google App Engine
NoSQL Database Platform as a Service
Type
(Storage Layer) (Execution Layer)
Store & retrieve
Deploy & run
Purpose structured data at
applications
scale
Big data analytics, Web apps, APIs,
Use Case
logging, IoT microservices
Horizontally scalable Automatic application
Scaling
database scaling
Managed By Google Cloud Platform Google Cloud Platform
Feature
Language
Google Bigtable
Interfaced through
Google App Engine
Multiple languages
42
Support gRPC, REST supported (Java, Go)
Core Components
Characteristics
45
Industry-led: Formed by cloud experts, vendors, and
security professionals.
Open standards: Freely available guidance and
documentation.
Global influence: Works with organizations and
governments worldwide.
Security-focused: Covers identity, access, compliance,
data privacy, and more.
Users access software through a web browser or
mobile app.
Examples: G Suite, Office 365, Salesforce.
46
Cloud service administration and monitoring:
1. Provision Resources – Create VMs, databases, storage
using cloud consoles or IaC tools.
2. Configure Services – Set up OS, networks, and security
settings.
3. Manage Access – Use IAM to assign roles and control
permissions.
4. Monitor Performance – Track CPU, memory, uptime via
tools like CloudWatch or Azure Monitor.
5. Log Activity – Collect logs for events, errors, and user
actions.
6. Set Alerts – Define thresholds to trigger alerts for
anomalies.
7. Automate Scaling – Use auto-scaling for dynamic
resource management.
8. Control Costs – Monitor usage and set budget alerts.
9. Ensure Security – Run compliance checks and apply
policies.
10. Handle Incidents – Use backups, playbooks, and
DR tools for recovery.
47