CLOUD COMPUTING
What is Computing?
• Definition:
Computing is the process of using computers to solve
problems by accepting data, processing it according to
instructions, storing it, and producing useful
information.
• In simple words, Computing means using computer
technology to perform calculations, process information,
communicate, and solve real-world problems.
• Everything we do on a computer—typing a document, sending
an email, playing a game, searching Google, or using AI—is an
example of computing.
Simple Real-Life Examples
• Suppose you use Google Maps.
1. You enter your destination.
2. The computer receives the input.
3. It calculates the shortest route.
4. It processes traffic information.
5. It displays the best path.
• This entire process is called computing.
• When you upload a photo to Instagram:
1. The phone captures the image.
2. The image is compressed.
3. It is uploaded through the Internet.
4. It is stored in servers.
5. Your friends can view it.
• All these operations together are computing.
Basic Functions of Computing
• Computing generally consists of four basic operations:
Input → Processing → Storage → Output
• Ex: System display student grade based on marks
[Link]:
• Student enters marks
2. Processing:
• Computer calculates total and percentage
3. Storage:
• Result stored in database
4. Output:
• Grade displayed on screen
What is a Computing Paradigm?
•Definition:
A computing paradigm is a model or style of
computing that describes how computers
process data and solve problems.
• Or simply, It is a different approach or method used
to perform computing tasks.
• Different computing paradigms were developed to
solve different types of problems more efficiently.
Imagine travelling from one city to another.
You can travel by:
• Bicycle
• Bike
• Car
• Train
• Airplane
• The destination is the same, but the method of travelling is
different.
• Similarly, The goal is computation, but the method used is called
a computing paradigm.
Common Computing Paradigms
Why Do We Need Different Computing Paradigms?
• Different applications have different requirements.
Application Best Computing Style
Personal Computer Standalone Computing
Office Network Client-Server Computing
Google Search Distributed Computing
Netflix Cloud Computing
Smart Home Devices Edge Computing
AI Applications Parallel Computing
Each paradigm is designed for specific needs.
KEY TAKE AWAY:
• "Computing means using computers to process data and solve
problems. Every time we use a smartphone, ATM, online banking, or
Google Search, computing happens in the background. Over time,
different methods of computing were developed to improve speed,
scalability, and efficiency. These methods are called computing
paradigms. Examples include distributed computing, parallel
computing, grid computing, and cloud computing."
1. Parallel Computing
Definition
• Parallel computing is a
computing paradigm in which
multiple processors or CPU
cores work simultaneously on
different parts of the same
problem to complete it faster.
• Or Parallel computing is the technique of using two or more
processors at the same time to solve a single problem more
quickly.
• Parallel computing is like dividing work among several people
instead of giving it to one person. Since everyone works at the
same time, the task is completed much faster.
• The goal of parallel computing is to save time and provide
concurrency.
Why Do We Need Parallel Computing?
• Some problems are too large or time-consuming for a
single processor.
• Instead of one processor doing all the work,
• The problem is divided into smaller tasks.
• Multiple processors work on those tasks simultaneously.
• Their results are combined to produce the final answer.
• This greatly reduces execution time.
Examples for Parallel Computing
Imagine in college library, librarian asks you to arrange 1,000 books.
• By One Student (Sequential Computing)
• One student arranges all 1,000 books. (10 books in 1 min)
• Time taken = 100 minutes
• Using 10 Students (Parallel Computing)
• Each student arranges 100 books.
• Everyone works at the same time.
• Time taken ≈ 10 minutes
• The work finishes much faster because it is done in parallel.
Preparing Food in a Restaurant
Imagine a customer orders:
• Pizza
• Burger
• Juice
• French Fries
This is parallel computing: many workers perform different parts of the
same job simultaneously to finish faster.
Advantages
•Faster execution
•Better performance
•Efficient use of multiple processors
•Can solve large and complex problems
•Reduces processing time
Disadvantages
•More complex programming
•Requires synchronization between processors
•Higher hardware cost
•Communication between processors can add
overhead
2. Cluster Computing
• Each computer
performs part of
the work, and the
combined result is
returned to the
user.
What is Cluster Computing?
Definition:
• Cluster computing is a computing paradigm in which multiple
computers (called nodes) are connected through a high-speed
network and work together as a single system to perform a task.
• Or Cluster computing means connecting many computers so that
they work together like one powerful computer.
3. Distributed Computing
What is Distributed Computing?
Definition
Distributed computing is a computing paradigm in which multiple
computers located in different places communicate through a
network and cooperate to solve a common problem.
Distributed computing means many computers connected through
a network work together to complete a task by sharing the
workload.
Enabling Technologies for Distributed
Computing
• For distributed computing to work efficiently, several
supporting technologies are required. These technologies are
called Enabling Technologies because they enable (make
possible) the communication, coordination, and resource
sharing among distributed computers.
Definition
• Enabling Technologies for Distributed Computing are
the technologies that support and facilitate
communication, resource sharing, coordination, and
execution of tasks among multiple computers
connected through a network.
Major Enabling Technologies
1. Computer Networks
Definition
• A computer network is a collection of interconnected
computers that communicate and share resources.
• Without networking, distributed computing cannot exist
because computers would not be able to exchange
information.
Functions
• Connects multiple computers
• Shares files and printers
• Transfers data between systems
• Enables communication
Types
• LAN (Local Area Network) – Small area (office, school)
• MAN (Metropolitan Area Network) – City-wide
• WAN (Wide Area Network) – Country or world-wide
Ex: A college computer lab where all computers share files and printers.
2. Communication Protocols
Definition
• Protocols are rules that govern communication between computers. They
ensure reliable and secure transmission of data.
Common Protocols
• TCP/IP
• HTTP
• HTTPS
• FTP
• SMTP
Ex: When opening a website, HTTP/HTTPS transfers web pages from the
server to your browser.
3. Internet Technology
Definition
• Internet technology provides worldwide communication using TCP/IP
protocols, allowing computers across the globe to exchange information.
• It enables distributed applications to communicate regardless of their location.
Features
• Global connectivity
• Fast communication
• Standard communication protocols
• Supports web applications and cloud services
Example
• Google Search, Gmail, YouTube, Online Banking
4. Web Services and APIs
Definition
• Web services allow different software applications to
communicate over the Internet.
• APIs enable one application to use services provided by
another application.
Example
• A food delivery app using Google Maps API to show
delivery locations.
5. Distributed Databases
Definition
• A distributed database stores data across multiple computers while
appearing as a single database to users.
Advantages
• Faster access
• High availability
• Better reliability
Ex: Bank branches storing customer records at multiple locations
while providing unified access.
6. Cloud Computing
Definition
• Cloud computing provides computing resources over the Internet
on demand.
• Users can access servers, storage, software, and databases
without owning physical hardware.
Services
• IaaS (Infrastructure as a Service)
• PaaS (Platform as a Service)
• SaaS (Software as a Service)
Advantages
• Scalable
• Cost-effective
• Accessible anywhere
• High availability
Example
• Google Drive, Microsoft OneDrive, AWS
• 7. Cluster Computing
Definition
• Cluster computing connects multiple computers in the same
location to work together as a single high-performance system.
Features
• High speed
• Central management
• Same operating system
• Same local network
Example
• A university supercomputer built using many connected computers.
8. Virtualization
Definition
• Virtualization allows multiple virtual computers (Virtual Machines) to
run on one physical computer.
• It improves resource utilization and flexibility.
Advantages
• Better hardware utilization
• Easy management
• Reduced cost
• Supports cloud computing
Example
• One server running Windows, Linux, and Ubuntu virtual machines
simultaneously.
Summary
• Enabling Technologies for Distributed Computing are the
technologies that make distributed systems possible by providing
communication, coordination, resource sharing, and
management among multiple computers.
• Important enabling technologies include Computer Networks,
Internet Technology, Communication Protocols, Middleware,
Virtualization, Cloud Computing, Cluster Computing, Grid
Computing, Distributed Databases, and Web Services.
• These technologies enable distributed systems to operate
efficiently, reliably, and at large scale.
So, What is Cloud
Computing ?