BHASKAR ENGINEERING COLLEGE
Department of Artificial Intelligence and Data Science
Affiliated to JNTUH, yenkapally (V), Moinabad(M) R.R Dist
CLOUD COMPUTING
LECTURE
FACULTY
MOHAN KAMAL HASSAN
(Assistant Professor)
Artificial Intelligence and Data Science
IV B.TECH I SEMESTER
R22
1
UNIT – III
TOPICS
➢ Virtualization,
➢ Programming Models for Cloud Computing: MapReduce, Cloud Haskell,
Software
➢ Development in Cloud
1. Virtualization
Definition & Explanation:
Virtualization is the process of creating virtual versions of physical resources such
as servers, storage devices, and networks. It enables multiple virtual machines
(VMs) to run on a single physical system by abstracting the hardware layer. This is
a core technology in cloud computing, enabling efficient resource utilization,
scalability, and isolation between users or applications.
Example & Real-Time Use Case:
A company using VMware or KVM on a physical server can create multiple
virtual servers for different departments (HR, Finance, Sales), each running its own
OS and applications. Cloud providers like Amazon Web Services (AWS) use
virtualization to allow users to rent virtual servers (EC2 instances) instead of
buying hardware.
Diagram:
+------------------------------+
| Physical Hardware |
+------------------------------+
| Hypervisor (VMware) |
+---------+----------+--------+
| VM1 | VM2 | VM3 |
| Linux | Windows | Ubuntu |
+---------+----------+--------+
2
2. Programming Models for Cloud Computing
A. MapReduce
Definition & Explanation:
MapReduce is a programming model developed by Google for processing large-
scale data in a distributed environment. It breaks down tasks into two main
functions: Map (which filters and sorts data) and Reduce (which performs a
summary operation). It allows for parallel processing over a distributed set of
machines.
Example & Real-Time Use Case:
Suppose a company wants to count how many times each word appears in millions
of documents. MapReduce will divide the documents into chunks, process them in
parallel (Map phase), and then aggregate the word counts (Reduce phase). It is
used in Hadoop clusters in companies like Yahoo, Facebook, and LinkedIn.
Diagram:
mathematica
Input Data → [Map Tasks] → Shuffle & Sort → [Reduce Tasks] → Final Output
B. Cloud Haskell
Definition & Explanation:
Cloud Haskell is a distributed programming framework for the Haskell
programming language. It brings Erlang-style concurrency to Haskell by enabling
message-passing and parallel computing across networked systems. It is
particularly suitable for writing distributed cloud applications in a functional style.
Example & Real-Time Use Case:
A research lab running parallel simulations (e.g., weather forecasting) across
multiple nodes can use Cloud Haskell to spawn and manage computations
seamlessly across a distributed infrastructure. It promotes fault tolerance and clean
functional code.
Diagram (Conceptual):
arduino
CopyEdit
[Node A] ←→ [Node B] ←→ [Node C]
| | |
Process A1 Process B1 Process C1
3
3. Software Development in Cloud
Definition & Explanation:
Software development in the cloud refers to creating, testing, and deploying
software using cloud-based platforms and services. This includes tools for version
control, integrated development environments (IDEs), CI/CD pipelines, and
hosting. Developers use services like GitHub, GitLab, AWS CodePipeline, and
cloud IDEs like Replit or AWS Cloud9.
Example & Real-Time Use Case:
A startup developing a mobile app may use GitHub for version control, Firebase
for backend, and Google Cloud Build for deployment. This eliminates the need
for physical servers or expensive licenses, allowing faster releases and
collaboration.
Diagram:
[Cloud IDE] → [Git Repo] → [CI/CD Pipeline] → [Cloud Deployment]
(e.g., AWS Cloud9) (GitHub Actions) (AWS, GCP, Azure)