Notes for Cloud Computing
What is a Virtual Machine (VM) on the Cloud?
A Virtual Machine (VM) is like a computer inside a computer. It runs its own operating
system, applications, and services — just like a physical computer — but it's completely
virtual.
In simple words:
A VM on the cloud is a computer that lives on the internet and you can use it without buying
or owning real hardware.
How does it work
Big cloud companies like Amazon Web Services (AWS), Microsoft Azure, or
Google Cloud have huge servers.
They split these big servers into many virtual machines using a technology called
virtualization.
Each VM behaves like a separate computer, and you can:
o Install software
o Host websites or applications
o Store data
o Run programs
Example:
Let’s say you're running an online service (like electricity price updates). Instead of buying
100 real computers, you can rent 100 VMs on the cloud for just the time you need.
These VMs will:
Handle user requests
Process data
Send results back quickly
Why VMs are Useful in the Cloud:
Cost-effective – pay only for what you use.
Scalable – you can add/remove VMs as needed.
Flexible – install any software or operating system.
Isolated – problems in one VM don’t affect others.
Architecture of User Request Handling with VMs in the Cloud
1. Users Send Requests
Users (e.g., via mobile apps or browsers) send service requests like “get electricity
price update.”
These requests travel via the Internet to reach the cloud service.
2. Load Balancer
The first stop in the cloud is the Load Balancer.
The load balancer’s job is to:
o Distribute incoming requests across multiple Virtual Machines (VMs).
o Avoid overloading any single VM.
o Improve response time and ensure fair resource usage.
3. Virtual Machines (VMs) in the Cloud
The load balancer forwards each request to one of the available VMs in a cloud data
center.
Each VM is a virtual server that:
o Runs applications or services.
o Handles computing tasks.
o Stores temporary data.
4. Processing and Response
The VM processes the request, e.g., fetches the electricity price from a database.
Then it sends the response back to the user over the internet.
Optional Components in Real Systems:
Auto-Scaler: Monitors load and automatically adds/removes VMs.
Database Layer: Where the actual pricing data may be stored.
Monitoring Tools: Track performance and health of VMs.
Summary:
User → Internet → Load Balancer → Available VM → Processing → Response →
User
Concepts
What Does "Load" Mean?
Load refers to the amount of work or traffic a computer system has to handle.
Examples of Load:
Number of users sending requests.
Amount of data being processed.
Number of apps running at the same time.
Speed and size of each task.
So, when we say a server or VM has a high load, it means:
"It’s really busy handling a lot of requests or heavy tasks."
What is a Load Balancer?
A Load Balancer is like a smart traffic cop in front of many computers (or VMs).
Its job is to:
Distribute the load (requests or tasks) across multiple VMs.
Make sure no single VM is overloaded.
Keep things fast, smooth, and reliable.
Simple Analogy:
Imagine a restaurant with 10 waiters.
If 50 customers enter and all go to the same waiter, he gets overwhelmed.
A smart manager (load balancer) says:
“You go to waiter 1, you to waiter 2…” and so on.
This way:
All waiters share the work.
Customers are served faster.
No one gets too tired (overloaded).
In Cloud Computing:
Users = Customers
VMs = Waiters
Load Balancer = Manager
Load Balancing Algorithms
There are various algorithms to balance load on VMs in cloud. For example,
Round Robin
Least Connections
Random
Weighted Round Robin
Genetic Algorithm (GA)-Based Load Balancing
Assignment-2
Submit-12/04/2025 (online)