MODULE-2
Cloud Computing Architecture
Cloud Computing Architecture
As we know, cloud computing technology is used by both small and large organizations to store the
information in cloud and access it from anywhere at any time using the internet connection. Cloud
computing architecture is a combination of service-oriented architecture and event-driven architecture.
Cloud computing architecture is divided into the following two parts:
[Link] End
[Link] End.
The below diagram shows the architecture of cloud computing –
Front End: The front end is used by the client. It contains client-side interfaces and applications that
are required to access the cloud computing platforms.
The front end includes web servers (including Chrome, Firefox, internet explorer, etc.), thin & fat clients,
tablets, and mobile devices.
Back End: The back end is used by the service provider. It manages all the resources that are required
to provide cloud computing services. It includes a huge amount of data storage, security mechanism,
virtual machines, deploying models, servers, traffic control mechanisms, etc.
Note: Both front end and back end are connected to others through a network, generally using the
internet connection. Components of Cloud Computing Architecture.
These are the following components of cloud computing architecture –
1
1. Client Infrastructure: Client Infrastructure is a Front end component. It provides GUI (Graphical
User Interface) to interact with the cloud.
2. Application: The application may be any software or platform that a client wants to access.
3. Service: A Cloud Services manages that which type of service you access according to the client’s
requirement.
Cloud computing offers the following three type of services:
i. Software as a Service (SaaS) – It is also known as cloud application services. Mostly, SaaS
applications run directly through the web browser means we do not require to download and install these
applications.
Some important examples of SaaS is given below – Example: Google Apps, Salesforce Dropbox, Slack,
Hubspot, Cisco WebEx.
ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite similar to SaaS,
but the difference is that PaaS provides a platform for software creation, but using SaaS, we can access
software over the internet without the need of any platform.
Example: Windows Azure, [Link], Magento Commerce Cloud, OpenShift.
iii. Infrastructure as a Service (IaaS) – It is also known as cloud infrastructure services. It is
responsible for managing applications data, middleware, and runtime environments.
Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), CiscoMetapod.
4. Runtime Cloud: Runtime Cloud provides the execution and runtime environment to the virtual
machines.
Runtime Cloud refers to the environment in which cloud applications are executed and managed.
5. Storage: Storage is one of the most important components of cloud computing. It provides a huge
amount of storage capacity in the cloud to store and manage data.
6. Infrastructure: It provides services on the host level , application level , and network level. Cloud
infrastructure includes hardware and software components such as servers, storage, network devices,
virtualization software, and other storage resources that are needed to support the cloud computing
model.
7. Management: Management is used to manage components such as application, service, runtime
cloud, storage, infrastructure, and other security issues in the backend and establish coordination
between them.
2
8. Security: Security is an in-built back-end component of cloud computing. It implements a security
mechanism in the back end.
9. Internet: The Internet is medium through which front end and back end can interact and
communicate with each other.
10. Database: Database in backend refers to provide database for storing structured data, such as SQL
and NOSQL databases. Example of Databases services include Amazon RDS, Microsoft Azure SQL
database and Google CLoud SQL.
11. Networking: Networking in backend services that provide networking infrastructure for
application in the cloud, such as load balancing, DNS and virtual private networks.
12. Analytics: Analytics in backend service that provides analytics capabilities for data in the cloud,
such as warehousing, business intelligence and machine learning.
Cloud Modelling and Design
Cloud Modelling and Design refers to the process of structuring and representing cloud computing
systems, their components, and interactions in a standardized and conceptual manner.
It helps in understanding how different parts of a cloud system such as infrastructure, platform, and
applications work together to deliver cloud services efficiently.
The main goals are:
Goals of Cloud Modelling and Design:
1. Visualization – To understand how all cloud components fit together.
2. Efficiency – To optimize resource usage for better performance.
3. Scalability – To design systems that can grow easily with demand.
4. Security – To include access control, encryption, and monitoring in the design.
5. Cost Effectiveness – To choose the right combination of services to minimize cost.
3
Cloud Design Process
1. Step 1: Identify Requirements
Determine what the user or organization needs, such as storage, compute power, and network
capacity.
2. Step 2: Choose Cloud Model
Decide whether to use a Public, Private, Hybrid, or Community Cloud based on security and
scalability needs.
3. Step 3: Choose Service Model
Select IaaS, PaaS, or SaaS depending on the required level of control and responsibility.
4. Step 4: Design Architecture
Plan the architecture layers , user interface, application logic, and data storage ensuring proper
integration.
5. Step 5: Implement and Test
Deploy the application using a cloud provider such as AWS, Microsoft Azure, or Google Cloud
Platform (GCP), and perform testing for performance and reliability.
6. Step 6: Monitor and Optimize
Continuously monitor the system’s performance, security, and cost, making improvements as
needed for efficiency.
Cloud Design Models
Cloud Design Models define the structure and approach used to design and deliver cloud services.
They represent how cloud resources and services are organized, managed, and provided to users.
1. Service Models (SPI Model)
These define what kind of services are offered to users.
a) Infrastructure as a Service (IaaS)
Provides virtualized computing resources such as servers, storage, and networking.
Example: Amazon EC2, Google Compute Engine.
User controls: OS, applications, and storage.
b) Platform as a Service (PaaS)
Offers platforms and tools for developing, testing, and deploying applications.
4
Example: Microsoft Azure App Service, Google App Engine.
User controls: Applications only.
c) Software as a Service (SaaS)
Delivers ready-to-use applications over the internet.
Example: Gmail, Salesforce, Microsoft 365.
User controls: Only application settings.
2. Deployment Models
These define where and how the cloud infrastructure is deployed.
a) Public Cloud
Services are provided over the internet and shared among multiple users.
Example: AWS, Azure, Google Cloud.
b) Private Cloud
Used by a single organization for greater control and security.
Example: VMware vSphere, OpenStack.
c) Hybrid Cloud
Combination of public and private clouds for flexibility and data portability.
Example: Azure Hybrid Cloud, AWS Outposts.
d) Community Cloud
Shared by organizations with common goals or compliance needs.
Example: Government or educational consortium clouds.
3. Design Architecture Models
These define how the cloud system is structured internally to achieve desired goals.
a) Layered Architecture Model
▪ User Layer: Interfaces for users.
▪ Application Layer: Manages logic and workflows.
▪ Data Layer: Stores and manages data.
▪ Infrastructure Layer: Provides hardware and network resources.
5
b) Service-Oriented Architecture (SOA) Model
Applications are built as independent services that communicate via APIs.
Enables reusability and interoperability.
c) Virtualization-Based Model
Focuses on abstracting physical resources (servers, storage, networks) to create flexible, scalable
virtual resources.
Cloud computing Technology:
Cloud Service Life Cycle
The Cloud Life Cycle describes the stages through which cloud services and solutions are planned,
built, deployed, managed, and retired.
It ensures that every cloud-based solution is well-designed, secure, scalable, and efficiently managed.
Phases of the Cloud Life Cycle
Step 1: Define the Purpose
• Identify why the cloud service or infrastructure is being created.
• Understand the objectives, such as scalability, cost savings, or flexibility.
• Define the type of service to be provided — IaaS, PaaS, or SaaS.
Example: Hosting a web application, creating a data storage service, or building a development
platform.
Step 2: Define the Hardware
• Select the computing resources required to build the cloud environment.
• Determine CPU, memory, storage devices, and hardware accelerators (like GPUs).
• Decide on virtualization technologies and resource allocation policies.
Example: Choosing servers, hypervisors, and data center configurations.
Step 3: Define the Storage
• Plan how and where data will be stored.
• Choose between block, object, or file storage models.
• Implement redundancy, backup, and replication strategies to ensure data durability.
Example: Using Amazon S3 for object storage or setting up distributed file systems.
Step 4: Define the Network
• Design the network architecture for the cloud.
• Define bandwidth, IP addressing, routing, and load balancing.
• Ensure connectivity between physical and virtual resources.
6
Example: Setting up virtual LANs (VLANs), firewalls, and VPNs.
Step 5: Define the Security
• Identify security policies and mechanisms to protect data and services.
• Implement authentication, authorization, and encryption methods.
• Plan for compliance with security standards (e.g., ISO, GDPR).
Example: Using IAM roles, SSL/TLS encryption, and intrusion detection systems.
Step 6: Define the Management Process and Tools
• Establish how the cloud environment will be monitored and managed.
• Choose management tools for provisioning, configuration, and automation.
• Define policies for performance, cost, and user access management.
Example: Using tools like Kubernetes, OpenStack, or Azure Resource Manager.
Step 7: Testing the Process
• Test the system for functionality, performance, and reliability.
• Verify security, scalability, and failover mechanisms.
• Conduct load testing and disaster recovery drills.
Example: Simulate user traffic to evaluate performance under load.
Step 8: Analytics
• Continuously monitor and analyze system performance.
• Use analytics to optimize cost, performance, and resource utilization.
• Gather feedback to improve future cloud services.
Example: Using dashboards and monitoring tools (CloudWatch, Grafana) to analyze metrics.
Advantages
• Cost Saving: It helps you to save substantial capital costs as it does not need any physical
hardware investments.
• High Speed: Cloud computing allows you to deploy your service quickly in fewer clicks.
• Backup and restore of data: Back-up and restore of data is easy in cloud computing.
• Reliability: It is highly reliable to use cloud computing solutions.
Virtualization
Virtualization is the "creation of a virtual (rather than actual) version of something, such as a server, a
desktop, a storage device, an operating system or network resources".
•In other words, Virtualization is a technique, which allows to share a single physical instance of a
resource or an application among multiple customers and organizations.
•It does by assigning a logical name to a physical storage and providing a pointer to that physical
resource when demanded.
7
What Is a Virtual Machine?
The virtual machine is the emulation or a virtual representation of a physical device that can execute
multiple operating systems on the same computer with a different operating system.
The operating systems installed using the virtual machine are known as the guest OS, and the physical
system's operating system where the virtual machine is executed is known as the host OS.
Working of Virtualization
•After installing virtualization software, you can create one or more virtual machines on your computer.
•Virtual machines (VMs) behave like regular applications on your system.
•The real physical computer is called the Host, while the virtual machines are called Guests.
•A single host can run multiple guest virtual machines.
•Each guest can have its own operating system, which may be the same or different from the host OS.
•Every virtual machine function like a standalone computer, with its own settings, programs, and
configuration.
•VMs access system resources such as CPU, RAM, and storage, but they work as if they are using their
own hardware.
Types of Virtualizations:
[Link] Virtualization.
[Link] system Virtualization.
[Link] Virtualization.
[Link] Virtualization.
[Link] Virtualization
1) Hardware Virtualization:
Hardware Virtualization is a technology that allows multiple operating systems to run simultaneously
on a single physical machine by creating virtual machines (VMs) that share the underlying hardware
resources.
Each virtual machine behaves as a separate physical computer with its own CPU, memory, storage,
and network interface, but all these are virtually simulated by a software layer called the hypervisor.
2) Operating System Virtualization:
Operating System Virtualization allows many isolated systems (called containers) to run on one
operating system.
Each container works like a separate computer, but all of them share the same OS kernel.
Containers are lightweight, portable units that package an application and everything it needs to run —
such as code, libraries, and settings — into a single package.
8
3) Server Virtualization:
Definition:
Server Virtualization is a technology that allows one physical server to be divided into multiple virtual
servers.
Each virtual server behaves like a separate physical machine with its own operating system,
applications, and users.
How It Works
• A hypervisor (virtualization software) is installed on the physical server.
• It divides the server’s CPU, memory, and storage into virtual machines (VMs).
• Each VM runs independently, even though they share the same hardware.
4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from multiple network storage
devices so that it looks like a single storage device. Storage virtualization is also implemented by using
software applications.
Usage:
Storage virtualization is mainly done for back-up and recovery purposes.
5) Application Virtualization:
Application Virtualization is a technology that allows an application to run on a computer without
being installed in the traditional sense. The application is abstracted from the underlying operating
system, so it can run in a self-contained environment.
9
Differentiate between Cloud computing and Virtualization
Cloud Computing Virtualization
Cloud computing is used to provide pools and While It is used to make various simulated
automated resources that can be accessed on- environments through a physical hardware
demand. system.
Cloud computing setup is tedious, complicated. While virtualization setup is simple as
compared to cloud computing.
Cloud computing is high scalable. It is low scalable compared to cloud computing.
Cloud computing is Very flexible. It is less flexible than cloud computing.
In the condition of disaster recovery, cloud While it relies on single peripheral device.
computing relies on multiple machines.
The total cost of cloud computing is higher than The total cost of virtualization is lower than
virtualization. Cloud Computing.
Cloud computing requires many dedicated While single dedicated hardware can do a great
hardware. job in it.
Cloud computing provides unlimited storage While storage space depends on physical server
space. capacity in virtualization.
the pricing pay as you go model, and the pricing is totally dependent on
consumption is the metric on which billing is infrastructure costs.
done.
10
Grid Computing
Grid computing is a distributed computing model that connects multiple computers (often
geographically dispersed) to work together and perform large-scale computation tasks as a single
virtual system.
It allows organizations to share computing resources like processing power, storage, and data across
networks to solve complex problems efficiently.
Key Features of Grid Computing
1. Resource Sharing:
Combines unused CPU cycles, storage, and memory from multiple computers.
2. Distributed Computing Environment:
Resources are spread across different locations, organizations, or networks.
3. Scalability:
Easily add or remove nodes (computers) based on requirements.
4. Heterogeneity:
Supports diverse hardware, operating systems, and networks.
5. Fault Tolerance:
Tasks can continue on other nodes if one node fails.
6. High Performance:
Enables parallel processing of computationally intensive applications.
How Grid Computing Works
1. A task is divided into smaller subtasks.
2. These subtasks are distributed to multiple computers (nodes).
3. Each node processes its subtask independently.
4. The results are sent back and aggregated to form the final output.
11
Cloud computing vs grid computing vs Virtualization
12