Cloud computing means using internet-based servers to store data, run software, and do
computing work instead of using your own computer or local server.
In simple words
You rent computing services online—like storage, servers, databases, and software—and
use them anytime, anywhere through the internet.
Easy example
Gmail → your emails are stored on Google’s servers, not on your laptop
Google Drive / Dropbox → files saved in the cloud, accessible from any device
Main features
No hardware needed – no server buying
Pay as you use – save money
Scalable – increase/decrease resources anytime
Accessible – use from anywhere
Types of cloud services
1. IaaS (Infrastructure as a Service) – virtual servers & storage
2. PaaS (Platform as a Service) – environment to build apps
3. SaaS (Software as a Service) – ready-made software online
Popular cloud providers
Amazon Web Services (AWS)
Microsoft Azure
Google Cloud
One-line definition (exam-ready)
Cloud computing is the delivery of computing services like storage, servers, and software
over the internet on a pay-as-you-use basis.
Characteristics of Cloud Computing
1. On-demand self-service
Users can get storage, servers, or software whenever needed without human
interaction.
2. Broad network access
Cloud services are accessible anytime, anywhere using internet (mobile, laptop, PC).
3. Resource pooling
Cloud provider shares resources (servers, storage) among many users using multi-
tenancy.
4. Rapid elasticity & scalability
Resources can be increased or decreased quickly as per demand.
5. Measured service (Pay-as-you-use)
You pay only for what you use (like electricity bill).
6. High availability & reliability
Services run on multiple servers, so failure of one doesn’t stop service.
7. Cost efficiency
No need to buy hardware or maintain servers → lower cost.
8. Security
Data encryption, authentication, backups, and access control are provided.
Disadvantages of Cloud Computing
1. Internet dependency
Without a good internet connection, cloud services cannot be accessed.
2. Security & privacy risks
Data is stored on third-party servers, so there is risk of data breach or hacking.
3. Downtime
Cloud provider server failure or maintenance can cause service unavailability.
4. Limited control
Users have less control over hardware and infrastructure.
5. Vendor lock-in
Switching from one cloud provider to another can be difficult and costly.
6. Performance issues
Heavy traffic or slow internet may cause latency and slow performance.
7. Hidden costs
Extra storage, data transfer, or premium services may increase cost unexpectedly.
8. Compliance & legal issues
Data location and government laws may create regulatory problems.
Evolution of Cloud Computing (Diagram Explanation)
This diagram shows how cloud computing developed step-by-step over time. Each step
adds new ideas and technologies.
1. Distributed Computing (1950s)
Many computers work together.
Tasks are shared to improve speed and reliability.
Foundation of all modern cloud systems.
2. Mainframe Computing
One powerful central computer used by many users.
Users connect through terminals.
Expensive and centralized.
3. Cluster Computing
Multiple computers (nodes) connected in a single location.
Workload divided among nodes.
Better performance than a single system.
4. Grid Computing
Computers from different locations work together.
Resources are shared across organizations.
Used in scientific and research applications.
5. Virtualization
One physical machine runs multiple virtual machines.
Better hardware utilization.
Key technology behind cloud computing.
6. Web 2.0
Interactive web applications (user-generated content).
Examples: social media, online services.
Increased demand for scalable backend systems.
7. Service Orientation (SOA)
Software provided as services.
Easy integration and reuse.
Basis for SaaS, PaaS, IaaS models.
8. Utility Computing
Computing resources provided like electricity or water.
Pay only for what you use.
Introduced pay-as-you-go concept.
9. Cloud Computing (2007 → Present)
Combines virtualization + utility computing + SOA.
On-demand, scalable, internet-based services.
Users don’t manage hardware.
Types of Parallel Processing
1. Bit-level parallelism – processing multiple bits at once
2. Instruction-level parallelism – executing multiple instructions together
3. Data parallelism – same operation on different data
4. Task parallelism – different tasks run in parallel
3. Data Parallelism
Same operation is performed on different data simultaneously.
Common in GPUs and scientific computing.
Example:
Adding two arrays:
Examples
Google Search – many servers process queries together
Online banking systems
Scientific simulations
Distributed databases
Advantages
High performance
Scalable (easy to add more nodes)
Reliable and fault-tolerant
Resource sharing
Disadvantages
Complex design
Network dependency
Security challenges
Synchronization issues
Parallel vs Distributed (quick difference)
Parallel Computing Distributed Computing
Same machine Different machines
Shared memory possible No shared memory
Tightly coupled Loosely coupled
Cloud Scalability
Cloud scalability is the ability of a cloud system to increase or decrease resources (CPU,
RAM, storage, servers) according to user demand without affecting performance.
In simple words
When users increase → resources increase
When users decrease → resources decrease
Why scalability is important
Handles sudden traffic spikes
Prevents system slowdown or crash
Saves cost by using only required resources
On-Demand Provisioning in Cloud Computing (Explained Simply)
On-demand provisioning means you can get computing resources (servers, storage,
databases, applications) whenever you need them and release them when you don’t—just
like using electricity or water.
Traditional Way (Before Cloud)
Companies had to buy and install their own servers.
Even if servers were used for only 2 hours, they paid for full-time hardware.
Setup took days or weeks.
High cost and wasted resources.
With On-Demand Provisioning (Cloud)
No need to buy hardware.
You request resources (CPU, RAM, storage, database) online.
Cloud provider gives resources within seconds or minutes.
You pay only for what you use.
Unit-2
Cloud Enabling Technologies
Cloud enabling technologies are the core technologies that make cloud computing possible
by allowing resources to be virtualized, shared, automated, scaled, and delivered on
demand over the internet.
Service-Oriented Software (Service-Oriented Architecture – SOA)
Service-oriented software is software designed as a collection of independent services.
Each service performs a specific business function and can be used, reused, and combined
with other services over a network.
In simple words
Big software is broken into small services, and each service does one job well.
How it works
1. Software is divided into services (e.g., login, payment, search).
2. Services communicate using standard protocols (HTTP, APIs).
3. Any application can request a service when needed.
Key characteristics
Loose coupling – services are independent
Reusability – same service used by many applications
Interoperability – works across platforms & languages
Scalability – scale individual services
Standard interfaces – easy communication
Example
Online shopping system:
Login Service
Product Search Service
Payment Service
Order Tracking Service
Each service can be updated without affecting others.
Service-Oriented Architecture – SOA
1. Consumer Group (Clients)
These are end users or applications.
They do not directly access services.
All requests go through a middleware layer.
2. ESB (Enterprise Service Bus)
ESB acts as a middleman between clients and services.
Main functions of ESB:
o Routes client requests to the correct service
o Transforms data formats
o Handles security and communication
Ensures loose coupling between client and services.
3. SOA Layer (Services)
This layer contains independent services, each doing a specific job:
🔹 CRM Service
Manages customer information
Handles customer profiles, support, etc.
🔹 Order Management Service
Handles order creation, tracking, and updates
🔹 Billing Service
Manages payment, invoices, and billing operations
👉 Each service:
Is independent
Can be reused
Can be updated without affecting others
4. Shared Component
Shared business logic or shared data access layer
Avoids duplication of common functions
Improves efficiency
5. RDBMS (Databases)
Relational databases store data for services
Each service can use its own database
Ensures data persistence
6. External Systems
Cloud services, third-party APIs, or external applications
ESB can communicate with external systems as well
Overall Flow
1. Client sends request
2. Request goes to ESB
3. ESB forwards it to the required service (CRM / Order / Billing)
4. Service accesses RDBMS
5. Response returns to client via ESB
Advantages
Easy maintenance
Faster development
Better scalability
Technology independent
Disadvantages
Complex design
Network dependency
Higher initial setup cost
What is REST?
REST (Representational State Transfer) is an architectural style used to build web services
(APIs) that allow systems to communicate over the internet using standard HTTP methods.
In simple words
REST is a way for two applications to talk to each other using URLs and HTTP methods like
GET, POST, PUT, DELETE.
Key principles of REST
1. Client–Server
Client and server are separate → better scalability.
2. Stateless
Each request is independent; server does not store client state.
3. Uniform Interface
Uses standard HTTP methods and URLs.
4. Resource-based
Everything is treated as a resource (user, order, product).
5. Representation
Data is exchanged in formats like JSON or XML.
HTTP methods used in REST
GET → read data
POST → create data
PUT → update data
DELETE → remove data
REST Architecture Flow
1. Client sends HTTP request
2. Request contains URI + HTTP method
3. Server processes request
4. Server sends response (status code + data)
REST – Real-Life Examples
1. Online Shopping App (Amazon / Flipkart)
Think of the app as a REST client and the server as REST API.
GET /products → see product list
GET /products/25 → view product details
POST /orders → place an order
DELETE /cart/25 → remove item from cart
👉 Each action uses an HTTP method, just like REST rules.
2. Food Ordering App (Zomato / Swiggy)
GET /restaurants → show nearby restaurants
GET /menu/12 → show menu
POST /order → place order
GET /order/status → track order
Each request is stateless (server doesn’t remember previous requests).
REST Constraints (Explained Clearly)
1. Client–Server
Client (UI) and Server (data & logic) are separate.
Client sends request, server sends response.
Improves scalability and maintainability.
Example:
Browser (client) requests data → Server returns JSON.
2. Stateless
Server does not store client session.
Every request contains all required information.
Each request is independent.
Example:
Login request must send token every time.
3. Cacheable
Server responses can be stored (cached).
Reduces server load and improves speed.
Client knows whether response is cacheable or not.
Example:
Product list stored in browser cache.
4. Uniform Interface
Same standard rules for all communication.
Uses:
o HTTP methods (GET, POST, PUT, DELETE)
o URIs for resources
Makes APIs simple and consistent.
5. Layered System
REST allows multiple layers (security, load balancer, proxy).
Client doesn’t know which layer handles the request.
Improves security and scalability.
Example:
Client → Load Balancer → API Gateway → Server
System of Systems (SoS)
A System of Systems is a collection of independent systems that work together to achieve a
common goal, while each system can operate on its own.
In simple words
Many complete systems are connected to form a bigger, more powerful system.
Key characteristics
1. Operational independence
Each system works independently even if others stop.
2. Managerial independence
Each system is managed separately.
3. Geographical distribution
Systems may be located at different places.
4. Emergent behavior
The combined system provides new capabilities not possible individually.
5. Evolutionary development
Systems can be added, removed, or upgraded over time.
How it works
Individual systems communicate via networks/APIs
Data and services are shared
Coordination creates overall functionality
Real-life examples
Smart City: traffic system + power grid + water + surveillance
Air Traffic Control: radars + aircraft + airports + weather systems
Defense systems: satellites + drones + command centers
Online platforms: payment system + inventory + logistics + analytics
Virtualization in Cloud Computing
Virtualization is a core technology in cloud computing that allows one physical machine to
be divided into multiple virtual machines (VMs), each working like an independent
computer.
How
Virtualization Works
A software called hypervisor sits between hardware and OS.
Hypervisor creates and manages virtual machines.
Each VM has its own OS, CPU, RAM, and storage.
Key Components
Physical Server – actual hardware
Hypervisor – controls VMs (Type 1 / Type 2)
Virtual Machines (VMs) – independent systems
Hypervisor (Explained Clearly)
A hypervisor is a software layer that enables virtualization by allowing multiple virtual
machines (VMs) to run on a single physical computer.
In simple words:-Hypervisor is a manager that divides one real machine into many virtual
machines and controls them.
How Hypervisor Works (Step-by-Step)
1. Physical hardware (CPU, RAM, storage) exists
2. Hypervisor is installed on the hardware
3. Hypervisor creates multiple VMs
4. Each VM runs its own operating system
5. Hypervisor allocates resources to each VM
Types of Hypervisor
1. Type 1 Hypervisor (Bare-Metal)
Runs directly on hardware
No host operating system
Faster and more secure
Used in cloud data centers
Examples: VMware ESXi, Microsoft Hyper-V, Xen
2. Type 2 Hypervisor (Hosted)
Runs on top of a host OS
Slower than Type 1
Used for testing and learning
Examples: VirtualBox, VMware Workstation
Application Virtualization
Application Virtualization is a technique where software runs on a remote server instead of
being installed on the user’s local computer
With Application Virtualization
No installation required on your computer.
The application runs on a central server (cloud or company server).
You access it using the internet.
On your screen, it looks and feels like a local app, but actually runs elsewhere.
How It Works (Step-by-Step)
1. Application is installed on a cloud/server machine.
2. User logs in from laptop, desktop, or tablet.
3. Application interface is streamed to the user’s device.
4. Processing happens on the server, not on the user device.
Example: Microsoft Azure Virtual Apps
Company hosts business applications (Payroll, Sales, CRM) on Azure servers.
Employees log in from any device.
Application seems locally installed, but runs in the cloud.
Data stays on the server → more secure.
Network Virtualization
Network Virtualization is a technology where network resources are created and managed
using software instead of physical hardware like routers, switches, firewalls, and cables.
Normal Way (Without Virtualization)
Companies need physical devices:
o Routers
o Switches
o Firewalls
o Network cables
Expanding the network means buying and installing new hardware.
Costly and time-consuming.
With Network Virtualization
Physical hardware is abstracted using software.
Multiple virtual networks can be created on one physical network.
Each virtual network works independently, just like a real network.
Example: Google Cloud Network Virtualization
Company creates a Virtual Private Cloud (VPC).
IP addressing, firewall rules, and security are handled through software.
No need to buy physical routers or switches.
If the company grows, network is expanded instantly.
Desktop Virtualization
Desktop Virtualization is a technique where user desktops are created and run on a central
server (cloud or data center) instead of on individual personal computers.
Normal Way (Without Desktop Virtualization)
Each user needs a separate physical desktop or laptop.
High-performance machines are required for heavy work.
Software updates and security must be managed on every system.
With Desktop Virtualization
Virtual desktops are created on a server.
Users can log in from any device (laptop, tablet, phone).
The desktop runs in the cloud or data center, not on the user’s device.
Users always see their same desktop environment.
Example
A company uses cloud desktops.
Employees log in from anywhere and see the same coding or office setup.
No need for powerful personal computers.
Centralized control makes it secure and easy to manage.
4. Storage Virtualization
Storage virtualization combines multiple physical storage devices into one logical storage
pool.
Concept in Depth
Normally:
Data is stored on separate hard disks or servers
Users and applications must know where data is physically stored
Hardware failure can cause data unavailability
With storage virtualization:
Physical storage devices are abstracted
Users see one logical storage pool
Actual data may be stored across many disks and locations
Example: Amazon S3
A company stores all files in Amazon S3
Data is actually spread across many servers and data centers
Employees see one storage bucket
If a disk fails, data is still available
5. Server Virtualization – Detailed Explanation
Server Virtualization divides one physical server into multiple virtual servers (Virtual
Machines), each running independently.
Concept in Depth
Normally:
One server runs one operating system
Hardware resources are underutilized
With server virtualization:
One physical server runs many virtual servers
Each virtual server has:
o Its own OS
o Applications
o CPU, RAM, storage allocation
Real-Life Cloud Example
Cloud providers run hundreds of VMs on one physical server
Each customer thinks they have their own server
6. Data Virtualization – Detailed Explanation
Data Virtualization is a technique that combines data from multiple sources and presents it
as one unified view, without physically moving or copying the data.
In Simple Words:-Data stays where it is, but users see and access it as if it is in one place.
How Data Virtualization Works
1. Data exists in different sources (databases, files, cloud storage)
2. A virtual data layer connects to these sources
3. This layer creates a logical unified view
4. Users or applications query this view
5. Data is fetched in real time
Example:-Company data stored in:
o SQL database
o Excel files
o Cloud storage
Data virtualization tool shows all data together for reporting
Tools by Oracle and IBM provide such solutions