You are on page 1of 20

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing

Unit number
Unit 16: Cloud computing
and title

Submission Date Received 1st


19/06/2023
date submission

Re-
Date Received 2nd
submission
submission
Date

Student Name Pham Van Son Student ID BH00263

Class IT0504 Assessor name Le Van Thuan

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
Son
signature

Grading grid
P P P P M M D
1 2 3 4 1 2 1
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:


Signature & Date:

Page | 2
Page | 3
A. Introduction
ATN is a Vietnamese company which is selling toys to teenagers in many provinces all over
Vietnam. The company has revenue of over 500.000 dollars/year. Currently, each shop has
its own database to store transactions for that shop only.

The requirement for me in this project is to find a way to meet the requirements of the ATN
company which is to provide a way to store data from member shops for managers and
Board members can easily and quickly reference and extract to be able to quickly update
stock information in real time.
In this report I will address the following issues:

 An overview of Cloud Computing through development history and related basic


concepts.
 An architectural Cloud Computing framework suitable for the case of ATN.
 Analysis and evaluation of company causes should apply Cloud Computing.
 Analyze and identify appropriate deployment model for ATN company.
 Compare service models to provide a suitable model for the company.
 Practical examples of the above deployment models.

Page | 4
B. Body
P1. Analyse the evolution and fundamental concepts of Cloud Computing
1. Evolution of Cloud Computing
Cloud Computing is a model of computing where users can rent computing services rather
than owning and managing their own infrastructure. This concept originated in the 1950s,
and several key technologies have played a crucial role in shaping cloud computing into
what it is today.

One of these technologies is distributed systems, which involve multiple independent


systems working together as a single entity to share and utilize resources effectively.

Figure 1: Evolution of Cloud Computing.

Distributed systems offer scalability, concurrency, continuous availability, heterogeneity,


and fault tolerance. However, an early limitation was that all systems needed to be located
in the same geographical area. To overcome this, distributed computing led to the
development of mainframe computing, cluster computing, and grid computing.

Page | 5
Mainframe computing emerged in 1951 and involved powerful and reliable machines
capable of handling large-scale data processing tasks. Mainframes were particularly useful
for tasks such as massive input-output operations and online transactions. Despite their
high processing capabilities, mainframes were expensive, leading to the emergence of
cluster computing as a more cost-effective alternative.

Cluster computing emerged in the 1980s and involved connecting multiple machines within
a network with high bandwidth. These clusters were cheaper than mainframe systems
while still offering substantial computational power. Additionally, new nodes could easily be
added to the cluster when needed. However, geographical limitations persisted, leading to
the introduction of grid computing.

Grid computing, introduced in the 1990s, connected systems located at different


geographical locations through the internet. The grid consisted of heterogeneous nodes
from various organizations. While this solved some problems, it also introduced challenges
associated with distance, low availability of high-bandwidth connectivity, and other
network issues. Cloud computing is often considered the successor to grid computing,
building upon its concepts.

Virtualization, a technology introduced around 40 years ago, plays a crucial role in cloud
computing. It involves creating a virtual layer over the hardware, enabling the simultaneous
operation of multiple instances on a single hardware infrastructure. Virtualization serves as
the foundation for major cloud computing services like Amazon EC2 and VMware vCloud,
with hardware virtualization being a common type.

Web 2.0 serves as the interface for clients to interact with cloud computing services. It
enables interactive and dynamic web pages, offering increased flexibility. Web 2.0 gained
popularity around 2004 and is responsible for various online platforms, including social
media sites like Google Maps, Facebook, and Twitter.

Page | 6
Service orientation serves as a reference model for cloud computing, supporting low-cost,
flexible, and evolvable applications. It introduced concepts such as Quality of Service (QoS)
and Software as a Service (SaaS), including Service Level Agreements (SLAs).

Utility computing defines a model where services such as compute, storage, and
infrastructure are provisioned on a pay-per-use basis. This model aligns with the idea of
cloud computing, providing services as utilities.

In summary, the combination of distributed systems, virtualization, web 2.0, service


orientation, and utility computing has played a vital role in shaping and enabling the
development of cloud computing as a powerful and flexible computing model.

2. Fundamental concepts of Cloud Computing

Figure 2: Concept of cloud computing.

Cloud Computing is a revolutionary technology that delivers computing services over the
Internet, providing businesses with flexible resources, faster innovation, and cost savings.

Page | 7
Instead of companies managing their own physical servers and data centers, they can rely
on cloud service providers to handle their computing needs.

The Cloud is a metaphorical term referring to the delivery of various computing services,
including servers, storage, databases, and software, over the Internet. Cloud computing
works by offering two primary services: compute power and storage. Compute power
options include virtual machines, containers, and serverless computing, while cloud service
providers take care of data storage needs, offering scalable storage solutions.

Businesses can benefit from cloud computing in several ways. It is cost-effective, as


companies only pay for the resources they use on a pay-as-you-go basis. Cloud computing
also offers scalability, allowing businesses to adjust their resources according to their needs.
It provides reliable data backup, disaster recovery, and security measures implemented by
cloud service providers. The elasticity of cloud computing enables automatic resource
adjustment to accommodate workload changes.

Cloud computing is deployed using different models: public cloud, private cloud, and hybrid
cloud.
 Public Cloud services are provided by third-party vendors like Microsoft Azure,
Amazon Web Services (AWS), Alibaba Cloud, and Google Cloud.
 Private Cloud refers to a dedicated cloud environment in a data center
exclusively for a single organization.
 Hybrid Cloud combines public and private cloud deployments, offering greater
flexibility and optimization of existing infrastructure.

Types of Cloud Computing: Cloud Service Categories

After considering the deployment model for the company’s cloud environment, most cloud
computing services fall into four broad categories: infrastructure as a service (IaaS),
platform as a service (PaaS), and software as a service (SaaS). Often they are called the
“stack” cloud computing because of how they build on top of one another. It is more
convenient to achieve your business goals by knowing what they are.

Page | 8
Infrastructure as a service (IaaS): IaaS is the simplest option for businesses. Businesses
migrate its their hardware by rents the infrastructure and storage they need from the cloud
vendor and then use that cloud infrastructure to build their application instead of
purchasing and maintaining its own infrastructure. Example: Digital Ocean.

Platform as a service (PaaS): For businesses that want to build unique apps without
significant financial investments through vendors in terms of building your applications like
development tools, infrastructure, operating system, PaaS is a popular choice. Example:
Microsoft Azure, Heroku, Google App Engine.

Function as a service (FaaS): Overlapping with PaaS, FaaS is also known as the severless
computer. The main idea of FaaS focuses on building app functionality so that it doen’t
continually spend time in managing the servers and infrastructure. It breaks down the
application into seperate functions that run when triggered by some action.

Software as a service (SaaS): SaaS is the most frequently used cloud computing
infrastructure which became the dominant way to access software applications for
businesses. SaaS delivers its software applications over the Internet, on demand, and
applies a pay-as-you-go service. Example: Google Apps, Dropbox, Salesforce.

Cloud computing has transformed the way businesses manage their computing resources,
offering cost savings, scalability, reliability, and security. It provides various deployment
models and service categories to meet the unique needs of different organizations.

3. Five characteristics of cloud computing

Page | 9
Figure 3: Five characteristics of cloud computing

Cloud computing, as defined by the National Institute of Standards and Technology (NIST),
possesses five key characteristics:

 On-demand self-service

Cloud computing allows organizations to provision computing resources, such as storage


space or virtual machines, without the need for human interaction with the service
provider. This can be done through a web self-service portal that enables users to manage
their cloud services, monitor usage, and provision or de-provision services as needed.

 Broad network access

Cloud computing resources are accessible over a network, typically the internet or a local
area network (LAN). This ensures that customers can access their cloud services from

Page | 10
diverse platforms and locations. Network bandwidth and latency are crucial factors in
delivering quality service for time-sensitive manufacturing applications.

 Multi-tenancy and resource pooling

Cloud computing supports a multi-tenant model where multiple customers share the same
applications or physical infrastructure while maintaining privacy and security. This is akin to
people living in an apartment building, sharing the building infrastructure while having
separate living spaces. Resource pooling enables multiple customers to be served from the
same physical resources, allowing for scalability, flexibility, and economies of scale. It is
important to ensure that resource allocation does not impact the performance of critical
manufacturing applications.

 Rapid elasticity and scalability

Cloud computing enables rapid provisioning and de-provisioning of resources based on


business demands. Organizations can quickly scale up or down their cloud resources as
needed, without additional contractual obligations or penalties. Elasticity refers to the
ability to dynamically provision and de-provision resources, such as storage or virtual
machines, while scalability involves planned and gradual capacity expansion. Just-in-time
(JIT) services utilize cloud elasticity for immediate resource provisioning, while scalability
focuses on long-term planning. Rapid elasticity and scalability benefit manufacturing
organizations by reducing capital expenditure and providing flexibility for testing
applications and meeting changing computational needs.

 Measured service

Cloud computing resources are metered and organizations pay according to their usage.
Cloud service providers monitor, measure, and report resource utilization, allowing
customers to optimize their usage and leverage charge-per-use capabilities. This "pay for
what you use" model ensures that organizations only pay for the actual consumption of
cloud resources, eliminating the need for significant upfront capital expenses. This feature
is particularly valuable for manufacturing organizations conducting testing and
development activities in the cloud.

Page | 11
In summary, cloud computing's characteristics of on-demand self-service, broad network
access, multi-tenancy and resource pooling, rapid elasticity and scalability, and measured
service enable organizations to leverage flexible and cost-efficient computing resources to
meet their business needs.

4. Virtualization
Virtualization is a technology that you can use to create virtual representations of servers,
storage, networks, and more. Virtual software emulates the functionality of physical hardware to
run multiple virtual machines simultaneously on a single physical machine. Businesses apply
virtualization technology to make efficient use of their hardware resources and earn a greater
return on investment. The technology also powers a variety of cloud services that help
organizations manage their infrastructure more efficiently.

By using virtualization, you can interact with any hardware resource with greater flexibility.
Physical servers consume power, take up storage space, and require maintenance. You are often
limited in terms of actual reach and network design if you want to reach a physical server.
Virtualization removes all these limitations by abstracting the functionality of physical hardware
into software. You can manage, maintain, and use your hardware infrastructure like a web
application.

Examples of virtualization
Consider a situation where a company needs servers for three functions:
 Store your business email securely
 Run apps that interact directly with customers
 Run internal enterprise applications

Each of these functions has different configuration requirements:


 Email client requires more storage space and Windows operating system.
 Applications that interact directly with customers require a Linux operating system
and high processing power to handle large amounts of website traffic.
 Internal enterprise apps require iOS and larger internal memory (RAM).

To meet these requirements, the company will set up three different dedicated physical
servers for each application. The company had to make a large initial investment and
perform constant maintenance and upgrades for each machine one by one. The company

Page | 12
was also unable to optimize computing power. The company pays 100% of the cost of
server maintenance but uses only a portion of the storage and processing capacity.

 Use the software effectively

Thanks to virtualization, the company creates three digital servers or virtual machines on a
single physical server. The company specifies operating system requirements for virtual
machines and can use virtual machines as physical servers. Now, however, the company has
less hardware and fewer associated costs.

 Infrastructure as a Service

The company can go a step further and use a cloud instance or a virtual machine from a
cloud service provider like AWS. AWS manages all the underlying hardware, and the
company may require server resources with different configurations. All applications run on
these virtual servers without the user noticing any difference. It's also easier for the
company's IT team to manage the server.

Benefits of virtualization
Virtualization offers a number of benefits to any organization:

 Efficient use of resources

Virtualization improves the hardware resources used at your data center. For example,
instead of running a server on a computer system, you can create a group of virtual servers
on the same computer system by using and returning servers to groups as required. If there
are fewer physical servers on the premises, your data center space will be freed up, while
saving money on electricity, generators, and cooling equipment.

 Automated IT Management

Now that the physical servers are virtual, you can manage them using software tools.
Administrators create deployment and configuration programs to define virtual machine
patterns. You can replicate your infrastructure repeatedly and consistently, and avoid error-
prone manual configurations.

Page | 13
 Faster disaster recovery

When events such as natural disasters or cyberattacks negatively impact business, regaining
access to IT infrastructure and replacing or repairing physical servers can take hours or
hours. even a few days. In contrast, this process takes a few minutes if using a virtualized
environment. This prompt response greatly improves resilience and enables business
continuity so operations can resume on schedule.

How does virtualization work?


Virtualization uses specialized software called virtual machine monitoring software to
create several instances of a cloud or virtual machine on a single physical computer.

 Cloud version or virtual machine

After you install virtualization software on your computer, you can create one or more
virtual machines. You can access the virtual machine the same way you access other
applications on your computer. Your computer is called the server and the virtual machine
is called the client. Several clients may run on that server. Each client computer has its own
operating system, which can be the same or different from the server's operating system.

From the user's point of view, the virtual machine behaves like a typical server. The virtual
machine has settings, configurations, and installed applications. Computer resources, such
as the central processing unit (CPU), Random Access Memory (RAM), and storage, appear
the same as on the physical server. You can also configure and update client operating
systems and their applications as needed without affecting the server operating system.

 Virtual machine monitoring software

Virtual machine monitoring software is virtualization software that you install on a physical
machine. It's a layer of software that acts as an intermediary between virtual machines and
the underlying hardware or the host's operating system. Virtual machine monitoring
software coordinates access to the physical environment so that several virtual machines
have access to their own share of physical resources.

Page | 14
For example, if a virtual machine requests computer resources, such as the computer's
processing power, the request is first routed to the virtual machine monitoring software.
The virtual machine monitoring software then passes the request to the underlying
hardware responsible for performing the task.

Following are the two main types of virtual machine monitoring software.

 Class 1 virtual machine monitoring software

Class 1 virtual machine monitoring software – also known as bare metal VM monitoring
software – runs directly on the computer's hardware. This type of virtual machine
monitoring software has some operating system capabilities and is highly efficient by
directly interacting with physical resources.

 Layer 2 virtual machine monitoring software

Layer 2 virtual machine monitoring software runs as an application on the computer's


hardware with the existing operating system. Use this type of virtual machine monitoring
software when running multiple operating systems on a single machine.

What are the different types of virtualization?


You can use virtualization to get the functionality of many different types of physical
infrastructure and enjoy all the benefits of a virtualized environment. You can go beyond
the virtual machine to create a set of virtual resources in your virtual environment.

 Server virtualization

Server virtualization is the process of partitioning a single physical server into multiple
virtual servers. This is a cost-effective way of using server resources and deploying IT
services in an organization. Without server virtualization, physical servers would use only a
fraction of the processing power, leaving devices to idle.

 Repository Virtualization

Page | 15
Storage virtualization combines the functions of physical storage devices such as network-
attached storage (NAS) and storage area networks (SAN). You can bundle storage hardware
into your data center, even if the storage comes from different vendors or of different
types. Repository virtualization uses all of your physical data storage and creates one large
virtual storage unit that you can specify and control with management software. IT
administrators can streamline storage operations, such as archiving, backup, and recovery
because they can combine multiple network storage devices virtually into a single storage
device.

 Network virtualization

Any computer network has hardware elements such as switches, routers, and firewalls. An
organization with offices in multiple geographic locations can use a combination of several
different networking technologies to create its business network. Network virtualization is
the process of combining all these network resources to centralize administrative tasks.
Administrators can adjust and control these elements with almost no physical contact,
simplifying network management.

Following are two approaches to network virtualization.

 Software-defined network connection

Software-defined networking (SDN) controls traffic routing by taking over routing


management from data routing in the physical environment. For example, you can program
the system to prioritize video call traffic over app traffic to ensure consistent call quality in
all online meetings.

 Network Function Virtualization

Network function virtualization technology combines the functionality of network devices


that work together, such as firewalls, load balancers, and traffic analyzers to improve
network performance.

 Data virtualization

Page | 16
Contemporary organizations collect data from a number of sources and store that data in
different formats. They may also store data in different locations, such as in cloud
infrastructure and on-premises data centers. Data virtualization creates a software layer
between this data and the applications that need it. Data virtualization tools process the
application's request for data and return the results in the appropriate format. As a result,
organizations use data virtualization solutions to increase data integration flexibility and
support cross-functional data analysis.

 Application virtualization

Application virtualization extracts the functionality of the application to run on an operating


system other than the one intended for those functions. For example, users can run
Microsoft Windows applications on Linux machines without changing the machine
configuration. For successful application virtualization, follow these best practices:

 Application Streaming – Users stream apps from a remote server, so the app runs on
end-user devices only when needed.
 Server-based application virtualization – Users can access the application remotely
through their browser or client interface, without the need to install the application.
 Local Application Virtualization – Application code is shipped with the application's
environment to run on all operating systems without changes.
 Computer Virtualization

Most organizations have non-technical staff who use computer operating systems to run
common enterprise applications. For example, your employees might fall into the following
categories:
 Customer service teams need Windows 10 desktops and customer relationship
management software
 Marketing Team Needs Windows Vista for Sales Applications

You can virtualize computers to run these different computer operating systems on virtual
machines that your team can remotely access. This type of virtualization makes computer
management efficient and secure, saving costs for computer hardware. The following are
the types of computer virtualization.

Page | 17
 Virtual computing infrastructure

Virtual Desktop Infrastructure runs virtual computers on remote servers. Your users can
access them using client devices.

 Virtualization of the local computer

For local computer virtualization, you would run virtual machine monitoring software on a
local computer and create a virtual computer running a different operating system. You
have to switch between local and virtual environments in the same way as between
applications.

Page | 18
P2. Design an appropriate architectural Cloud Computing framework for a
given scenario

Page | 19
C. RE
1. Evolution of cloud computing (2023) GeeksforGeeks
Available at: https://www.geeksforgeeks.org/evolution-of-cloud-computing/
Accessed: 25 June 2023

2. Lab, S.T.I. (2020) The fundamentals of cloud computing, Medium.


Available at: https://sagaratechnology.medium.com/the-fundamentals-of-cloud-
computing-ae69ca7ff576
Accessed: 25 June 2023

3.Vavra, C. (2022) Five characteristics of cloud computing, Control Engineering.


Available at: https://www.controleng.com/articles/five-characteristics-of-cloud-computing/
Accessed: 25 June 2023

Page | 20

You might also like