Module-2
CLOUD ARCHITECTURE AND
PROGRAMMING MODEL
Presented by,
Sharanya S
Assistant Professor
Contents
• Cloud Computing Architecture.
• Cloud Computing Infrastructure.
• NIST Reference Architecture.
• Architectural Styles of Cloud Applications.
• Cloud Deployment Models & Cloud Site Design.
• Programming model: Compute and data intensive.
Cloud Computing Architecture.
Front-End:
• Frontend of the cloud architecture refers to the client side of cloud computing system.
• Means it contains all the user interfaces and applications which are used by the client to access the
cloud computing services/resources. For example, use of a web browser to access the cloud platform.
Backend :
• Backend refers to the cloud itself which is used by the service provider.
• It contains the resources as well as manages the resources and provides security mechanisms.
• Along with this, it includes huge storage, virtual applications, virtual machines, traffic control
mechanisms, deployment models, etc.
Client Infrastructure – Client Infrastructure is a part of the frontend component. It contains the
applications and user interfaces which are required to access the cloud platform.
In other words, it provides a GUI( Graphical User Interface ) to interact with the cloud.
Application -Application in backend refers to a software or platform to which client accesses. Means it
provides the service in backend as per the client requirement.
Service -Service in backend refers to the major three types of cloud based services like
SaaS, PaaS and IaaS. Also manages which type of service the user accesses.
Runtime Cloud-Runtime cloud in backend provides the execution and Runtime platform/environment
to the Virtual machine.
Storage -Storage in backend provides flexible and scalable storage service and management of stored
data.
Infrastructure-Cloud Infrastructure in backend refers to the hardware and software components of
cloud like it includes servers, storage, network devices, virtualization software etc.
Management –Management in backend refers to management of backend components like
application, service, runtime cloud, storage, infrastructure, and other security mechanisms etc.
Security –Security in backend refers to implementation of different security
mechanisms in the backend for secure cloud resources, systems, files, and
infrastructure to end-users.
Internet –Internet connection acts as the medium or a bridge between frontend
and backend and establishes the interaction and communication between frontend
and backend.
Cloud Computing Infrastructure
Cloud infrastructure is the collection of hardware and software resources that
make up the cloud.
Cloud providers maintain global data centers with thousands of IT
infrastructure components like servers, physical storage devices, and
networking equipment.
They configure the physical devices using all types of operating system
configurations.
Your organization can lease the cloud infrastructure in a pay-as-you-go
manner, which helps you save significantly on purchasing and maintaining
individual components
[Link] :
• Hypervisor is a firmware or a low-level program which is a key to enable
virtualization. It is used to divide and allocate cloud resources between several
customers. As it monitors and manages cloud services/resources that’s why
hypervisor is called as VMM (Virtual Machine Monitor) or (Virtual Machine
Manager).
2. Management Software :
• Management software helps in maintaining and configuring the infrastructure.
Cloud management software monitors and optimizes resources, data,
applications and services.
3. Deployment Software :Deployment software helps in deploying and
integrating the application on the cloud. So, typically it helps in building a
virtual computing environment.
4. Network :
• It is one of the key component of cloud infrastructure which is responsible for
connecting cloud services over the internet. For the transmission of data and
resources externally and internally network is must required.
5. Server :
• Server which represents the computing portion of the cloud infrastructure is
responsible for managing and delivering cloud services for various services and
partners, maintaining security etc.
6. Storage :
• Storage represents the storage facility which is provided to different
organizations for storing and managing data. It provides a facility of extracting
another resource if one of the resource fails as it keeps many copies of storage.
Difference between cloud computing architecture
and Infrastructure.
• Cloud infrastructure provides the necessary physical and
virtual components for hosting cloud services, while cloud
architecture focuses on the design and structure of cloud-
based systems and applications
NIST Cloud Computing Reference Architecture
• The NIST Cloud Computing Reference Architecture is a standardized
framework developed by the National Institute of Standards and Technology
(U.S. Department of Commerce).
It provides a conceptual model that defines the key roles, components, and
relationships involved in cloud computing.
Purpose:
• To provide a common understanding of cloud environments.
• To help organizations, developers, and users adopt and manage cloud
services effectively.
• To define roles, responsibilities, and interactions between cloud actors.
NIST Cloud Computing Reference Architecture
Architectural Styles of Cloud Applications.
• “Architectural Styles of Cloud Applications” — refers to the different design models or
frameworks used to structure and deliver cloud-based applications and services. These
architectures define how resources, data, and services are organized, managed, and accessed in the
cloud environment.
• 1. Service-Oriented Architecture (SOA)
• 2. Microservices Architecture
• 3. Layered (N-Tier) Architecture
• 4. Cloud-Native Architecture
• 5. Event-Driven Architecture
• [Link]-Cloud and Hybrid Cloud Architectures
1. Service-Oriented Architecture (SOA)
• Concept: Applications are composed of multiple services that communicate over a network.
• Example: An e-commerce app uses independent services for payment, catalog, and order tracking.
• Benefits: Flexibility, easier integration with other systems.
2. Microservices Architecture
• Concept: Breaks down a large application into smaller, independent microservices, each handling a
specific function.
• Example: Netflix and Amazon use microservices for high scalability and performance.
• Benefits: Independent deployment, easier maintenance, resilience.
3. Layered (N-Tier) Architecture
• Concept: Application divided into layers such as Presentation, Logic, and Data.
• Tiers Example:
• 3-Tier: Web Server (Presentation) → Application Server (Logic) → Database Server (Data)
• Multi-Tier: Adds extra layers like caching, APIs, etc.
• Benefits: Separation of concerns, easy updates, improved scalability
4. Cloud-Native Architecture
• Concept: Applications are specifically designed to run in cloud environments.
• Includes: Containers (Docker, Kubernetes), CI/CD pipelines, serverless computing.
• Benefits: High elasticity, resilience, and resource efficiency.
5. Event-Driven Architecture
• Concept: Systems react to events (like data updates or user actions) rather than continuous polling.
• Example: AWS Lambda or Azure Functions execute code in response to triggers.
• Benefits: Real-time response, scalability, efficient resource usage.
6. Multi-Cloud and Hybrid Cloud Architectures
• Multi-Cloud: Uses services from multiple providers (e.g., AWS + Azure).
• Hybrid Cloud: Combines public and private cloud environments.
• Benefits: Avoids vendor lock-in, enhances flexibility, increases reliability.
Cloud Deployment Models & Cloud Site Design.
Single cloud site:
Definition:
• A single cloud site refers to a deployment where all cloud resources (servers, storage, and applications)
are hosted in one physical or logical location — typically one data center or one region of a cloud
provider.
Features:
• Simpler to manage and deploy
• Lower cost due to centralized infrastructure
• Suitable for small to medium-scale applications
Limitations:
• Single point of failure: If the site goes down, the entire service becomes unavailable.
• Limited scalability: Expanding resources may require physical upgrades.
• Latency issues: Users far from the site may experience slower response times.
Multi-cloud site:
Definition:
• A multi-cloud site deployment uses multiple cloud service providers (e.g., AWS, Azure, Google
Cloud) or multiple geographical sites to host applications and data.
Features:
• Avoids vendor lock-in
• Increases reliability and availability
• Enables load balancing across sites
Advantages:
• High fault tolerance: If one cloud fails, another can take over.
• Optimized cost and performance: Different providers may be used for their best services.
3. Hybrid Cloud Site
Definition:
• A hybrid cloud site combines private cloud (on-premises) and public cloud resources.
It allows data and applications to move between both environments seamlessly.
Features:
• Mix of private and public infrastructures
• Flexible resource utilization
• Enhanced security for sensitive data
Advantages:
• Scalability: Public cloud can handle variable workloads.
• Security: Sensitive data stays on the private cloud.
• Cost efficiency: Pay only for extra capacity when needed.
4. Redundant Cloud Site
Definition:
• A redundant cloud site includes backup systems and failover mechanisms to ensure
continuity in case of a failure.
Redundancy can be at hardware, network, or site level.
Types of Redundancy:
• Active-Active: Multiple systems run simultaneously; load is shared.
• Active-Passive: One site remains on standby and activates during failure.
Benefits:
• High availability (99.9% or above)
• Disaster recovery capability
• Continuous business operations
5. Non-Redundant Cloud Site
Definition:
• A non-redundant setup means there are no backup systems or failover mechanisms.
If the main system fails, the service goes down until it is manually restored.
Features:
• Lower cost
• Easier to manage
• Used for non-critical or test environments
Limitations:
• No failover support
• Risk of complete downtime in case of failure
3-Tier Architecture
Definition
• A 3-tier architecture in cloud
computing is a logical and physical
structure that organizes an application
into three separate layers or tiers —
each performing a specific function.
It helps in scalability, maintainability,
and efficient resource management
in cloud environments.
• In this model:
• Each tier runs on a different server
instance or service in the cloud.
• The tiers communicate with each other
through standard APIs or protocols.
1 Presentation Tier (User Interface Layer)
1️⃣
• It’s the topmost layer where users interact with the system.
• It contains the graphical interface or front-end components such as web pages or mobile
screens.
• The purpose is to collect input from users and display results from the application layer.
Technologies Used:
• HTML, CSS, JavaScript, React, Angular, Flutter
• Cloud Hosting: AWS S3 (Static Web Hosting), Azure Web Apps, Google Cloud Storage
Example:
When a user logs in to a website — they enter their credentials on the UI page, which are sent to
the application tier for verification.
2️⃣Application Tier (Logic Layer)
• This is the middle layer that connects the front-end (presentation) to the back-end
(database).
• It handles business logic, application processing, and communication between tiers.
• Acts as the brain of the system — validating input, processing data, and applying rules.
Technologies Used:
• Languages: Java, Python, [Link], .NET, PHP
• Cloud Platforms: AWS EC2, AWS Lambda, Google App Engine, Azure App Service
• Microservices or containerized environments (Docker, Kubernetes)
Example:
When a user logs in, the application tier checks the credentials with the database and returns
either success or an error message.
3 Data Tier (Database Layer)
3️⃣
• The bottom layer responsible for storing, retrieving, and managing data.
• This layer ensures data persistence, security, and reliability.
• Can include both SQL and NoSQL databases, depending on application needs.
Technologies Used:
• Databases: MySQL, PostgreSQL, MongoDB, Amazon RDS, Google Cloud SQL, Azure
Cosmos DB
• Backup and replication managed by the cloud provider
Example:
Stores user credentials, transaction details, and other persistent information for the
application.
Workflow Example
Let’s take an example of a cloud-based e-commerce application:
• Presentation Tier:
The customer opens the online store website and browses products (hosted on AWS S3 or
CloudFront).
• Application Tier:
When the customer adds an item to the cart, the app server (AWS EC2 / Azure App
Service) processes this request.
• Data Tier:
The order details and user information are stored in a database (Amazon RDS or Azure
SQL).
• Response Flow:
The application sends confirmation to the UI → UI displays "Order Placed Successfully."
Multi-Tier Architecture in Cloud Computing
• A multi-tier architecture in cloud
computing is a software design model that
divides an application into multiple layers
(or tiers), where each layer performs a
specific set of functions.
• Each tier runs on separate servers or
services in the cloud and communicates
with other tiers through APIs or network
protocols.
In simple terms —
• A multi-tier architecture extends the
traditional 3-tier architecture by adding
more layers (such as caching, security,
integration, or analytics) to improve
performance, scalability, and flexibility in
cloud environments.
• While the 3-tier model has Presentation, Application, and Data tiers,
multi-tier architectures can have 4, 5, or even more tiers, depending on the application’s complexity.
1. Presentation Tier
• Acts as the front-end layer where users interact with the system.
• Responsible for displaying data and collecting user inputs.
• It can be a web app, mobile app, or dashboard.
Example:
A React or Angular web application hosted on AWS S3 + CloudFront.
2. Application / Business Logic Tier
• The core layer that processes requests from the presentation tier.
• It executes business logic, performs calculations, and communicates with databases or external
systems.
• Deployed as a microservice or containerized system in the cloud.
Example:
Hosted on AWS EC2, Azure App Service, or Google Cloud Run.
3. Integration / API Tier
• Acts as a middleware or service communication layer.
• Handles API management, authentication, routing, and message exchange between services.
• Ensures decoupled and secure interaction between application modules.
Example:
• AWS API Gateway or Azure API Management
• Middleware using [Link] or Spring Boot microservices
4. Data Tier
• The storage layer that manages all persistent data.
• It can include relational databases (SQL) or non-relational (NoSQL) systems.
• Often uses cloud-managed databases for high availability and security.
Example:
• Amazon RDS, DynamoDB, Azure SQL, or Google Cloud SQL.
Programming Models in Cloud Computing
Programming Models in Cloud Computing
• A programming model defines how applications are designed and executed on
computing resources. It provides a framework or set of abstractions for developers to
efficiently utilize cloud infrastructure for different types of workloads.
• Cloud applications generally fall into two categories based on their workload type:
1. Compute-Intensive Programming Model
2. Data-Intensive Programming Model
1. Compute-Intensive Programming Model
Definition:
• A compute-intensive model focuses on applications where most of the processing time is
spent performing computations (CPU/GPU operations) rather than waiting for data to
be read or written.
🔸 Characteristics:
• Heavy use of CPU/GPU resources
• Low data transfer or I/O operations
• Tasks can be parallelized efficiently
• Often used in scientific and engineering computations
Programming Models Used:
• Parallel Programming Models:
• MPI (Message Passing Interface) – for distributed systems communication
• OpenMP – for shared-memory parallelism
• CUDA / OpenCL – for GPU-based computation
• MapReduce (compute-focused variant) – for parallel task execution
🔸 Key Metrics:
• CPU/GPU utilization
• Execution time (speedup and scalability)
• Load balancing among computing nodes
2. Data-Intensive Programming Model
2. Data-Intensive Programming Model
🔸 Definition:
• A data-intensive model focuses on applications where performance is limited by data
access, storage, and movement, rather than computation. These involve large-scale data
processing, often distributed across multiple nodes.
🔸 Characteristics:
• High volume, velocity, and variety of data (Big Data)
• Requires efficient data distribution and storage
• Involves I/O bound operations
• Focus on fault tolerance and data locality
Programming Models Used:
• MapReduce (Hadoop ecosystem) – for distributed data processing
• Spark – in-memory data analytics
• Dryad, Flink, Storm – stream and batch data frameworks
• Dask – for parallel data processing in Python
🔸 Key Metrics:
• Data throughput (MB/s or GB/s)
• Latency in data access
• Scalability with growing data size
• Fault tolerance and recovery time
Thank You
37