Tải bản đầy đủ (.pdf) (43 trang)

Assignment 1 Cloud Computing (1644 Distinction)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.77 MB, 43 trang )

ASSIGNMENT 1 FRONT SHEET
Qualification

BTEC Level 5 HND Diploma in Computing

Unit number and title

Unit 16: Cloud computing

Submission date

Date Received 1st submission

Re-submission Date

Date Received 2nd submission

Student Name

Bui Quang Minh

Student ID

GCD210325

Class

GCD1104

Assessor name


Tran Trong Minh

Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that
making a false declaration is a form of malpractice.
Student’s signature
Grading grid
P1

P2

P3

P4

M1

M2

D1


 Summative Feedback:

Grade:

 Resubmission Feedback:

Assessor Signature:


Internal Verifier’s Comments:

Signature & Date:

Date:


Contents
P1. Analysing the evolution and fundamental concepts of Cloud Computing ............................................................. 6
I. History of cloud computing.................................................................................................................................... 6
1. Introduction to the History of Cloud Computing .............................................................................................. 6
2. The Inventor of Cloud Computing..................................................................................................................... 6
3. Cloud Computing's Evolution in the 21st Century ............................................................................................ 6
II. Fundamental concepts of cloud computing ......................................................................................................... 7
III. Characteristics of cloud computing ..................................................................................................................... 8
IV. The need of cloud computing in the real world .................................................................................................. 9
V. Computing paradigm .......................................................................................................................................... 10
1. Definition ........................................................................................................................................................ 10
2. Client/Server Model ........................................................................................................................................ 11
2.1 Definition .................................................................................................................................................. 11
2.2 Advantages and Disadvantages ................................................................................................................ 12
2.3 Example..................................................................................................................................................... 13
3. P2P Model ....................................................................................................................................................... 13
3.1 Definition .................................................................................................................................................. 13
3.2 P2P and Client-Server networks ............................................................................................................... 14
3.3 Advantages and disadvantages................................................................................................................. 15
3.4 Example..................................................................................................................................................... 15
4. High-Performance Computing ........................................................................................................................ 16
4.1 Definition .................................................................................................................................................. 16
4.2 Paralled computing ................................................................................................................................... 16

4.3 Cluster computing ..................................................................................................................................... 17
4.4 Distributed computing .............................................................................................................................. 17
P2. Designing an appropriate architectural Cloud Computing framework for a given scenario ................................ 19
I. Definition ............................................................................................................................................................. 19
1. Layer 1 (User/Client layer) .............................................................................................................................. 19
2. Layer 2 (Network layer) .................................................................................................................................. 20
3. Layer 3 (Cloud management layer) ................................................................................................................. 20
4. Layer 4 (Hardware resource layer) ................................................................................................................. 20
II. Architecture design and its working mechanism for ATN company .................................................................. 21


III. Dependencies and components of ATN App ..................................................................................................... 22
P3. Defining an appropriate deployment model for a given scenario........................................................................ 24
I. Three cloud deployment models ......................................................................................................................... 24
1.1 Public cloud model.................................................................................................................................... 24
1.2 Private cloud model .................................................................................................................................. 25
1.3 Community cloud model........................................................................................................................... 26
II. Selected deployment model for ATN company with detailed explaination....................................................... 27
P4. Comparing the service models for choosing an adequate model for a given scenario........................................ 28
I. Comparing 3 service models (IaaS, PaaS, SaaS) ................................................................................................... 28
II. An adequate model for ATN app with justification ............................................................................................ 30
M1. Discussing why an organization should migrate to a Cloud Computing solution ............................................... 31
I. Advantages and disadvantages points of using cloud computing solution ......................................................... 31
II. Persuasion to the organization to utilize cloud computing instead of local apps .............................................. 32
M2. Demonstrating these deployment models with real world examples ................................................................ 33
I. 4 deployment models in real world cloud app .................................................................................................... 33
1.1 Public cloud ............................................................................................................................................... 33
1.2 Private cloud ............................................................................................................................................. 34
1.3 Hybrid cloud .............................................................................................................................................. 35
1.4 Community cloud ...................................................................................................................................... 36

II. Comparison between 4 deployment models...................................................................................................... 38
D1. Justifying the tools chosen to realise a Cloud Computing solution...................................................................... 39
I. Solution for ATN company ................................................................................................................................... 39
1.1 Deploymemt model .................................................................................................................................. 39
1.2 Service model............................................................................................................................................ 39
1.3 Programming language ............................................................................................................................. 39
1.4 Database ................................................................................................................................................... 40
1.5 Cloud platform .......................................................................................................................................... 40
REFERENCE LIST .................................................................................................................................................... 41


Table of Figures
Figure 1. Fundamentals of cloud computing ................................................................................................................ 7
Figure 2. Characteristics of cloud computing ............................................................................................................... 8
Figure 3. Architecture of cloud computing ................................................................................................................. 11
Figure 4. Client/Server model ..................................................................................................................................... 12
Figure 5. Searching bar illustration ............................................................................................................................. 13
Figure 6. Client-server vs P2P comparation ................................................................................................................ 14
Figure 7. Torrent logo ................................................................................................................................................. 15
Figure 8. Architecture desgin for ATN ........................................................................................................................ 21
Figure 9. Public cloud model ....................................................................................................................................... 24
Figure 10. Private cloud model ................................................................................................................................... 25
Figure 11. Community cloud model............................................................................................................................ 26
Figure 12. Service models ........................................................................................................................................... 28
Figure 13. Public cloud illustration ............................................................................................................................. 33
Figure 14. Private cloud illustration ............................................................................................................................ 35
Figure 15. Hybrid cloud illustration ............................................................................................................................ 36
Figure 16. Community cloud illustration .................................................................................................................... 37
Figure 17. Node JS and ReactJS logos ......................................................................................................................... 39
Figure 18. PostgreSQL logo ......................................................................................................................................... 40

Figure 19. Microsoft azure logo .................................................................................................................................. 40


P1. Analysing the evolution and fundamental concepts of Cloud Computing
I. History of cloud computing
1. Introduction to the History of Cloud Computing
Cloud computing has become the preferred method for delivering solutions and enterprise applications to
businesses worldwide. The inception of cloud computing dates back to the early 1960s, marked by the
emergence of time-sharing concepts through Remote Job Entry. IBM and DEC (Digital Equipment Corporation)
were pivotal in this development, leading to the availability of full-time sharing systems by the early 1970s. In
the 1990s, several telecommunications giants began offering cost-effective Virtual Private Network (VPN)
services, optimizing network traffic through efficient server usage. By 1994, the term "cloud" metaphorically
entered the lexicon to describe virtualized services.

2. The Inventor of Cloud Computing
Cloud computing, as we know it today, was conceptualized in the early 1960s by J.C.R. Licklider, an American
psychologist and computer scientist. His pioneering work in network research, particularly on ARPANet
(Advanced Research Project Agency Network), aimed to connect people and data globally and laid the
foundation for cloud computing. J.C.R. Licklider, born on March 11th, 1915, in St. Louis, Missouri, earned a BA
degree from Washington University in 1937, specializing in physics, mathematics, and psychology. In 1938, he
completed his MA in psychology and obtained his Ph.D. from the University of Rochester in 1942.
Licklider's profound interest in information technology, coupled with his diverse achievements, led to his
appointment as the Head of the Information Processing Techniques Office (IPTO) at ARPA (US Department of
Defense Advanced Research Project Agency) in 1962. Under his leadership, ARPANet, a precursor to the
modern internet, was established.

3. Cloud Computing's Evolution in the 21st Century
The era of cloud computing continued to evolve into the 21st century. In the mid-2000s, around 2006, Amazon
pioneered Amazon Web Services (AWS) and introduced Elastic Computing Cloud (EC2). In 2008, Google
launched its beta version of a search engine. Microsoft announced its cloud computing service, Microsoft

Azure, in 2008, designed for testing, deployment, and application management. In 2012, Google Compute
Engine was introduced to the public at the end of December 2013. Oracle entered the scene with Oracle Cloud,
offering three primary services for businesses: Infrastructure as a Service (IaaS), Platform as a Service (PaaS),
and Software as a Service (SaaS). Today, Linux and Microsoft Azure are prominent players in the cloud
computing landscape.


II. Fundamental concepts of cloud computing
Cloud computing offers several fundamental characteristics that make it a powerful technology for businesses.
Here's a summary of the five major characteristics:












On-demand Self-Service: Cloud computing allows users to easily provision infrastructure and services
with a click of a button. This self-service capability aligns with modern businesses' agile software
development needs, eliminating the long wait times associated with traditional infrastructure setup.
Rapid Elasticity and Scalability: Cloud computing provides automatic scalability, allowing businesses to
handle rapid workload changes. Resources can be added or removed quickly without causing
downtime. This feature helps businesses efficiently manage varying workloads, such as those during
sales events.
Multi-tenancy and Resource Pooling: Cloud computing supports multi-tenancy, where multiple

customers share the same physical infrastructure without compromising security and privacy. Resource
pooling ensures efficient utilization of resources and reduces costs for customers.
Pay-per-use Pricing: Cloud services are charged based on actual usage, shifting IT costing from capital
expenditures (Capex) to operational expenditures (Opex). Customers are billed for the resources they
consume, allowing for cost savings through efficient resource management.
Broad Network Access: Cloud services are accessible over the internet from anywhere and any device.
Public cloud services are available globally, and the use of edge computing further accelerates service
delivery at the cloud's edges, improving accessibility.
These characteristics provide businesses with flexible, cost-effective, and scalable solutions, making
cloud computing a valuable technology for various applications.

Figure 1. Fundamentals of cloud computing


III. Characteristics of cloud computing
Cloud computing is defined by five essential characteristics, and the presence of all these features distinguishes
it as true cloud computing:










On-demand self-service: Users have the ability to autonomously request and access computing
resources like server time and network storage without the need for direct interaction with the service
provider.

Broad network access: Cloud capabilities are accessible via the network and can be reached through
standard mechanisms, enabling usage across various devices, including mobile phones, laptops, and
personal digital assistants (PDAs).
Elastic resource pooling: Cloud providers aggregate their computing resources, serving multiple
consumers through a multi-tenant model. Physical and virtual resources are dynamically allocated and
reassigned based on consumer demand. The location of these resources may not be directly known to
the consumer but can often be specified at a higher level of abstraction, such as by country, state, or
data center. These resources can include storage, processing power, memory, and network bandwidth.
Rapid elasticity: Cloud services are designed for quick and flexible provisioning. They can rapidly scale
out to meet increased demand and just as quickly scale in when demand decreases. From the
consumer's perspective, these capabilities often seem unlimited, allowing them to purchase resources
in any quantity at any time.
Measured service: Cloud systems employ automatic resource management with metering capabilities
suitable for the type of service provided. This metering allows for the monitoring, control, and
reporting of resource usage. It provides transparency for both the service provider and the consumer,
ensuring efficient utilization of resources. These resources can encompass storage, processing,
bandwidth, and active user accounts.

Figure 2. Characteristics of cloud computing


IV. The need of cloud computing in the real world
The primary drivers behind the adoption of cloud computing are the attributes of convenience and reliability. In
the past, the transfer of files necessitated the use of physical storage devices such as USB flash drives, external
hard drives, or CDs, which then needed to be transported to different locations. In contrast, employing a cloudbased solution like Dropbox streamlines this process, ensuring that files are accessible from any computer with
an internet connection. Furthermore, the cloud greatly simplifies file sharing, enabling seamless collaboration
over the internet.
Cloud computing has found a multitude of practical applications across various domains, significantly impacting
the way businesses and institutions operate. Here are some real-world applications of cloud computing:
















Online Data Storage: Cloud computing facilitates the storage of files, images, audio, video, and more in
the cloud, eliminating the need for costly physical storage systems. It provides easy access to stored
data as per organizational requirements.
Backup and Recovery: Cloud vendors offer secure data storage and backup solutions, making data
recovery easier and more reliable compared to traditional methods. This ensures data safety and
retrievability.
Big Data Analysis: Cloud computing addresses the challenge of storing and analyzing large volumes of
data. Organizations can store extensive datasets in the cloud and use high-quality tools for data
analytics to derive valuable insights.
Testing and Development: Cloud services offer a cost-effective and flexible platform for product
development, testing, and deployment. Organizations benefit from scalable IT resources, reducing
expenses associated with these processes.
Anti-Virus Applications: Cloud-based antivirus software is stored in the cloud and monitors systems
remotely for security risks, providing protection and the convenience of remote software downloads.
E-commerce Applications: Cloud-based e-commerce platforms enable rapid responses to market
opportunities and challenges. They streamline business operations, managing customer and product

data in cloud environments.
Cloud Computing in Education: Cloud computing has revolutionized education, offering e-learning,
distance learning platforms, and student information portals. It creates an engaging environment for
students, faculty, and researchers, enhancing learning, teaching, and experimentation.
E-Governance Applications: Cloud computing supports various government activities by providing a
more efficient and cost-effective approach to managing services, applications, and resources. It
enhances scalability and customization while reducing unnecessary expenses.


V. Computing paradigm
1. Definition
Cloud computing architecture is a pivotal element that facilitates the storage and accessibility of data via the
internet. It encompasses both front-end and back-end components, providing clients with a user interface for
interaction and service providers with the means to manage and deliver cloud services. Here is an overview of
the components of cloud computing architecture:
Front End:
The front end is the client-facing aspect of cloud computing, providing the interfaces and applications
necessary for users to access cloud computing platforms. It includes:




Client Infrastructure: Offers a graphical user interface (GUI) for user interaction with the cloud.
Applications: These can be any software or platforms that clients intend to access.
Services: Determine the type of services accessed based on client requirements.

Back End:
The back end is the service provider's realm, responsible for managing the resources essential for delivering
cloud computing services. It comprises:







Data Storage: Offers significant storage capacity to store and manage data in the cloud.
Infrastructure: Provides services at the host, application, and network levels, including hardware
(servers, storage, network devices), virtualization software, and other resources.
Management: Coordinates components like applications, services, runtime environments, storage,
infrastructure, and security in the backend.
Security: Implements security mechanisms within the backend to ensure data safety.
Internet: Serves as the medium through which front end and back end components interact and
communicate.

Cloud computing architecture combines service-oriented and event-driven architectures and is structured to
serve clients and service providers, enabling seamless data storage and retrieval through internet connectivity.


Figure 3. Architecture of cloud computing

The benefits of cloud computing architecture are numerous and can have a significant positive impact on
businesses:









Solves latency issues and enhances data processing.
Reduces IT operating costs and offers data accessibility.
Allows easy scaling of cloud resources.
Provides flexibility for competitive advantages.
Enhances disaster recovery and security.
Automatically updates services.
Encourages remote work and team collaboration.

2. Client/Server Model
2.1 Definition
The client-server model in computer networking is a foundational concept where all end systems are
categorized as either clients or servers, each serving distinct roles and purposes:




Clients take on an active role in the communication process by initiating communication sessions
through requests sent to servers. To perform this role effectively, clients must possess knowledge of
available servers and the services they offer. It's important to note that clients can communicate
exclusively with servers and cannot directly interact with other clients.
Servers, in contrast, assume a passive role. They respond to their clients' requests, executing specific
actions based on these requests and returning results as necessary.

The division of roles extends to the software level, where various protocols in the TCP/IP suite employ client
and server software to facilitate communication. While client software is typically found on client hardware,


and server software is located on server hardware, there are instances where devices can function as both
clients and servers. Notably, web clients like Mozilla Firefox, Internet Explorer, and Google Chrome, and web
servers such as Apache, Microsoft IIS, and GWS, exemplify this client-server interaction in the context of web

communication.

Figure 4. Client/Server model

At a more abstract level, the client-server architecture is a widely used software design approach that
decomposes software into two primary components:




Client-side (or simply, client): This application runs on end-user computers, offering a user interface
(UI) that governs the application's look, feel, and interaction with users. Additionally, it may utilize and
consume local resources on the user's device, such as temporary and local storage.
Server-side (or simply, server): This application receives requests from clients and houses the logic
needed to generate and deliver the appropriate data in response. Instead of a user interface, servers
generally feature an application programming interface (API) for interaction. Moreover, they often
include a database to persistently store all application data.

2.2 Advantages and Disadvantages
Advantages of Centralization:





Scalability: Centralized systems can be scaled up more easily to accommodate increasing demands.
Easy Management: Centralization simplifies system management and maintenance, as it's all handled
in one central location.
Accessibility: Centralized data and resources are typically more easily accessible to users.
Data Security: Centralized systems can have enhanced data security measures due to concentrated

management.

Disadvantages of Centralization:



Network Traffic Congestion: Centralized systems can suffer from network traffic congestion, especially
during peak usage times.
High Cost: Implementing and maintaining centralized systems can be expensive.






Robustness: Centralized systems can be vulnerable to single points of failure, potentially leading to
system-wide outages.
Maintenance Difficulty: Maintenance of a centralized system can be complex and challenging.
Unacquirable Resources: In a centralized system, resources can become unavailable if the central point
fails, leading to downtime or data loss.

2.3 Example
When you are using your computer and enter www.google.com in the browser such as Google chrome, Coc
Coc, or FireFox. So that calls client computer. When you click the searching button, at this point the browser
sends a request to the Google web server. Now, Google web server responds data to the browser and display
them to user.

Figure 5. Searching bar illustration

3. P2P Model

3.1 Definition
In the P2P model, all end systems possess equivalent capabilities and responsibilities, enabling any party to
initiate a communication session. Participants in a P2P network share a portion of their hardware resources,
meaning that they both provide and request resources. They employ similar networking programs to connect
and interact with each other.
Peer-to-peer (P2P) is a decentralized communication model where both parties involved have equal
capabilities, and either can initiate a communication session. In stark contrast to the client-server model, where
the client requests a service and the server fulfills it, the P2P network model allows each node to operate as
both a client and a server.
P2P systems have the potential to offer features such as anonymized routing of network traffic, the creation of
massive parallel computing environments, and the facilitation of distributed storage. However, many P2P
programs primarily focus on media sharing, leading to a common association with software piracy and
copyright infringement.


3.2 P2P and Client-Server networks
P2P Networks:







Comprise two or more computers in a network.
Share individual resources, including DVD players, printers, and disk drives.
Each computer in a P2P network can operate as both a client and a server.
Enables direct communication between computers within the network.
All computers on the P2P network can access client devices directly connected to one specific
computer.

Requires a means of connection, such as a Wi-Fi router.

Client-Server Networks:







Involve numerous clients connecting to a central server where most applications and data are centrally
installed.
Clients access resources and data from the central server.
Typically deliver faster access speeds due to the support of a large number of clients.
Clients function as independent workstations without resource sharing.
Facilitate easier application and file upgrades because files are primarily stored on the central server.
In a client-server network, security is managed by the server rather than individual users.

Figure 6. Client-server vs P2P comparation


3.3 Advantages and disadvantages
Advantages of P2P Networking:






Cost-Efficiency: P2P networks are cost-effective as they don't require expensive centralized servers.

Setup costs are reduced, and payments may be one-time.
Reliability: P2P networks are decentralized, so one part can fail without disrupting others. Users can
still access files from functioning parts.
Scalability: P2P networks can handle additional clients without sacrificing performance. Bandwidth
availability can increase when more users share files.
Server Requirement: Each computer in a P2P network acts as a server and workstation, eliminating the
need for dedicated servers and reducing overhead costs.
Resource Sharing: Resources are shared among users, allowing devices to provide and consume
resources simultaneously. P2P can facilitate locating and downloading online files.

Disadvantages of P2P Networking:






Decentralization: Lack of centralization makes file location and retrieval more challenging, as files are
stored on individual machines.
Performance: As the number of devices on the network increases, performance may degrade, as each
computer is accessed by other users. P2P networks may not work well in growing networks.
Security: P2P networks offer limited security for individual files, relying primarily on permissions.
Unauthorized users may gain access without proper logins.
Remote Access: Unsecured codes on a terminal may allow remote users to access files without proper
permissions, compromising network security.
Backup Recovery: Backup is complex in P2P networks since data isn't centralized. Each computer must
be backed up separately.

3.4 Example
One of the most popular examples of P2P is Torrent. Every computer is connected each other on the internet in

torrent. Many computers can download files from one computer if it uploads the files. Also, every computer
has the potential to upload parts of a file if that computer has previously downloaded some segments of the
file.

Figure 7. Torrent logo


4. High-Performance Computing
4.1 Definition
High-performance computing (HPC) involves utilizing parallel data processing to enhance computational
performance and execute intricate calculations. This approach aggregates computing power to enable
advanced applications to run efficiently and swiftly, surpassing the capabilities of traditional computers,
workstations, and servers.
The significance of high-performance computing (HPC) is evident in the modern world, where technological
breakthroughs and innovations depend on cutting-edge technology, data, and advanced computation. As
technologies like artificial intelligence (AI), machine learning (ML), and the Internet of Things (IoT) continue to
evolve, they demand vast quantities of data and high-performance computing capabilities. HPC systems can
perform quadrillions of calculations per second, a substantial contrast to typical laptops or desktops that
manage, at most, 3 billion calculations per second with a 3 GHz processor.
HPC is indispensable for the following reasons:




Fostering Innovation: HPC serves as a catalyst for groundbreaking innovations in fields like science,
technology, business, and academia.
Enhancing Processing Speed: Speed is of the essence for various computing operations, applications,
and workloads, and HPC significantly improves processing speeds.
Building a Robust IT Infrastructure: HPC sets the stage for a dependable and rapid IT infrastructure
capable of storing, processing, and analyzing vast datasets for a multitude of applications.


4.2 Paralled computing
Parallel computing involves executing multiple processors simultaneously to process applications or
computations. This computing architecture breaks down large problems into independent, smaller parts that
can be processed concurrently. Multiple CPUs communicate via shared memory, combining results upon
completion. This approach is particularly useful for handling large computations by distributing the workload
among multiple processors.
Parallel computing enhances application processing speed and task resolution by harnessing the combined
computational power of systems. It is a fundamental principle used by most supercomputers. Operational
scenarios requiring substantial processing power often employ parallel processing.
Typically, in parallel computing infrastructure, multiple processors are installed in a server rack. The application
server subdivides computational requests into smaller segments, which are then processed simultaneously on
each server. This contrasts with early computer software designed for serial computation, which executed one
instruction at a time.
Parallel computing offers several advantages, including



Time and cost savings
Concurrency





Ability to tackle larger problems
Simplify complex tasks

To illustrate, consider a real-life example: when two cashiers simultaneously serve two customers, it saves time
and reduces complexity, similar to how parallel computing operates.


4.3 Cluster computing
Cluster computing refers to a group of interconnected computers that collaborate, operating as a unified
entity. These connected computers work in unison, creating the perception of a single, cohesive system.
Clusters are typically linked through high-speed local area networks (LANs).
Cluster computing holds significant importance for various reasons:






Cost-Efficiency: Cluster computing provides a cost-effective alternative to large server or mainframe
computer solutions.
Enhanced Content Delivery: It accelerates content processing and critical services.
Scalability: Many organizations and IT companies adopt cluster computing to boost scalability,
availability, processing speed, and resource management while maintaining economical costs.
Continuous Computational Power: Cluster computing ensures that computational power is consistently
available.
Vendor-Independent: It offers a standardized approach for deploying parallel high-performance
systems, independent of specific hardware vendors and their product choices.

Cluster Computing offers several advantages, including








High Performance
Ease of Management
Scalability
Expandability
Availability
Flexibility

4.4 Distributed computing
Distributed computing refers to a system where processing and data storage are spread across multiple devices
or systems rather than being concentrated in a single central device. In a distributed system, each device or
system possesses its own processing capabilities and can also handle the storage and management of data
independently. These devices or systems collaborate to perform tasks and share resources, with no single
device acting as a central hub.
An example of a distributed computing system is cloud computing, where resources like computing power,
storage, and networking are provided over the Internet and accessed on demand. In such a system, users can
access and utilize shared resources through a web browser or other client software.


Key components of a Distributed Computing System include:




Devices or Systems: These elements have their own processing capabilities and can manage their own
data.
Network: The network connects these devices or systems, enabling communication and data exchange.
Resource Management: Distributed systems often incorporate resource management systems to
allocate and oversee shared resources like computing power, storage, and networking.

The architecture of a Distributed Computing System is typically Peer-to-Peer, where devices or systems can act

as both clients and servers, directly communicating with each other.
Advantages of Distributed Computing Systems:




Scalability
Reliability
Flexibility

Limitations of Distributed Computing Systems:




Complexity
Security
Performance


P2. Designing an appropriate architectural Cloud Computing framework for a given
scenario
I. Definition
Cloud architecture, like any technological model, provides a structured way to understand how cloud
technology functions. It outlines its components and dependencies. The cloud heavily relies on the Internet for
its operation. The cloud architecture can be categorized into four layers based on user access. Cloud
architecture defines the working mechanism of cloud computing. The architecture details all the components
that are essential for the working of the cloud. If we consider the users’ access to the cloud then depending on
the user’s liberty to access cloud entities, we can classify the cloud architecture into four layers.


Figure 8. Cloud Architecture

1. Layer 1 (User/Client layer)
The first layer, known as the "Client Layer," is the foundation of the cloud architecture. It's where all users or
clients connect to the cloud. Clients can be various devices like thin clients (which rely on other systems for full
functionality), thick clients (with their own processing power), or mobile devices that can access web
applications. While cloud applications are accessed similarly to web applications, they have distinct internal
properties. This layer comprises client devices.
In layer 1, users and clients establish connections with the cloud. Accessing cloud applications is akin to
accessing web applications and requires internet or network access. However, the internal characteristics of
cloud applications differ from traditional web applications. Therefore, layer 1 plays a crucial role in establishing
the connection between users or clients and the cloud.


2. Layer 2 (Network layer)
Layer 2 serves as the connection point that allows users to link up with the cloud. The entire cloud
infrastructure relies on this connection to provide services to customers. In a public cloud, this connection is
primarily through the Internet, which is usually accessible from various locations worldwide. The exact location
of the public cloud remains abstract to users.
On the other hand, a private cloud may use a local area network (LAN) for connectivity, but its operation still
hinges on the network in use. Typically, when accessing either a public or private cloud, users require a
minimum bandwidth, which is sometimes specified by the cloud providers. It's important to note that the
quality of this Internet connection between the user and cloud is not covered by service-level agreements
(SLAs). In other words, SLAs do not guarantee the quality of service (QoS) for this layer.

3. Layer 3 (Cloud management layer)
Layer 3 encompasses software components that play a crucial role in managing the cloud. These software
components can include a cloud operating system (OS), which acts as an intermediary between the data center
(containing the actual resources) and the user. They can also include management software used for resource
management, scheduling, provisioning, and optimization tasks. These functions help ensure efficient use of

cloud resources, such as server and storage workload consolidation, and internal cloud governance.
It's important to note that this layer falls within the purview of service-level agreements (SLAs). In other words,
the operations that occur in this layer significantly impact the SLAs agreed upon between users and service
providers. Any delays in processing or discrepancies in service provisioning can lead to an SLA violation. As per
the rules, any SLA violation can result in penalties imposed by the service provider.
This is applicable to both private and public clouds. Well-known service providers like Amazon Web Services
(AWS) and Microsoft Azure offer public cloud services, while platforms like OpenStack and Eucalyptus facilitate
the creation, deployment, and management of private clouds.

4. Layer 4 (Hardware resource layer)
Layer 4 is where the actual hardware resources are provided. In a public cloud, this typically involves the use of
a data center in the backend. In a private cloud, it can also be a data center or a high-capacity, interconnected
hardware system. This layer falls under the purview of service-level agreements (SLAs), and it plays a crucial
role in governing the SLAs.
The availability and provisioning of resources are especially critical in this layer. When a user accesses the
cloud, the cloud resources should be made available as quickly as possible and within the timeframe defined by
the SLAs. If there are any discrepancies in provisioning resources or applications, the service provider may be
subject to penalties.
Data centers in this layer are equipped with high-speed network connections and efficient data transfer
algorithms to ensure rapid and reliable data access. Multiple data centers can be used for a single cloud, and
conversely, multiple clouds can share a data center.



×