Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 42

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing

Unit number and title Unit 16: Cloud computing

Submission date 6/04/2023 Date Received 1st submission 6/04/2023

Re-submission Date Date Received 2nd submission

Student Name Tran Van Khoi Student ID BH00082

Class IT0501 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 signature khoi

Grading grid

P1 P2 P3 P4 M1 M2 D1
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:


Signature & Date:
Table of Contents
A. Introduction.............................................................................................................................................................................................3
B. Body.........................................................................................................................................................................................................3
P1. Analyse the evolution and funamental concepts of Cloud Computing.............................................................................................3
1. Client/server.....................................................................................................................................................................................6
‍2. P2P......................................................................................................................................................................................................11
3. HPC.................................................................................................................................................................................................13
4. Deployment models.......................................................................................................................................................................14
a. Public Cloud....................................................................................................................................................................................14
b. Private Cloud..................................................................................................................................................................................15
c. Community Cloud...........................................................................................................................................................................17
d. Hybrid Cloud...................................................................................................................................................................................19
e. The Comparison of Top Cloud Deployment Models......................................................................................................................20
5. Service models:...............................................................................................................................................................................21
6. 5 characteristic of cloud.................................................................................................................................................................26
P2 Design an appropriate architectural Cloud Computing framework for a given scenario................................................................26
P3 Define an appropriate deployment model for a given scenario...................................................................................................27
P4 Compare the service models for choosing an adequate model for a given scenario......................................................................31
1. IaaS.................................................................................................................................................................................................31
2. PAAS:..............................................................................................................................................................................................32
3. SAAS:...............................................................................................................................................................................................33
4. Difference between IAAS, PAAS and SAAS :...................................................................................................................................34
IV. Which programming language should be used?..............................................................................................................................37
V. Which database should be used?......................................................................................................................................................38
VI. Which cloud platform should be used?............................................................................................................................................38
C. Conclusion.............................................................................................................................................................................................39
D. References.............................................................................................................................................................................................39

Table of Figires
Figure 1: Cilent.............................................................................................................................................................................................8
Figure 2: Server............................................................................................................................................................................................9
Figure 3: Client/server...............................................................................................................................................................................10
Figure 4:Public Cloud.................................................................................................................................................................................16
Figure 5:Private cloud................................................................................................................................................................................18
Figure 6:Community Cloud........................................................................................................................................................................20
Figure 7: Hybrid Cloud...............................................................................................................................................................................21
Figure 8: Cloud Computing........................................................................................................................................................................23
Figure 9: Cloud Service Models.................................................................................................................................................................24
Figure 10: PaaS..........................................................................................................................................................................................25
Figure 11: IaaS............................................................................................................................................................................................26
Figure 12: SaaS...........................................................................................................................................................................................27
Figure 13: Cloud Computing framework...................................................................................................................................................29
Figure 14: Deployment model...................................................................................................................................................................30
Figure 15: Public cloud...............................................................................................................................................................................33
A. Introduction
Hello teacher. My name is Tran Van Khoi, I'm studying in class IT0501 of BTEC FPT British College. Now, I'm doing an
assignment on Cloud-computing taught by Mr. Le Van Thuan. In ASM 1, there are the following topics:

- P1 Analyse the evolution and fundamental concepts of Cloud Computing.


- P2 Design an appropriate architectural Cloud Computing framework for a given scenario.
- P3 Define an appropriate deployment model for a given scenario.
- P4 Compare the service models for choosing an adequate model for a given scenario.

B. Body

P1. Analyse the evolution and funamental concepts of Cloud Computing.


Cloud computing is a model for delivering on-demand computing services over the internet. It has undergone significant
evolution since its inception, and several fundamental concepts have emerged in the process. Here is an analysis of the evolution
and fundamental concepts of cloud computing.

 Evolution of Cloud Computing:

* Mainframe Computing:

Mainframe computing refers to the use of large, powerful computers known as mainframes, which are typically used by large
organizations to process large amounts of data and support critical business applications. Mainframes are known for their reliability,
security, and scalability, and are designed to handle high-volume transaction processing and data processing tasks.

Mainframe systems were first introduced in the 1950s and 1960s, and have since undergone many changes and improvements in
terms of hardware, software, and connectivity. They are commonly used in industries such as banking, finance, healthcare,
government, and telecommunications.
* Client-Server Computing:

In the 1980s and 1990s, the client-server model emerged, which distributed processing across multiple computers. The client-
server model paved the way for the internet and the world wide web.

Client-server computing is a distributed computing model where one or more client devices request services or resources from a
central server. In this model, the client devices are usually personal computers, laptops, tablets, or smartphones that communicate
with the server over a network, such as the internet, a local area network (LAN), or a wide area network (WAN).

In client-server computing, the server manages and controls the resources, while the clients consume the resources. This model
is widely used in enterprise applications, such as database management systems, email systems, and web applications, as well as in
personal computing, such as accessing files on a shared network drive or streaming media from a media server.

* Grid Computing:

In the late 1990s, the concept of grid computing emerged, which allowed multiple organizations to share computing resources.
Grid computing was a precursor to cloud computing.

Grid computing is a type of distributed computing that involves the sharing of computing resources across multiple organizations
or locations. In a grid computing system, multiple computers, servers, storage devices, and other resources are connected together
over a network to form a large, virtual computing infrastructure.

The goal of grid computing is to enable organizations to leverage their existing computing resources more efficiently and cost-
effectively by sharing them with others. This can help to reduce the overall cost of computing and improve the availability and
reliability of computing resources.

One of the key benefits of grid computing is that it allows organizations to harness the power of many computers and other
resources to solve complex problems that would be difficult or impossible to solve using a single computer or resource. Grid
computing can also help to improve scalability, flexibility, and resource utilization, as well as reduce the time and cost of deploying
new applications and services.

* Utility Computing:
In the early 2000s, the concept of utility computing emerged, which allowed organizations to pay for computing resources on an
as-needed basis.

Utility computing is a type of computing in which computing resources, such as processing power, storage, and bandwidth, are
provided to customers on a pay-per-use basis, similar to the way that utilities such as electricity or water are charged based on
usage. This allows customers to scale their computing resources up or down as needed, without having to invest in expensive
hardware and infrastructure.

Utility computing typically involves the use of cloud computing and virtualization technologies to provide these resources, with
customers accessing the computing resources via the internet or a private network. The provider of the utility computing service is
responsible for managing and maintaining the underlying infrastructure, including servers, storage devices, and networking
equipment.

* Cloud Computing:

In the mid-2000s, cloud computing emerged, which combined the concepts of grid computing and utility computing. Cloud
computing is characterized by the delivery of computing resources over the internet on an on-demand basis.

* Fundamental Concepts of Cloud Computing:

- On-Demand Self-Service:

Cloud computing allows users to provision computing resources, such as storage, processing power, and bandwidth, on an on-
demand basis. Users can self-provision these resources without the need for human intervention.

- Broad Network Access:

Cloud computing allows users to access computing resources over the internet from a wide range of devices, including laptops,
tablets, and smartphones.

- Resource Pooling:

Cloud computing allows multiple users to share computing resources, such as servers and storage devices. This allows for better
utilization of resources and can lead to cost savings.
- Rapid Elasticity:

Cloud computing allows computing resources to be scaled up or down quickly in response to changing demand. This allows for
efficient resource allocation and can lead to cost savings.

- Measured Service:

Cloud computing allows users to be billed for computing resources on a pay-per-use basis. This allows for accurate tracking of
resource usage and can lead to cost savings.

In conclusion, cloud computing has undergone significant evolution since its inception, and several fundamental concepts have
emerged in the process. The on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service
are the key concepts that make cloud computing a revolutionary technology.

1. Client/server
a) What is a Client?

A client is a computer hardware device or software that accesses a service made available by a server. The server is often (but not
always) located on a separate physical computer.
Figure 1: Cilent

b) What is a Server?

A server is a physical computer dedicated to run services to serve the needs of other computers. Depending on the service that is
running, it could be a file server, database server, home media server, print server, or web server.
Figure 2: Server

c) Client/server

The client-server model, or client-server architecture, is a distributed application framework dividing tasks between servers and
clients, which either reside in the same system or communicate through a computer network or the Internet. The client relies on
sending a request to another program in order to access a service made available by a server. The server runs one or more programs
that share resources with and distribute work among clients.

The client server relationship communicates in a request–response messaging pattern and must adhere to a common
communications protocol, which formally defines the rules, language, and dialog patterns to be used. Client-server communication
typically adheres to the TCP/IP protocol suite.
TCP protocol maintains a connection until the client and server have completed the message exchange. TCP protocol determines
the best way to distribute application data into packets that networks can deliver, transfers packets to and receives packets from the
network, and manages flow control and retransmission of dropped or garbled packets. IP is a connectionless protocol in which each
packet traveling through the Internet is an independent unit of data unrelated to any other data units.

Client requests are organized and prioritized in a scheduling system, which helps servers cope in the instance of receiving
requests from many distinct clients in a short space of time. The client-server approach enables any general-purpose computer to
expand its capabilities by utilizing the shared resources of other hosts. Popular client-server applications include email, the World
Wide Web, and network printing.

Figure 3: Client/server

d) Benefits of Client-Server Computing

There are numerous advantages of the client server architecture model:

- A single server hosting all the required data in a single place facilitates easy protection of data and management of user
authorization and authentication.
- Resources such as network segments, servers, and computers can be added to a client-server network without any significant
interruptions.
- Data can be accessed efficiently without requiring clients and the server to be in close proximity.
- All nodes in the client-server system are independent, requesting data only from the server, which facilitates easy upgrades,
replacements, and relocation of the nodes.
- Data that is transferred through client-server protocols are platform-agnostic.
e) Difference Between Client and Server

- Clients, also known as service requesters, are pieces of computer hardware or server software that request resources and services
made available by a server. Client computing is classified as Thick, Thin, or Hybrid. 

 Thick Client: a client that provides rich functionality, performs the majority of data processing itself, and relies very lightly
upon the server.

 Thin Client: a thin-client server is a lightweight computer that relies heavily on the resources of the host computer -- an
application server performs the majority of any required data processing.

 Hybrid Client: possessing a combination of thin client and thick client characteristics, a hybrid client relies on the server to
store persistent data, but is capable of local processing.

- A server is a device or computer program that provides functionality for other devices or programs. Any computerized process that
can be used or called upon by a client to share resources and distribute work is a server. Some common examples of servers include:

 Application Server: hosts web applications that users in the network can use without needing their own copy.

 Computing Server: shares an enormous amount of computer resources with networked computers that require more CPU
power and RAM than is typically available for a personal computer.

 Database Server: maintains and shares databases for any computer program that ingests well-organized data, such as
accounting software and spreadsheets.‍

 Web Server: hosts web pages and facilitates the existence of the World Wide Web.
‍2. P2P
a. What is a peer-to-peer network?

A peer-to-peer network is an information technology (IT) infrastructure allowing two or more computer systems to connect
and share resources without requiring a separate server or server software Workplaces may set up a P2P network by physically
connecting computers into a linked system or creating a virtual network. You can also set up computers to be the clients and servers
of their network.

A P2P network is different from a client-server network traditionally used in networking. A client-server network is a
connection between a client computer and a server computer to provide the client with the server’s resources.

In the P2P network, each device is considered a peer—thus “peer-to-peer”—with functions that contribute to the network.
Each computer is both a client and a server and they share resources with other networked computers.

b. Some major features of the P2P network include:

Each computer in a P2P network provides resources to the network and consumes resources that the network provides.
Resources such as files, printers, storage, bandwidth and processing power can be shared between various computers in the
network.

A P2P network is easy to configure. Once it’s set up, access is controlled by setting sharing permissions on each computer.
Stricter access can be controlled by assigning passwords to specific resources.

Some P2P networks are formed by overlaying a virtual network on a physical network. The network uses the physical
connection to transfer data while the virtual overlay allows the computers on the network to communicate with each other.

c. Key advantages of using a P2P network

Due to its architecture, a P2P network can offer many advantages to its users, including:

- Easy file sharing: An advanced P2P network can share files quickly over large distances. Files can be accessed anytime.
- Reduced costs: There is no need to invest in a separate computer for a server when setting up a P2P network. It doesn’t
require a network operating system or a full-time system administrator.
- Adaptability: P2P network extends to include new clients easily. This benefit makes these networks more flexible than client-
server networks. Its scalability
- Reliability: Unlike a client-server network, which can fail if the central server malfunctions, a P2P network will remain
functional even if the central server crashes. If a single computer goes down, the others continue as normal. This also
prevents bottlenecking since traffic is distributed across multiple computers.
- High performance: While a client-server network performs less effectively when more clients join the network, a P2P
network can improve its performance when more clients join it. This is because each client in a P2P network is also a server
that contributes resources to the network.
- Efficiency: Emerging P2P networks enable collaboration between devices that have different resources that can benefit the
whole network.
d. Tips for using a P2P network

Here are some tips to help you to use P2P networks safely and efficiently:

- Secure your P2P network with network security solutions. You should also check your network regularly for malware.
- Develop an innovative policy that suits the decentralized architecture of the network to manage your data and applications.
- Develop a cybersecurity policy and invest in network security to protect advanced networks that users create with P2P
software, as they can have software-based vulnerabilities. By taking these preventative actions, you can prevent remote
exploits—attacks that take advantage of the vulnerabilities in electronic systems to deny services or spread malware.
- Examples of P2P networks
- There are three basic levels of P2P networking:
- The basic level uses a universal serial bus (USB) to create a basic P2P network between two computer systems.
- The intermediate level requires using copper wires to connect a large number of computers.
- In the advanced P2P network, software establishes protocols that manage the direct connections between multiple devices
over the internet.
e. Unstructured P2P networks

- Here are the basic details of unstructured networks:

 They are easy to build since devices can randomly connect to the network.
 Each device can make an equal contribution.

 The lack of structure can make it challenging for users to find rare content.

 They are resilient to high churn rates. Churn refers to the number of users joining and leaving the network.

f. Structured P2P networks

- The software used to set up a structured P2P network organizes the virtual layer of the network into a specific structure. Here are
the features of structured P2P networks:

 While structured P2P networks are not as easy to build as unstructured networks, they offer users better access to rare
content when compared to unstructured P2P networks.

 Structured networks are less resilient to high churn rates when compared with unstructured networks.

3. HPC
HPC stands for High Performance Computing, which refers to the use of advanced computing technologies and techniques to solve
complex computational problems that require significant amounts of processing power, memory, and storage.

- Parallel computing is a type of HPC that involves breaking up a single large problem into smaller pieces, which are then
processed simultaneously on multiple processors or cores within a single machine. This can be done using shared memory
architectures or distributed memory architectures.
- Cluster computing is a type of HPC that involves connecting multiple computers or nodes together to form a cluster, which
can be used to solve larger problems than a single machine could handle. In a cluster, each node typically has its own
memory and storage, and the nodes communicate with each other through a network.
- Distributed computing is a type of HPC that involves breaking up a problem into smaller pieces and distributing those pieces
across multiple machines connected by a network. Each machine processes a different piece of the problem and then
communicates the results back to a central server, which combines them to produce the final result.
4. Deployment models

a. Public Cloud
The name speaks for itself: public clouds are available to the general public, and data are created and stored on third-party
servers.

Server infrastructure belongs to service providers that manage it and administer pool resources, which is why there is no
need for user companies to buy and maintain their own hardware. Provider companies offer resources as a service both free of
charge or on a pay-per-use basis via the Internet. Users can scale resources as required.

Figure 4:Public Cloud


- The public cloud deployment model is the first choice for businesses with low privacy concerns. When it comes to popular public
cloud deployment models, examples are Amazon Elastic Compute Cloud (Amazon EC2 — the top service provider according to
ZDNet), Microsoft Azure, Google App Engine, IBM Cloud, Salesforce Heroku and others.

* The Advantages of a Public Cloud

 Hassle-free infrastructure management. Having a third party running your cloud infrastructure is convenient: you do not
need to develop and maintain your software because the service provider does it for you. In addition, the infrastructure
setup and use are uncomplicated.

 High scalability. You can easily extend the cloud’s capacity as your company requirements increase.

 Reduced costs. You pay only for the service you use, so there’s no need to invest in hardware or software.

 24/7 uptime. The extensive network of your provider’s servers ensures your infrastructure is constantly available and has
improved operation time.

* The Disadvantages of a Public Cloud

 Compromised reliability. That same server network is also meant to ensure against failure But often enough, public clouds
experience outages and malfunction, as in the case of the 2016 Salesforce CRM disruption that caused a storage collapse.

 Data security and privacy issues give rise to concern. Although access to data is easy, a public deployment model deprives
users of knowing where their information is kept and who has access to it.

 The lack of a bespoke service. Service providers have only standardized service options, which is why they often fail to satisfy
more complex requirements.

b. Private Cloud
There is little to no difference between a public and a private model from the technical point of view, as their architectures are
very similar. However, as opposed to a public cloud that is available to the general public, only one specific company owns a private
cloud. That is why it is also called an internal or corporate model.
The server can be hosted externally or on the premises of the owner company. Regardless of their physical location, these
infrastructures are maintained on a designated private network and use software and hardware that are intended for use only by
the owner company.

A clearly defined scope of people have access to the information kept in a private repository, which prevents the general public from
using it. In light of numerous breaches in recent years, a growing number of large corporations has decided on a closed private cloud
model, as this minimizes data security issues.

Compared to the public model, the private cloud provides wider opportunities for customizing the infrastructure to the company’s
requirements. A private model is especially suitable for companies that seek to safeguard their mission-critical operations or for
businesses with constantly changing requirements.

Figure 5:Private cloud


* The Benefits of a Private Cloud

All the benefits of this deployment model result from its autonomy. They are the following:

 Bespoke and flexible development and high scalability, which allows companies to customize their infrastructures in
accordance with their requirements

 High security, privacy and reliability, as only authorized persons can access resources

* The Drawbacks of a Private Cloud

The major disadvantage of the private cloud deployment model is its cost, as it requires considerable expense on hardware,
software and staff training. That is why this secure and flexible computing deployment model is not the right choice for small
companies.

c. Community Cloud
A community deployment model largely resembles the private one; the only difference is the set of users. Whereas only one
company owns the private cloud server, several organizations with similar backgrounds share the infrastructure and related
resources of a community cloud.

If all the participating organizations have uniform security, privacy and performance requirements, this multi-tenant data center
architecture helps these companies enhance their efficiency, as in the case of joint projects. A centralized cloud facilitates project
development, management and implementation. The costs are shared by all users.
Figure 6:Community Cloud

* The Strengths of a Community Cloud

 Cost reduction

 Improved security, privacy and reliability

 Ease of data sharing and collaboration

* The Shortcomings of a Community Cloud

 High cost compared to the public deployment model

 Sharing of fixed storage and bandwidth capacity


 Not commonly used yet

d. Hybrid Cloud
As is usually the case with any hybrid phenomenon, a hybrid cloud encompasses the best features of the abovementioned
deployment models (public, private and community). It allows companies to mix and match the facets of the three types that best
suit their requirements.

As an example, a company can balance its load by locating mission-critical workloads on a secure private cloud and deploying less
sensitive ones to a public one. The hybrid cloud deployment model not only safeguards and controls strategically important assets
but does so in a cost- and resource-effective way. In addition, this approach facilitates data and application portability.

Figure 7: Hybrid Cloud

* The Benefits of a Hybrid Cloud

 Improved security and privacy


 Enhanced scalability and flexibility

 Reasonable price

e. The Comparison of Top Cloud Deployment Models


To facilitate your choice of a deployment model, we have created a comparative table that provides an overview of the most
business-critical features of each type of cloud.

  Public Private Community Hybrid

Ease of setup and


use Easy Requires IT proficiency Requires IT proficiency Requires IT proficiency

Data security and


privacy Low High Comparatively high High

Little to
Data control none High Comparatively high Comparatively high

Reliability Low High Comparatively high High

Scalability and
flexibility High High Fixed capacity High

The Cost-intensive; the Cost is shared among Cheaper than a private model but
Cost-effectiveness cheapest most expensive model community members more costly than a public one

Demand for in-


house hardware No Depends Depends Depends
5. Service models:
a. What Is Cloud Computing?

Cloud computing is a technology that enterprises can use to access essential resources such as cloud storage and databases over
the internet without maintaining physical data centers and servers.

By implementing cloud computing, companies can rent access to anything from applications to infrastructure from a cloud service
provider by paying for only what they require. It is an on-demand delivery of IT resources over the Internet, which helps enterprises
to avoid the upfront cost and complexity of buying and maintaining their own IT infrastructure. Therefore, rather than purchasing
software applications, platforms and underlying infrastructure, enterprises can access services directly from a cloud provider like
Amazon Web Services (AWS).

Figure 8: Cloud Computing


b. The Different Cloud Service Models

Figure 9: Cloud Service Models

Cloud computing provides different cloud models for deployment to its users as it works as a service provider. The different
cloud service models include Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). These
business models can be classified and assessed by means of maturity models and the unique value chains that they offer for
different industries.

* Platform as a Service (PaaS)


Figure 10: PaaS

PaaS is a cloud computing model where developers can develop, run, and manage business applications without the need to
maintain a software development infrastructure. Cloud service providers can provide developers with resources, such as
development tools, infrastructure, and operating systems. Therefore, it significantly simplifies application or product development
from the developer’s perspective because all tools and backend management are provided by the cloud. This presents enhanced
flexibility and control for the consumer over their product, it also frees developers from having to install in-house hardware and
software to develop or run a new application. 

* Infrastructure as a Service (IaaS)


Figure 11: IaaS

Infrastructure as a Service (IaaS) is basically hardware devices, such as network devices, visualized servers, storage, etc. It
introduces enterprises to a virtualization environment where services facilitate cloud platforms and applications to connect and
function. IaaS addresses compute services, in the form of a set of virtual machines with combined storage, processing capability, as
well as other related services and network connectivity. This empowers multiple applications, maintained by different cloud
consumers, to mutually share common physical resources, such as servers and storage. 

- IaaS offerings may include the following :

 It provides a pool of highly available processing units, utilization data and chargeback data 

 Consumers do not have to purchase servers, software, data centre space, or network equipment 

 Consumers can lease such resources as part of a fully outsourced service 

* Software as a Service (SaaS) 


Figure 12: SaaS

SaaS refers to prebuilt, functionally independent, vertically integrated and universally available applications such as e-mail
system, human resource management, payroll processing, software testing as a service, database processing and other application
processes. These are applications delivered to and used by customers as services.  

- SaaS offerings may include the following: 

 It’s software deployed similar to a hosted service and accessed over the Internet. 

 Services regularly operate behind a firewall on a network and implement only on-demand usage

 It employs a pay-as-you-go delivery approach

With this deployment model, customers are generally looking to purchase functionality and pay for its use. Sometimes, such
services are available to the general public totally free of charge, for example, networking applications like Facebook and Gmail
services where e-mails attachments, photographs, data etc are stored on a remotely accessible server.  SaaS is a comprehensive
warehouse where services can be anything from inventory administration to web-based e-mail, indeed in some cases, it includes
online banking, as well as database processing. 

6. 5 characteristic of cloud
 On-demand self-service: Cloud computing services can be provisioned and managed by users without requiring intervention
from a service provider. This allows for quick and easy access to computing resources as needed.
 Broad network access: Cloud services are accessible over the internet from a variety of devices, including laptops, tablets,
and smartphones. This allows users to access cloud resources from anywhere, at any time.
 Resource pooling: Cloud providers use a shared pool of computing resources, such as servers and storage, to serve multiple
customers. This allows for greater efficiency and cost savings.
 Rapid elasticity: Cloud services can be scaled up or down quickly and easily to meet changing demands. This enables
businesses to respond to fluctuations in demand without the need to invest in additional infrastructure.
 Measured service: Cloud providers offer usage-based billing, which means that customers only pay for the computing
resources they actually use. This allows for more efficient use of resources and greater cost control.

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


- ATN company could benefit from using cloud computing in several ways:

 Scalability: Cloud computing allows ATN to scale up or down resources as per their requirement. As ATN serves a large user
base, cloud computing can help them to handle sudden spikes in demand for their services without worrying about capacity
constraints.

 Cost-effectiveness: Cloud computing allows ATN to avoid investing in expensive hardware and software infrastructure. They
can pay for only the resources they use and can easily adjust their usage based on their needs.

 Accessibility: Cloud computing allows ATN to provide their services to users from anywhere in the world, as long as they have
an internet connection. This makes it easier for people with disabilities to access ATN's services.

 Security: Cloud service providers have robust security measures in place to protect their infrastructure and customer data.
This can help ATN to ensure that their users' data is secure and protected.
 Collaboration: Cloud computing allows ATN to collaborate with other organizations or individuals who may be working on
similar projects. This can help to foster innovation and create new opportunities for ATN to improve their services.

Figure 13: Cloud Computing framework

P3 Define an appropriate deployment model for a given scenario.


The choice of a deployment model depends on the specific needs and requirements of the application, as well as factors such
as scalability, security, and cost.

Here are some commonly used deployment models and their characteristics:
 On-premises deployment: This model involves deploying the application on servers that are physically located on the
premises of the organization. This model provides maximum control over the application, but it requires a significant
investment in hardware, software, and personnel to maintain.

 Cloud deployment: This model involves deploying the application on servers that are owned and managed by a cloud
provider, such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform. This model provides scalability,
flexibility, and cost savings, but it also requires trust in the cloud provider's security and availability.

 Hybrid deployment: This model combines on-premises and cloud deployment, allowing the application to run partly on-
premises and partly in the cloud. This model provides flexibility and control, but it requires careful planning to ensure that
data is properly managed and secured.

 Serverless deployment: This model involves deploying the application as a set of functions that run on a cloud provider's
infrastructure, such as AWS Lambda or Google Cloud Functions. This model provides cost savings and scalability, but it
requires careful planning to ensure that the application is properly architected and optimized for serverless deployment.

Figure 14: Deployment model


* I choose the public cloud because:

Public models are usually available for anyone to use, regardless of their background or resources. This means that they can
democratize access to AI technology and make it more widely available. Public models can be used by researchers, developers, and
businesses to build new applications, products, and services.

Public models can also benefit from a larger and more diverse set of data, which can help to improve their accuracy and
effectiveness. By allowing more people to access and use the model, it can be continually refined and improved over time.

Another advantage of public models is that they can be more transparent and trustworthy than proprietary models. Since they are
open and available to the public, it is easier to evaluate their performance, assess their biases, and identify any potential ethical
issues.

* Benefits of using Public Cloud:

- Works well, easy to expand and replace

Public Cloud provides infrastructure based on the needs of each user, a huge resource warehouse is always ready to serve
customers. As a result, every application running on this model performs well, being able to react instantly to any fluctuations. When
it needs to be upgraded, it can also be easily replaced during operation.

The optimally built infrastructure ensures limitless scalability. Public Cloud with high feasibility supports users to do many
jobs at the same time, expand capacity and still operate stably, without downtime. Deployment is also greatly accelerated because a
business only needs to buy the service it needs to use.

- Effective solutions to optimize costs

Public Cloud is a cost effective solution. Users only need to pay for what they use, no need to invest in hardware or software.
Therefore, save a considerable amount of money with the public cloud. Public Cloud can also operate 24/7 thanks to its large server
network. This is one of the main reasons why businesses choose to use Public Cloud.

- Flexible Public Cloud Payments


Public cloud services gather resources from a single machine system and distribute them into virtual machines. Anyone using
the Public Cloud benefits from the largest resource scale structure. You can choose Public Cloud's free service, but it will have limited
features compared to the paid service.

Public cloud payment methods are very diverse. Customers can sign up for a monthly subscription or pay as much as they
want. If you have a high, stable and long-term need to use Public Cloud, it is cheaper to subscribe to a monthly package. If your
business only uses Public Cloud to a small extent, you should register to pay as much as you want.

- Public Cloud is not bound by location

The public cloud is always available thanks to Internet connections. Customers can access Public Cloud services anytime,
anywhere. The public cloud is not limited by location when working, creating great work opportunities. For example, users can
access IT infrastructure remotely or work together online at different locations.

The above article has introduced the basic information about what is Public Cloud and what you need to know about this
computing model. Hope this information will help you in the process of choosing the right type of Public Cloud service for your
business.
Figure 15: Public cloud

Overall, using a public model can be a good choice if you want to benefit from a large and diverse set of data, collaborate with
others, and contribute to the development of AI technology in a transparent and ethical way.

P4 Compare the service models for choosing an adequate model for a given scenario.

1. IaaS
- Infrastructure As A Service (IAAS) is means of delivering computing infrastructure as on-demand services. It is one of the
three fundamental cloud service models. The user purchases servers, software data center space, or network equipment and
rent those resources through a fully outsourced, on-demand service model. It allows dynamic scaling and the resources are
distributed as a service. It generally includes multiple-user on a single piece of hardware. 
- It totally depends upon the customer to choose its resources wisely and as per need. Also, it provides billing management
too.
* Advantages of IaaS

 The resources can be deployed by the provider to a customer’s environment at any given time.

 Its ability to offer the users to scale the business based on their requirements.

 The provider has various options when deploying resources including virtual machines, applications, storage, and networks.

 It has the potential to handle an immense number of users.

 It is easy to expand and saves a lot of money. Companies can afford the huge costs associated with the implementation of
advanced technologies.

 Cloud provides the architecture.

 Enhanced scalability and quite flexible.

 Dynamic workloads are supported.

* Disadvantages of IaaS

 Security issues are there.

 Service and Network delays are quite a issue in IaaS.

2. PAAS:
- Platform As A Service (PAAS) is a cloud delivery model for applications composed of services managed by a third party. It
provides elastic scaling of your application which allows developers to build applications and services over the internet and
the deployment models include public, private and hybrid.
- Basically, it is a service where a third-party provider provides both software and hardware tools to the cloud computing. The
tools which are provided are used by developers. PAAS is also known as Application PAAS. It helps us to organize and
maintain useful applications and services. It has a well-equipped management system and is less expensive compared to
IAAS.
* Advantages of PaaS

 Programmers need not worry about what specific database or language the application has been programmed in.

 It offers developers the to build applications without the overhead of the underlying operating system or infrastructure.

 Provides the freedom to developers to focus on the application’s design while the platform takes care of the language and
the database.

 It is flexible and portable.

 It is quite affordable.

 It manages application development phases in the cloud very efficiently.

* Disadvantages of PaaS

 Data is not secure and is at big risk.

 As data is stored both in local storage and cloud, there are high chances of data mismatch while integrating the data.

3. SAAS:
- Software As A Service (SAAS) allows users to run existing online applications and it is a model software that is deployed as a
hosting service and is accessed over Output Rephrased/Re-written Text the internet or software delivery model during which
software and its associated data are hosted centrally and accessed using their client, usually an online browser over the web.
SAAS services are used for the development and deployment of modern applications.
- It allows software and its functions to be accessed from anywhere with good internet connection device and a browser. An
application is hosted centrally and also provides access to multiple users across various locations via the internet.

* Advantages of SaaS

 It is a cloud computing service category providing a wide range of hosted capabilities and services. These can be used to build
and deploy web-based software applications.
 It provides a lower cost of ownership than on-premises software. The reason is it does not require the purchase or
installation of hardware or licenses.

 It can be easily accessed through a browser along a thin client.

 No cost is required for initial setup.

 Low maintenance costs.

 Installation time is less, so time is managed properly.

* Disadvantages of SaaS

 Low performance.

 It has limited customization options.

 It has security and data concerns.

4. Difference between IAAS, PAAS and SAAS :

Basis Of IAAS PAAS SAAS

Stands for Infrastructure as a service. Platform as a service. Software as a service.

IAAS is used by network


PAAS is used by developers. SAAS is used by the end user.
Uses architects.

Access IAAS gives access to the PAAS gives access to run time SAAS gives access to the end user.
resources like virtual machines environment to deployment and
Basis Of IAAS PAAS SAAS

and virtual storage. development tools for application.

It is a service model that It is a cloud computing model that It is a service model in cloud
provides virtualized computing delivers tools that are used for the computing that hosts software to
Model resources over the internet. development of applications. make it available to clients.

There is no requirement about


Some knowledge is required for the
Technical It requires technical knowledge. technicalities company handles
basic setup.
understanding. everything.

It is popular among developers who It is popular among consumers and


It is popular among developers
focus on the development of apps companies, such as file sharing,
and researchers.
Popularity and scripts. email, and networking.

It has about a 27 % rise in the


It has around a 12% increment. It has around 32% increment.
Percentage rise cloud computing model.

Used by the skilled developer to Used by mid-level developers to Used among the users of
Usage develop unique applications. build applications. entertainment.
Basis Of IAAS PAAS SAAS

Amazon Web Services, sun, Facebook, and Google search MS Office web, Facebook and
Cloud services. vCloud Express. engine. Google Apps.

Enterprise
AWS virtual private cloud. Microsoft Azure. IBM cloud analysis.
services.

Outsourced cloud
Salesforce Force.com, Gigaspaces. AWS, Terremark
services.

Operating System, Runtime,


Middleware, and Application Data of the application Nothing
User Controls data

It is highly scalable to suit the It is highly scalable to suit the


It is highly scalable and flexible. different businesses according to small, mid and enterprise level
Others resources. business

* I choose the IaaS service model because:

 Cost savings: IaaS allows organizations to save money on investment in server infrastructure and related equipment. Instead
of having to buy and manage servers, software, storage systems and other components, users simply pay an IaaS service
provider to use these services.
 Flexibility: IaaS provides a flexible environment that allows users to quickly adapt their server infrastructure to their needs.
Users can expand or shrink the storage space, change the server type or update the software according to their needs
 Scalability: IaaS allows organizations to scale their server infrastructure quickly and easily. Users can increase the number of
servers when demand increases, and decrease the number of servers when demand decreases.
 Increased availability: IaaS helps ensure the availability of server infrastructure by providing a range of tools and features,
such as data backup, recovery, and data protection from events. try.
 Offload for IT staff: IaaS reduces the load on IT staff because the IaaS service provider is responsible for the management,
maintenance, and upgrading of the server infrastructure. The organization's IT staff can focus on other important tasks.

In summary, using an IaaS service model can bring many benefits to organizations, including cost savings, flexibility, scalability,
increased availability, and offloading of IT staff.

IV. Which programming language should be used?


- There are many reasons to use the PHP programming language, here are some common reasons:

 Good compatibility: PHP is widely used on many web server systems, such as Apache, Nginx, IIS... Therefore, it has good
compatibility with these systems, making working Deploying web applications on different platforms just got easier.
 Popularity: PHP is the most popular web programming language in the world, used by millions of different websites and web
applications. This means that there are many documentation, tutorials, and support communities for PHP, making it easy for
users to find information and answer questions related to the language.
 Easy to learn: PHP is an easy programming language to learn, especially for those who are just starting out in web
programming. Its syntax is similar to the C programming language, which means that if you already know C, it will be easier
for you to learn PHP.
 Good support for databases: PHP supports many types of databases, such as MySQL, PostgreSQL, Oracle... This makes
accessing and processing databases easier.
 Extensibility: PHP can be extended to add new features through extensions or popular frameworks like Laravel, Symfony,
CodeIgniter...
V. Which database should be used?
- MySQL is a popular and widely used database management system in web and enterprise applications. Here are some
reasons why you should use a MySQL database:

 Free and Open Source: MySQL is a free and open source software. This means you can download and use MySQL without any
cost and can customize the source code for your needs.
 High Performance: MySQL is highly performant because it is designed to handle database queries quickly and efficiently.
MySQL is also capable of handling large workloads without sacrificing performance.
 Flexibility: MySQL can be used on different operating systems and supports different programming languages such as PHP,
Java, C++, Python, and Ruby. This makes MySQL a versatile choice for web and enterprise applications.
 Security: MySQL provides many security features to protect your database, including access control, data encryption, and
data backup capabilities.
 Scalability: MySQL can be scaled to meet the needs of large enterprise and applications. MySQL supports multiple servers to
distribute the load, allowing to increase the load capacity and performance of the system.

VI. Which cloud platform should be used?


- Heroku is a cloud platform developed to help developers easily deploy, manage, and scale web applications and services in
the cloud environment. Here are some reasons why you should use the Heroku cloud platform:

 Ease of use: Heroku provides an intuitive and easy-to-use management interface for deploying and managing applications in
the cloud. You don't have to worry about installing and configuring the underlying server, cloud, or software.
 Flexibility: Heroku allows you to deploy applications and services in a variety of programming languages including Ruby,
Python, Node.js, Java and more.
 High Availability: Heroku provides the ability to automatically scale your project to meet high loads and maintain the
availability of your application.
 Low cost: Heroku offers free plans so you can deploy simple and limited-featured apps. You only pay when you want to
deploy more complex or high-traffic applications.
 Security: Heroku offers high security solutions and ensures that your data is protected.
C. Conclusion
After completing ASM 1, I have a clear understanding of the types of models in the cloud. In the article I have given full
examples and my understanding of the models. in which I found myself fully completing the content of parts P1 to P4 and I did not
do the M and P points. After the ASM lesson, I have learned some experience about cloud computing so that I can apply it to do my
work. post ASM2,

D. References
https://www.heavy.ai/technical-glossary/client-server

https://learntomato.flashrouters.com/what-is-a-client-what-is-a-server-what-is-a-host/

https://www.indeed.com/career-advice/career-development/what-is-a-peer-to-peer-network

https://www.investopedia.com/terms/p/peertopeer-p2p-service.asp

https://www.predictiveanalyticstoday.com/deployment-predictive-models/

https://www.sam-solutions.com/blog/four-best-cloud-deployment-models-you-need-to-know/

https://www.techtarget.com/whatis/SaaS-IaaS-PaaS-Comparing-Cloud-Service-Models

https://thinkpalm.com/blogs/the-three-cloud-service-models-paas-saas-iaas-heres-how-you-can-choose-the-right-one-for-your-
business/

https://www.compatibl.com/insights/how-to-choose-the-best-cloud-deployment-model/

You might also like