0% found this document useful (0 votes)
2 views11 pages

CloudComputing Module1 ExamNotes

The document provides an overview of cloud computing, including its definition, service models (IaaS, PaaS, SaaS), characteristics, benefits, and challenges. It also discusses parallel and distributed computing, highlighting key concepts, architectures, and communication models. Additionally, it covers historical developments and core technologies that have shaped cloud computing.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views11 pages

CloudComputing Module1 ExamNotes

The document provides an overview of cloud computing, including its definition, service models (IaaS, PaaS, SaaS), characteristics, benefits, and challenges. It also discusses parallel and distributed computing, highlighting key concepts, architectures, and communication models. Additionally, it covers historical developments and core technologies that have shaped cloud computing.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

CLOUD COMPUTING

Module 1 — Exam Notes


23CSPE322 | Dept of CSE

CHAPTER 1: Introduction to Cloud Computing


1. What is Cloud Computing?
• Uses the internet to connect users to cloud platforms for rented computing services.
• A central server handles communication between client devices and servers.
• Based on dynamic provisioning — compute, storage, networking supplied on demand.
• NIST Definition: On-demand network access to a shared pool of configurable resources (servers, storage,
apps, services) that can be rapidly provisioned with minimal effort.
Key Idea: "I don't care where my servers are... I just want them always available."

2. Vision of Cloud Computing


• Cloud = an internet-based way of providing computing services.
• Treats all IT resources as utilities (like water, electricity) — pay only for what you use.
• Long-term goal: open marketplace where IT services are bought/sold like utilities.
• In 1969, Leonard Kleinrock predicted computers would work like public utilities.
• Cloud service is a cloud service if: accessed via web/API, no capital investment required, pay-per-use.

3. Cloud Service Models (XaaS)

Layer Full Form What it Provides Use Case

IaaS Infrastructure-as-a- Virtual machines, storage, Scalable systems, website


Service networking on demand hosting

PaaS Platform-as-a-Service Runtime environments & Deploy apps without


middleware for app development managing hardware

SaaS Software-as-a- Ready-to-use applications over the Email, CRM, collaboration


Service Internet tools

Exam Tip: IaaS → PaaS → SaaS form the cloud computing stack from bottom to top.
4. Characteristics & Benefits
Characteristics:
• No up-front investment required
• On-demand access to computing resources
• Pay-as-you-use (flexible pricing)
• Easy application scaling and faster performance
• Efficient resource allocation
• Improved energy efficiency
• Easy integration with third-party services
Benefits (Organizations):
• Reduced IT maintenance and operational costs
• Eliminates large capital expenditure on hardware/software
• Helps start-ups launch without heavy initial investment
Benefits (End Users):
• Data and applications always available, from any device
• Services accessible through web-based interfaces
Challenges:
• Managing large-scale data centers and virtualization is complex
• Security concerns: data confidentiality and privacy
• Risk of sensitive data exposure
• Legal/regulatory issues due to data stored across different countries

5. Historical Development & Core Technologies


• Concept of renting computing services started in the 1950s with mainframe computers.

Technology Description

Distributed Systems Sharing of computing resources across multiple machines

Virtualization Multiple VMs on a single physical system

Web 2.0 Interactive, web-based applications

SOA (Service-Oriented Software offered as reusable services


Architecture)

Utility Computing Pay-as-you-use computing services

6. Milestones: Mainframes → Clusters → Grids → Cloud

System Key Feature Era

Mainframes Powerful centralized computers, large-scale data 1950s–60s


System Key Feature Era

processing

Clusters Commodity computers + high-speed networks, cost- 1980s


effective HPC

Grid Computing Distributed, heterogeneous, geographically spread Early 1990s


resources

Cloud Computing Pay-per-use, unlimited capacity, fault-tolerant, always 2000s–present


available

7. Virtualization
• Core cloud technology: abstraction of hardware, runtime, storage, networking.
• Creates multiple independent Virtual Machines (VMs) on a single physical server.
• Hardware virtualization: VMs simulate separate computers for users.
• Runtime virtualization: Process VMs (Java, .NET) for isolated app execution.

8. Web 2.0
• Primary interface for delivering cloud services.
• Enables interactive, dynamic web applications similar to desktop apps.
• Key technologies: XML (structured data), AJAX (dynamic pages), Web Services.
• Applications like Facebook and Flickr use AJAX and RSS.
• Enables Rich Internet Applications (RIAs) for cloud services.

9. Service-Oriented Computing (SOC)


• Treats services as the main building blocks for developing applications.
• Service characteristics: Loosely coupled, Reusable, Platform-independent, Location-transparent.
Two key SOC concepts:
• Quality of Service (QoS): Performance, reliability, scalability, security, availability.
• Software-as-a-Service (SaaS): Software hosted centrally, delivered on subscription/pay-per-use.

10. Utility-Oriented Computing


• Storage, compute, applications on a pay-per-use basis (like electricity/water).
• John McCarthy (1961) envisioned computing as a public utility.
• XaaS model (Everything-as-a-Service) reflects service orientation.

11. Cloud Platforms


Platform Type Key Features

AWS IaaS EC2 (virtual compute), S3 (object storage), customizable instances

Google AppEngine PaaS Scalable runtime, in-memory caching, data store, job queues

Microsoft Azure PaaS Scalable runtime, messaging, cron tasks, on-demand scaling

Apache Hadoop Processing MapReduce (Map+Reduce), large datasets on commodity hardware

[Link] / SaaS/PaaS Enterprise apps, CRM, ready-to-use components


Salesforce

Manjrasoft Aneka Platform Heterogeneous clouds, task/thread/MapReduce abstractions


CHAPTER 2: Parallel & Distributed Computing
1. Parallel vs. Distributed Computing

Aspect Parallel Computing Distributed Computing

Definition Multiple processors share the same Computation across multiple


memory heterogeneous machines

Memory Shared memory space Separate memories per node

Coupling Tightly coupled Loosely or tightly coupled

Scope Single system / cluster Wide-area networks, grids, clouds

Example SMP systems, GPU clusters Internet grids, cloud platforms

2. Flynn's Classification (Hardware Architectures)

Type Full Name Description Example

SISD Single Instruction, Sequential; one instruction on one IBM PC, Macintosh
Single Data data at a time

SIMD Single Instruction, Same instruction on multiple data Cray, Thinking


Multiple Data streams; vector ops Machines CM

MISD Multiple Instruction, Different instructions on the same Rarely built


Single Data data; rarely used commercially

MIMD Multiple Instruction, Multiple instructions on multiple Clusters, clouds, SMP


Multiple Data data; most flexible systems
Exam Tip: MIMD is the most widely used architecture in modern cloud and HPC systems.

3. MIMD Subtypes
Shared-Memory MIMD (Tightly Coupled):
• All PEs share a single global memory.
• Communication via shared memory (any write visible to all PEs).
• Easier to program but less fault-tolerant and harder to scale.
• Examples: Silicon Graphics, Sun/IBM SMP.
Distributed-Memory MIMD (Loosely Coupled):
• Each PE has its own local memory.
• Communication via message passing over an interconnection network.
• Better fault tolerance and scalability.
• Network topology: tree, mesh, cube.
• More popular today due to scalability.
4. Parallel Programming Approaches

Approach Description Best For

Data Parallelism Divide data into sets; each PE processes its own SIMD machines
set with the same instruction

Process Parallelism Single operation divided into distinct activities; MIMD machines
each runs on a separate PE

Farmer-and-Worker Master distributes jobs to slave PEs; collects Task-farm problems


results

5. Levels of Parallelism (Grain Size)

Grain Level Example

Large Grain Task Level Running multiple independent applications simultaneously

Medium Grain Control Level Parallelism in loops or function calls

Fine Grain Data Level Operations on arrays or matrices

Very Fine Grain Instruction Level Multiple instructions issued simultaneously (ILP)

Laws of Caution: Adding more processors gives diminishing returns due to communication and synchronization
overhead. Speedup is rarely linear.

6. Elements of Distributed Computing


• Distributed System: "A collection of independent computers that appears to its users as a single
coherent system." — Tanenbaum
• Communication is fundamental; processes coordinate by passing messages.

Layers of a Distributed System:

Layer Role

Hardware Layer Physical computers and network; managed by OS (IPC, scheduling, file system)

OS Layer TCP/IP, UDP — enables heterogeneous machines to work together

Middleware Layer Abstracts hardware/OS heterogeneity; provides standard protocols, formats,


frameworks

Application Layer GUIs and services using middleware (e.g., AWS VMs, cloud apps)
7. Architectural Styles for Distributed Computing
Software Architectural Styles:

Style Description Example

Data-Centered Components interact with a central data Databases, Blackboard systems


(Repository) structure

Blackboard Knowledge Sources + Blackboard + Control; AI, speech recognition


opportunistic updates

Batch Sequential Programs in order; output of one feeds Scientific computing pipelines
next

Pipe-and-Filter Filters process data streams incrementally; Unix pipes, compiler design
pipelining adds concurrency

Virtual Machine (Rule- Inference engine executes rules/predicates AI, network intrusion detection
Based)

Virtual Machine Engine interprets pseudo-programs Java, C#, Perl


(Interpreter)

Call & Return (Top- Main program invokes subprograms; tree- Traditional programs
Down) like; extends to RPC

Call & Return (OOP) Objects with encapsulated state and OOP systems
operations; better modularity

Layered System in layers; each layer provides OS, network protocols


abstraction to layer above

System Architectural Styles:

Style Description Pros Cons

Client/Server Client sends request; server Simple, well- Limited scalability for large
processes and responds. understood systems
Thin/Fat client variants.

Two-Tier Client (presentation) + Simple Limited scalability


Server (logic + data)

Three/N-Tier Separate presentation, logic, Better scalability More complex


and data tiers

Peer-to-Peer All nodes equal; act as both Decentralized, Complex management, data
(P2P) client and server; no central scalable, fault-tolerant consistency
server
P2P Examples: File sharing: Gnutella, BitTorrent, Kazaa. Communication: Skype.
8. Interprocess Communication (IPC) Models

Model How it Works Pros Cons

Shared Memory Processes read/write to common Fast, frequent data sharing Hard to scale over
memory; synchronization network
required

Message Processes send/receive Scales well, works over Overhead, message


Passing messages; synchronous or networks loss/delay
asynchronous

RPC Call remote procedure as if local; Simplifies development Network delays/failures


marshalling/unmarshalling must be handled
handled

Sockets Low-level byte-stream channels; Flexible, custom protocols Detailed handling of


implements client-server or P2P connections/errors
patterns

9. Message-Based Communication Paradigms

Paradigm Description Examples

Message Passing Components explicitly exchange data MPI, OpenMP


messages

RPC Remote procedure calls; messages carry SOAP, gRPC


procedure name + params

Distributed RPC in OOP; remote method invocation, CORBA, Java RMI, .NET Remoting
Objects object state/lifetime management

Distributed Agents Each object/agent has own thread; Autonomous/intelligent systems


messages trigger execution

Web Services RPC over HTTP; platform-independent REST, SOAP APIs


distributed apps

10. Message Communication Models

Model Description Suitable For

Point-to-Point (Direct) Sender delivers message directly to One-to-one, client-server


receiver immediately

Point-to-Point (Queue- Messages stored in queue; processed later; Asynchronous workflows


based) sender/receiver independent

Publish-Subscribe Publisher actively sends notifications to all Event-driven, notifications


(Push) subscribers
Model Description Suitable For

Publish-Subscribe (Pull) Subscribers periodically check for new Polling-based systems


messages

Request-Reply Every message expects a reply; RPC, client-server services


synchronous; sender waits for response
QUICK REVISION: Key Definitions & Facts

Term / Concept One-Line Definition

Cloud Computing Internet-based delivery of computing resources on demand, paid per use

NIST Definition On-demand, network access to shared, configurable resources with


minimal management effort

IaaS Virtualized compute/storage/networking on demand (e.g., AWS EC2, S3)

PaaS Managed runtime & middleware for application development (e.g., Google
AppEngine)

SaaS Ready-to-use applications delivered over the Internet (e.g., Salesforce)

Virtualization Creating multiple independent VMs on a single physical server

Web 2.0 Interactive web platform using XML, AJAX, and Web Services for cloud
delivery

SOC Service-Oriented Computing — treats services as primary building blocks

QoS Quality of Service — metrics like performance, reliability, scalability,


security

Utility Computing Pay-per-use IT services modeled like electricity/water utilities

MapReduce Hadoop paradigm: Map transforms data, Reduce aggregates results

Parallel Computing Multiple processors share memory to solve a task simultaneously

Distributed Computing Multiple independent machines communicate via network to solve tasks

SISD Sequential computer; one instruction, one data stream at a time

SIMD Same instruction on multiple data sets; suited for vector/matrix ops

MIMD Multiple instructions, multiple data; most flexible; used in clouds and HPC

Shared-Memory MIMD Tightly coupled; all PEs share global memory; easy to program

Distributed-Memory MIMD Loosely coupled; PEs communicate via message passing; more scalable

Middleware Software layer abstracting hardware/OS heterogeneity in distributed


systems

Blackboard Architecture Central shared data (blackboard) + knowledge sources + control

Pipe-and-Filter Data flows through filters incrementally; used in compilers, Unix pipes

Client/Server Client requests, server processes and responds; thin or fat client variants

P2P Architecture All nodes equal; act as both client and server; no central server

RPC Remote Procedure Call — call a remote function as if it were local

Publish-Subscribe Publishers emit events; subscribers receive notifications (push or pull)

Point-to-Point IPC Direct or queue-based message delivery from sender to specific receiver
Term / Concept One-Line Definition

Request-Reply IPC Every message expects a reply; synchronous communication pattern

ARPANET Early network (1969) that led to the Internet; Kleinrock predicted utility
computing

Grid Computing Geographically distributed, heterogeneous resources combined for large-


scale power

Clusters Commodity computers connected via high-speed networks; managed as a


single system

Good Luck on Your Exam! ✨

You might also like