UNIT-3
PaaS
Evolution of Computing Paradigms and
Related Components
Computing paradigms have evolved significantly over
time, shaping the way computational resources are
utilized and managed. Below is a comprehensive
overview of different computing paradigms, including
their definitions, features, advantages, disadvantages,
real-world examples, and non-technical real-life
analogies.
1. Standalone Computing (Traditional
Computing)
Definition:
Standalone computing refers to a computing model where
a single computer operates independently, without relying
on external networks or shared resources.
Features:
• Single system usage
• No external resource sharing
• Locally stored data and applications
• Limited scalability
Advantages:
✅ Easy to manage and secure
✅ No dependency on external networks
✅ Cost-effective for personal use
Disadvantages:
❌ Limited computing power
❌ No resource sharing, leading to inefficiency
❌ Data is vulnerable to loss if the system fails
Examples:
• A personal desktop computer running applications independently
• A calculator used for mathematical computations
Non-Technical Analogy:
Imagine a person cooking all meals at home. They have to buy
ingredients, prepare food, and clean up without any external help.
2. Cluster Computing
Definition:
• Cluster computing is a paradigm where
multiple computers (nodes) work together
as a single system to improve processing
power and efficiency.
Features:
• Multiple computers linked together
• High availability and fault tolerance
• Used for high-performance applications
• Load balancing among nodes
Advantages:
✅ Increases computational power
✅ Redundant nodes provide fault tolerance
✅ Cost-effective compared to a single supercomputer
Disadvantages:
❌ Complex setup and management
❌ Requires efficient load balancing
❌ Network dependency for communication
Examples:
• Google Search infrastructure
• NASA’s supercomputing clusters
Non-Technical Analogy:
Imagine a group of people carrying a heavy object together. The weight is
distributed, making the task easier.
3. Grid
Computin
Definition:
Grid Computing is a
computing model in which
multiple geographically
distributed computers
work together to solve
complex problems by
sharing computational
power.
Key Features:
• Resource Sharing: Computers across different locations share
processing power.
• Heterogeneous Environment: Works across different hardware
and operating systems.
• Large-Scale Computation: Solves complex scientific,
mathematical, and engineering problems.
• Decentralized Control: No central control; tasks are distributed
dynamically.
Architecture
of Grid
Computing:
User Layer –
Users submit
tasks to the grid.
Resource
Layer –
Consists of
connected
nodes providing
computing
power.
Grid
Middleware
Layer –
Manages
resource
allocation and
scheduling.
Application
Layer –
Executes tasks
using the
allocated grid
resources.
Types of Grid Computing:
Computational Grid
– Focuses on
CPU-intensive
computations (e.g.,
weather modeling).
Data Grid –
Manages and
processes
large-scale datasets
(e.g., CERN’s Large
Hadron Collider).
Service Grid –
Provides distributed
services like
cloud-based AI
processing.
Advantages:
✅ High Computational Power – Uses multiple systems to solve
large-scale problems.
✅ Cost-Effective – Utilizes idle computers instead of investing in
supercomputers.
✅ Resource Optimization – Maximizes the use of existing computing
resources.
✅ Fault Tolerance – If one node fails, another takes over the task.
Disadvantages:
❌ High Network Dependency – Requires high-speed communication
between nodes.
❌ Security Issues – Data shared across different locations can be
vulnerable.
❌ Complex Setup and Management – Requires sophisticated software
for task distribution.
❌ Latency Issues – Communication between distant nodes can cause
delays.
•Real-World Examples:
• SETI@home – Uses volunteers' computers to analyze space signals for
extraterrestrial life.
• Folding@home – Uses distributed computing to study protein folding for
disease
research.
• CERN's Large Hadron Collider (LHC) – Analyzes massive amounts of particle
physics data.
•Non-Technical Analogy:
• A global team working on a massive jigsaw puzzle, where each person
works on
a small piece, and the final puzzle is assembled when all pieces are
completed.
4. Distributed Computing
Definition:
Distributed Computing is a computing paradigm in which multiple
computers or nodes, connected over a network, work together to
solve a problem by sharing resources, tasks, and computations.
Key Features:
• Resource Sharing: Computing power, memory, and data
storage are distributed across multiple machines.
• Concurrency: Multiple processes execute simultaneously.
• Fault Tolerance: If one node fails, others can take over the
task.
• Scalability: More nodes can be added to enhance
performance.
• Decentralization: No single point of failure as tasks are
distributed.
Layered Architecture
Layered Architecture in
distributed systems
organizes the system into
hierarchical layers, each
with specific functions and
responsibilities. This
design pattern helps
manage complexity and
promotes separation of
concerns
Layers and Their Functions
• Presentation Layer
• Function: Handles user interaction and presentation of data. It is
responsible for user interfaces and client-side interactions.
• Responsibilities: Rendering data, accepting user inputs, and sending
requests to the underlying layers.
• Application Layer
• Function: Contains the business logic and application-specific
functionalities.
• Responsibilities: Processes requests from the presentation layer, executes
business rules, and provides responses back to the presentation layer.
• Middleware Layer
• Function: Facilitates communication and data exchange between
different components or services.
• Responsibilities: Manages message passing, coordination, and
integration of various distributed components.
• Data Access Layer
• Function: Manages data storage and retrieval from databases or other
data sources.
• Responsibilities: Interacts with databases or file systems, performs
data queries, and ensures data integrity and consistency.
Peer-to-Peer (P2P) Model
• Peer-to-Peer (P2P) Architecture is a decentralized network design where
each node, or “peer,” acts as both a client and a server, contributing
resources and services to the network. This architecture contrasts with
traditional client-server models, where nodes
have distinct roles as clients or servers.
• In a P2P architecture, all nodes (peers) are equal participants in the
network, each capable of initiating and receiving requests.
• Peers collaborate to share resources, such as
files or computational power, without relying on a central server.
Key Features of Peer-to-Peer (P2P)
Architecture in Distributed Systems
• Decentralization
• Function: There is no central server or authority. Each peer operates
independently and communicates directly with other peers.
• Advantages: Reduces single points of failure and avoids central
bottlenecks, enhancing robustness and fault tolerance.
• Resource Sharing
• Function: Peers share resources such as processing power, storage
space, or data with other peers.
• Advantages: Increases resource availability and utilization across the
network.
• Scalability
• Function: The network can scale easily by adding more peers. Each new
peer contributes additional resources and capacity.
• Advantages: The system can handle growth in demand without requiring
significant changes to the underlying infrastructure.
• Self-Organization
• Function: Peers organize themselves and manage network connections
dynamically, adapting to changes such as peer arrivals and departures.
• Advantages: Facilitates network management and resilience without
central coordination
Client Server Architecture in Distributed Systems
• Client-Server Architecture is a foundational model in
distributed systems where the system is divided into two main components:
clients and servers. This architecture defines how tasks and services are
distributed across different entities within a network.
• In Client-Server Architecture, clients request services or resources, while
servers provide those services or
resources.
• The client initiates a request to the server, which processes the request
and returns the appropriate
response.
• This model centralizes the management of resources and services on the
server side, while the client side
focuses on presenting information and interacting with users
Data-Centic Architecture in Distributed
Systems
• Data-Centric Architecture is an architectural style that focuses on the
central management and utilization of data. In this approach, data is
treated as a critical asset, and the system is designed around data
management, storage, and retrieval processes rather than just the
application logic or user interfaces.
• The core idea of Data-Centric Architecture is to design systems where
data is the primary concern, and various components or services are
organized to support efficient data management and manipulation.
• Data is centrally managed and accessed by multiple applications or
services, ensuring consistency and coherence across the system
Service-Oriented Architecture (SOA) in
Distributed Systems
• Service-Oriented Architecture (SOA) is a design paradigm in distributed
systems where software components, known as “services,” are provided
and consumed across a network. Each service is a discrete unit that
performs a specific business function and communicates with other
services through standardized protocols.
• In SOA, the system is structured as a collection of services that are
loosely coupled and interact through well-defined interfaces. These
services are independent and can be developed, deployed, and
managed separately.
• They communicate over a network using standard protocols such as
HTTP, SOAP, or REST, allowing for interoperability between different
systems and technologies.
Event-Based Architecture in Distributed Systems
• It is an architectural pattern
where the flow of data and
control in a system is driven
by events. Components in
an EDA system
communicate by producing
and consuming events,
which represent state
changes or actions within
the system.
Types of Distributed Systems:
•Distributed Computing Systems – Multiple computers
working together (e.g., blockchain).
•Distributed Information Systems – Data distributed
across different locations (e.g., banking systems).
•Distributed Embedded Systems – Embedded devices
communicating in real-time (e.g., IoT).
Advantages:
✅ Improved Performance – Tasks are divided and executed in
parallel.
✅ Resource Efficiency – Utilizes available resources
effectively.
✅ Fault Tolerance – If one node fails, the system continues to
work.
✅ Scalability – Easily add more nodes to increase computing
power.
✅ Lower Cost – Uses multiple low-cost machines instead of a
single expensive system.
Disadvantages:
❌ Complexity in Management – Requires synchronization and
coordination among nodes.
❌ Security Risks – Data and communication between nodes
can be vulnerable to attacks.
❌ Network Dependency – High reliance on fast and stable
network connections.
❌ Data Consistency Issues – Ensuring all nodes have
up-to-date data can be challenging.
Real-World Examples:
• Google Search – Uses distributed computing to process billions of
queries.
• Bitcoin & Blockchain – A distributed network of nodes verifying
transactions.
• Netflix – Distributes streaming content across data centers
worldwide.
Non-Technical Analogy:
• A restaurant with multiple chefs in different kitchens preparing dishes
simultaneously and serving them as soon as they are ready. This
speeds up service rather than a single chef cooking everything alone.
5. Utility Computing
Definition:
Utility Computing is a computing model where resources like
processing power, storage, and applications are provided
on-demand, similar to utilities like electricity, water, or gas. A
pricing model within cloud computing where you pay only for the
computing resources used.
💡 Cloud Computing is like subscribing to Netflix – you get access to a
broad range of services (IaaS, PaaS, SaaS).
💡 Utility Computing is like paying for each movie separately – you
only pay for what you consume
Key Features:
• On-Demand Access: Users can request resources when
needed.
• Pay-Per-Use Model: Charges are based on actual usage.
• Scalability: Resources can scale up or down as required.
• Managed Services: The provider handles infrastructure,
updates, and maintenance.
Architecture of Utility Computing:
•Infrastructure as a Service (IaaS): Provides virtual
machines, storage, and networking (e.g., AWS EC2,
Google Compute Engine).
•Platform as a Service (PaaS): Provides a platform for
application development (e.g., Google App Engine).
•Software as a Service (SaaS): Provides software
applications on a subscription basis (e.g., Microsoft
Office 365).
Advantages:
✅ Cost Savings – Users pay only for what they use, reducing
upfront investment.
✅ Scalability – Resources can be increased or decreased
based on demand.
✅ Flexibility – Access services from anywhere with an internet
connection.
✅ Reduced Maintenance – Providers handle infrastructure
maintenance and updates.
Disadvantages:
❌ Security Concerns – Data is stored on third-party servers,
increasing the risk of breaches.
❌ Internet Dependency – Requires a stable internet
connection for access.
❌ Limited Control – Users have less control over
infrastructure and configuration.
❌ Vendor Lock-in – Switching providers can be difficult due to
dependency on specific services.
Real-World Examples:
• Amazon EC2 – Offers virtual machines for computing tasks.
• Google Cloud Platform – Provides storage, computing, and AI
services on-demand.
• Microsoft Azure – Hosts applications and services in the cloud.
Non-Technical Analogy:
• Using electricity at home: You don’t buy a power plant but pay
for the electricity you consume monthly.
6. Cloud Computing
• Definition:
• Cloud computing is a paradigm where computing resources
(storage, processing power, networking) are delivered over the
internet.
• Features:
• On-demand resource availability
• Pay-as-you-go pricing
• Scalable and flexible infrastructure
• Accessibility from anywhere
Advantages:
✅ Reduced infrastructure costs
✅ Scalable and flexible
✅ Easy accessibility and remote collaboration
Disadvantages:
❌ Security and privacy risks
❌ Internet dependency
❌ Downtime issues if the provider faces outages
Examples:
• Google Drive, Dropbox (Cloud storage)
• AWS Lambda (Serverless computing)
• Netflix (Streaming service hosted on AWS)
Non-Technical Analogy:
• Using a taxi instead of owning a car. You don’t have to worry about
maintenance or storage; you just pay when you need it.
7. Edge Computing
Definition:
• Edge computing is a decentralized computing paradigm
where data processing and computation happen closer to the
source of data (at the "edge" of the network) rather than relying
on a centralized cloud or data center.
Key Features:
✔ Processing at the Source – Computation happens near IoT
devices, sensors, or local servers.
✔ Low Latency – Reduces delays by processing data locally
instead of sending it to the cloud.
✔ Bandwidth Efficiency – Less data is sent over the internet,
reducing network congestion.
✔ Improved Security & Privacy – Sensitive data can be
processed locally without exposing it to external networks.
✔ Real-Time Processing – Ideal for applications that require
instant responses, like autonomous vehicles and smart cities.
Architecture of Edge Computing
Edge computing follows a layered architecture, typically including:
1. Edge Devices:
1. Sensors, IoT devices, smartphones, smart cameras.
2. Example: A self-driving car processing obstacle detection data in real-time.
2. Edge Nodes/Gateways:
1. Local servers or edge routers processing intermediate data.
2. Example: A factory’s edge server analyzing machine performance before
sending data to the cloud.
3. Edge Data Centers:
1. Small, distributed data centers placed closer to users/devices.
2. Example: Telecom companies deploying edge servers to improve 5G
connectivity.
4. Cloud/Data Center (Optional):
1. Used when deeper analysis or long-term storage is needed.
Advantages of Edge Computing
✅ Lower Latency: Faster processing as data doesn’t have to
travel to centralized cloud servers.
✅ Reduced Bandwidth Usage: Less data transmission means
lower costs and faster speeds.
✅ Improved Reliability: Works even with intermittent internet
connectivity.
✅ Enhanced Privacy & Security: Sensitive data stays local,
reducing cyberattack risks.
✅ Better Performance for IoT & AI Applications: Real-time
analytics for applications like healthcare, autonomous vehicles, and
industrial automation.
Disadvantages of Edge Computing
❌ Higher Initial Costs: Deploying local edge servers and
infrastructure can be expensive.
❌ Limited Processing Power: Edge devices have less
computing power than cloud data centers.
❌ Security Risks at the Edge: If not properly secured, edge
devices can be entry points for cyberattacks.
❌ Management Complexity: Requires maintenance of multiple
distributed devices instead of a single centralized cloud.
Real-World Examples of Edge Computing
1. Autonomous Vehicles (Self-Driving Cars 🚗)
• Edge computing processes sensor data (lidar, cameras, radar)
locally in milliseconds to make instant driving decisions.
• Without Edge Computing: If data had to be sent to the cloud first,
the delay could cause accidents.
2. Smart Cities (Traffic Management 🚦)
• Cameras and sensors at traffic signals process data locally to
adjust traffic lights dynamically based on congestion.
• Without Edge Computing: Sending all data to a central server
would create delays in decision-making.
3. Healthcare (Remote Patient Monitoring 🏥)
• Wearable health devices analyze patient vitals in real-time and send alerts
for abnormal readings.
• Without Edge Computing: Cloud processing delays could be critical in
emergencies.
4. Retail (Smart Checkout Systems 🛒)
• AI-powered checkout counters analyze shopping carts and complete
payments instantly.
• Without Edge Computing: Cloud-based systems may introduce lags,
frustrating customers.
5. Industrial Automation (Manufacturing 🏭)
• Edge servers in factories analyze machine sensor data to detect failures
before they occur.
• Without Edge Computing: Cloud-based analysis could be too slow to
prevent
damage.
8. Fog Computing
• Definition:
• Fog computing extends cloud computing by bringing
computation and storage closer to the edge of the network.
• Features:
• Decentralized data processing
• Reduces latency compared to traditional cloud computing
• Supports real-time analytics
• Advantages:
✅ Improved speed and performance
✅ Reduces reliance on cloud data centers
✅ Better bandwidth utilization
• Disadvantages:
❌ Security risks due to distributed nodes
❌ Complex architecture
❌ Higher maintenance cost
• Examples:
• Smart cities managing traffic sensors
• Healthcare monitoring systems processing patient data
• Non-Technical Analogy:
• A restaurant having small kitchens on each floor instead of a single large
kitchen for the whole building.
Platform as a service(PaaS)/ Cloud Platform
services
•Platform as a service (PaaS) is a cloud computing model
where a third-party provider delivers hardware and software
tools to users over the internet. Usually, these tools are needed
for application development.
• A PaaS provider hosts the hardware and software on its
own infrastructure. As a result, PaaS frees developers from
having to install in-house hardware and software to develop or
run a new application.
•PaaS tools tend to be touted as simple to use and convenient.
Users will normally have to pay on a per-use basis. An
organization may find the move to a PaaS compelling
considering potential cost savings over using on-premises
alternatives
How does PaaS work?
PaaS does not replace a company's entire IT infrastructure for
software development. It is provided through a cloud service
provider's hosted infrastructure.
Users most frequently access the offerings through a web
browser. PaaS can be delivered through public, private and
hybrid clouds to deliver services such as application hosting
and Java development on a per-use basis.
•Other PaaS services include: Development team
collaboration, Application design and development,
Application testing and deployment, Web service integration,
Information security, Database integration.
Advantages of PaaS
1. Faster Development & Deployment ⚡
• Developers can focus on coding rather than managing infrastructure.
• Pre-configured tools and frameworks speed up development.
• Reduces time-to-market for applications.
2. Cost-Effective 💰
• No need to invest in hardware, networking, and server maintenance.
• Pay-as-you-go pricing eliminates upfront costs.
• Reduces IT staff requirements for managing infrastructure.
3. Scalability & Flexibility 📈
• Easily scale applications up or down based on traffic demands.
• Supports automatic load balancing for optimal performance.
• Allows seamless integration with cloud storage and databases.
4. Simplified Development Environment 🛠
• Provides ready-to-use APIs, libraries, and development
frameworks.
• Compatible with multiple programming languages (Python,
Java, .NET, etc.).
• Reduces configuration complexity for developers.
5. Multi-User Collaboration 👥
• Teams can work on the same project simultaneously from
different locations.
• Cloud-based version control and collaboration tools simplify
teamwork.
• Ideal for agile development and DevOps practices.
6. Automatic Maintenance & Updates 🔄
• Cloud provider handles security patches, updates, and system
maintenance.
• Ensures applications run on the latest software versions.
• Reduces downtime and maintenance burden on businesses.
7. Security & Compliance 🔐
• Providers implement data encryption, authentication, and
security protocols.
• Compliance with regulations like GDPR, HIPAA, ISO 27001.
• Protects against data loss with regular backups.
Disadvantages of PaaS
1. Vendor Lock-in 🔒
• Migrating applications to another PaaS provider can be challenging.
• Each platform has specific tools, APIs, and configurations.
• Businesses may struggle with interoperability between different
platforms.
• 2. Limited Customization 🎛
• PaaS solutions come with pre-defined configurations.
• Restricted access to underlying infrastructure limits control.
• Some applications may require custom environments, which PaaS
may not support.
3. Security Risks ⚠
• Data is stored on third-party servers, raising security concerns.
• Unauthorized access or misconfigurations can lead to
vulnerabilities.
• Companies must ensure proper data encryption and access
controls.
4. Performance Issues 🚦
• Shared cloud resources may cause performance fluctuations.
• High traffic loads can impact application response times.
• Requires proper resource allocation to maintain stability.
5. Cost Uncertainty 💸
• While initially cost-effective, long-term usage costs may increase.
• Higher fees for premium features, integrations, and additional storage.
• Businesses need cost-monitoring tools to avoid overspending.
6. Compliance & Data Regulations 📜
• Data may be stored in different geographical locations, affecting
compliance.
• Organizations handling sensitive data must ensure regulatory
adherence.
• PaaS may not be ideal for highly regulated industries like
banking and healthcare.
Contd..
Integration of Private cloud and Public
cloud
The integration of a private cloud and a public cloud is known as
Hybrid Cloud Computing. It combines the security and control of
a private cloud with the scalability and cost-effectiveness of a
public cloud.
Key Aspects of Hybrid Cloud Integration
• Data and Application Portability – Ensures seamless movement
of data and applications between private and public
[Link] Connectivity – Uses VPNs, dedicated
connections, or SD-WAN for secure [Link]
Management – Provides centralized monitoring and control over
both [Link] Distribution – Runs critical
workloads on a private cloud while offloading less-sensitive
tasks to the public cloud.
Principal Technologies
• Key to cloud dynamic infrastructure is Virtualization layer-
Hypervisor allows multiple operating system instances to run
as guests on same server.
• Main drivers for cloud computing- cost, agility, time to market.
• Build infrastructure using cloud orchestrator, provisioning
engine.
• They sit on top of virtualization layer working on network,
server, storage.
Contd..
• It is a layer of software that
• (a) interacts with multiple servers
• (b)enables IT departments to pool resources together across
servers
• (c)defines standardized tiers of services called virtual compute
centers.
Uses: users share underlying cloud infrastructure in a secure
multi tenant environment, creates VM & users can login and self
provision respective workloads, transport API which allows cloud
administrator and users to interrelate with cloud infrastructure,
allow writing workflows to automate creation of cloud
infrastructure.
Contd..
• Virtualization foundation of cloud. Consists of physical hardware
with hypervisor on top of it.
• The cloud orchestrator and provisioning engine consist of one
or more cells that communicate with single database and offer a
Web portal.
• Using web portal cloud administrator create cloud infrastructure
resources and users’ self provision thus enabling IaaS.
Cloud Strategy
•This section provides guidance to define cloud strategy
and artefacts that capture architecture of a
cloud-enabled application.
•These artefacts are meant for implementation phase of
cloud for enabling an application.
•Implementation planning phase of cloud enables an
application lying between business strategy definition
for the adoption of cloud and design, development and
implementation phases of application.
Contd..
•It translates the business intent to a set of IT
requirements for cloud based application, deriving the
high level structures of cloud based application and
defining a roadmap for implementation of application.
•So primary input for the cloud implementation planning
phase comes from cloud strategy for the business.
Contd- Key steps in cloud
implementation planning
• Understand the cloud strategy
• Define the cloud application requirements
• Assess the cloud readiness
• Define high level cloud architecture
• Identify changes in management requirements.
• Develop a roadmap and implementation plan.
Contd…
The Roadmap for strategy and planning for cloud
deployment helps in:
•Identification of business justification for adopting the cloud.
•Starting the architectural work for cloud computing
•Application readiness and fitment based on workload.
•Workload assessement and recommendation for steps in
migration.
•Selection of correct solution and implementation.
•Acquiring required skills, bridging technology gap.
•Management of roles, responsibilities and
customer-relationship.
•Development of high level cloud roadmap and value
Cloud Design and Implementation using
SOA
•SOA – Service Oriented Architecture.
•It is an architectural design which includes collection of
services in a network which communicate with each
other. The complication of each service is not noticeable
to other service.
•The service is a kind of operation which is well defined,
self contained that provides separate functionality such
as checking customer account details, printing bank
statements etc which doesn’t depend on the state of
other services.
Contd..
Why to use SOA?
• Widely used in market which responds quickly and makes
effective changes according to market situations.
• SOA keeps the implementation details of subsystems a secret.
• Allows interaction of new channels with customers, partners and
suppliers.
• Authorizes the companies to select software or hardware of
their choice as it acts as platform independence.
Contd..
•Features: uses interfaces solves difficult integration
problems in large systems, communicates customers,
providers and suppliers with messages by using XML
schema, uses message monitoring to improve
performance and detects security attacks, resuses the
service- low management cost.
•Disadvantages: Requires high investment cost( large
investment on technology, development and human
resource), greater overhead when a service interacts
with another service(increase in response time), not
suitable for GUI –more complex as SOA requires heavy
data exchange.
Conceptual Model
• The highest level conceptual component model is the main
artefact that provides an abstract view of the design of a cloud
application to business stakeholders.
• Abstract view describes how business needs will be met by
cloud application components without delving into their technical
details.
• Components identified can be decomposed into futher layered
conceptual component structures to convey further details of the
respective components.
Contd..
• The cloud conceptual component model should contain the
following elements:
1. 2. The conceptual structure of the cloud application.
Dynamic interactions and dependencies between various
conceptual components.
3. Components that comprise the cloud services provided by the
application, each of which may be made up of
sub-components.
They are not converted to physical components but retained at
the conceptual level.
Cloud service defined
• Refer Page no 47.