You are on page 1of 30

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing

Unit number and title Unit 16: Cloud computing

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

Re-submission Date Date Received 2nd submission

Student Name Nguyen Hai Anh Student ID BH00125

Class IT0502 Assessor name Do Quoc Binh

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 Anh

Grading grid

P1 P2 P3 P4 M1 M2 D1

Page | 1
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:


Signature & Date:

Page | 2
Contents
A. Introduction.................................................................................................................................................5
B. Body............................................................................................................................................................6
Task 1 : Analyses the evolution and fundamental concepts of Cloud Computing.............................................6
1. Client/server................................................................................................................................................6
2. P2P...............................................................................................................................................................8
3. HPC: Parallel/ cluster/distributed................................................................................................................9
3.1. High-Performance Computing (HPC)........................................................................................................9
3.2. Parallel/ cluster/distributed...................................................................................................................10
4. Deployment models: public/private/community/hybrid cloud.................................................................12
4.1. Public cloud............................................................................................................................................12
4.2. Private cloud..........................................................................................................................................12
4.3. Community cloud...................................................................................................................................13
4.4. hybrid cloud...........................................................................................................................................13
5. Service models: IAAS, SAAS, PAAS.............................................................................................................15
6. 5 characteristic of cloud.............................................................................................................................17
7. The cloud architecture...............................................................................................................................18
Task 2 : Design an appropriate architectural Cloud Computing framework for a given scenario........................20
1. Explain why ATN should use cloud?...............................................................................................................20
2. Which deployment model should be used and why?....................................................................................21
Task 2: Define an appropriate deployment model for a given scenario.............................................................22
1. Which service model should be used and why ?...........................................................................................22
2. Which programming language should be used?............................................................................................23
Task 2 : Compare the service models for choosing an adequate model for a given scenario.............................25
1. Which database should be used?..................................................................................................................25
2. Which cloud platform should be used?.........................................................................................................26
C. Conclusion.................................................................................................................................................27
D. References.................................................................................................................................................28

Page | 3
Figure
Figure 1 : Client server (client-server, 2021)..................................................................................................................................6
Figure 2: P2P (peer-to-peer (P2P), 2022).......................................................................................................................................8
Figure 3 : BItorrent (peer-to-peer (P2P), 2022)..............................................................................................................................9
Figure 4: HPC (HPC, 2022)..............................................................................................................................................................9
Figure 5: Public cloud (Cloud Deployment Models, 2020)............................................................................................................12
Figure 6: Private cloud (Cloud Deployment Models, 2020)..........................................................................................................12
Figure 7 : Community cloud (Cloud Deployment Models, 2020)..................................................................................................13
Figure 8 : hybrid cloud (Cloud Deployment Models, 2020)..........................................................................................................14
Figure 9: IAAS,SAAS,PAAS (Cloud Deployment Models, 2020).....................................................................................................15
Figure 10: Community cloud (Cloud Deployment Models, 2020).................................................................................................16
Figure 11: Platform as a Service (Cloud Deployment Models, 2020)............................................................................................16
Figure 12 : The cloud architecture (The cloud architecture, 2020)..............................................................................................18
Figure 13: PAAS (PAAS, 2021)......................................................................................................................................................22
Figure 14 : Nodejs (Nodejs, 2019)................................................................................................................................................23
Figure 15 : MongoDb (MongoDB, 2009).....................................................................................................................................25
Figure 16 : Render (Render, 2018)...............................................................................................................................................26

Page | 4
A. Introduction

ATN is a Vietnamese company that specializes in selling toys to teenagers across the provinces of Vietnam.
Currently, each store maintains its own database to store transaction data that is specific to that particular store.
However, this decentralized approach has led to challenges in data consolidation and real-time stock updates for
management. To solve these problems and optimize their operations, ATN should consider deploying a cloud
solution.
In this report, I will analyze the evolution of cloud computing, explain why ATN companies need to move to cloud
computing
solutions. Then, I will describe the deployment models, describe the service models, choose a deployment model,
a service
model, and design an appropriate architectural cloud framework for the company ATN. Finally, I will introduce
practical
examples of deployment models.

Page | 5
B. Body

Task 1 : Analyses the evolution and fundamental concepts of Cloud Computing.


1. Client/server

Figure 1 : Client server (client-server, 2021)

Client/server is a distributed computing model in the field of information technology, where system
tasks and functions are divided into two main roles: the client and the server. (client-server, 2021)

In this model, the client is a device or software that requests and uses services, resources, or
information from the server. Clients are typically computers, mobile phones, tablets, or applications
running on these devices. (client-server, 2021)

The server is a device or software responsible for providing services, resources, or information to
clients. The server processes requests from clients, performs tasks, and sends results back to the
clients. Servers usually have more powerful resources and higher processing capabilities than
clients, and they can serve multiple clients simultaneously. (client-server, 2021)

The client/server model allows for the separation of responsibilities between clients and servers.
Clients simply send requests and wait to receive results from the server, while the server is
responsible for executing tasks and processing data. (client-server, 2021)

Page | 6
The client/server model is widely used in various applications and systems, including web
applications, database management systems, email systems, online gaming, and more. It provides a
flexible and efficient way to organize and manage resources and services in a distributed network
environment. (client-server, 2021)

 For example :
Let's assume you are using a web application to purchase products from an online store. In this
example, the web browser on your computer is the client, and the server contains the web
application and the product database. (Computer Hope, 2021)

Client:
 You access the online store's website through a web browser on your computer.
 You browse through the list of products, select items, and add them to your
shopping cart.
 You provide information about the shipping address and payment method.
 You send a purchase request to the server.

Server:
 The server receives the purchase request from the client through the HTTP protocol.
 The server checks the order information, verifies and processes the payment.
 The server queries the product database to retrieve product information and
check availability.
 The server sends back the result to the client, including a confirmation message and
an invoice number.

In this example, the client is the user who interacts with the online store using a web browser.
The client sends requests (such as viewing product lists, adding to the shopping cart) and
waits for results from the server.

The server is where the web application and the product database are stored. The server
receives requests from clients, processes those requests, queries the database, handles
payment processing, and sends back the results to the client.

The client/server model in this example allows for the separation of roles between the client
and the server. The client interacts with the user interface and sends requests, while the server
is responsible for processing those requests, managing data, and providing results to the client.
(Computer Hope, 2021)

Page | 7
2. P2P

Figure 2: P2P (peer-to-peer (P2P), 2022)

P2P (Peer-to-Peer) is a network architecture in which devices or computers are connected directly
to each other without relying on a central server. In the P2P model, devices or computers in the
network are considered "peers" and have the ability to share resources, services, and information
directly with each other. (peer-to-peer (P2P), 2022)

In a P2P network, each device or computer can act as both a client and a server simultaneously,
allowing for decentralized sharing and access to resources. Instead of relying on a central server to
manage and coordinate network activities, P2P networks enable direct connections and information
exchange between devices or computers. (peer-to-peer (P2P), 2022)

The P2P model allows for file sharing, direct streaming, online chatting, data sharing, and various
other applications without the need for intervention from a central server. This creates a
distributed, independent, and flexible nature in P2P networks, where each peer can contribute to
the network and utilize resources from other users. (peer-to-peer (P2P), 2022)

 Benefits of P2P:
 No need for dedicated application and database servers
 Improved scalability and reliability (no single point of failure)

 Shortcomings of P2P:
 Poor security
 Lack of centralized control
 Computers with shared resources may suffer from sluggish performance
 P2P networking allows easily to share and download copyrighted files

Page | 8
 For example :
An example of a P2P network is file-sharing applications such as BitTorrent, eMule, or
applications like Skype, where users can directly chat and make video calls with each other
without the need for a central server. (peer-to-peer (P2P), 2022)

Figure 3 : BItorrent (peer-to-peer (P2P), 2022)

3. HPC: Parallel/ cluster/distributed


3.1. High-Performance Computing (HPC)

Figure 4: HPC (HPC, 2022)

Page | 9
High-Performance Computing (HPC), also known as "high-performance computing," is a field in
information technology that focuses on using powerful computing systems and technologies to
process and solve complex problems that require significant computational power. (HPC, 2022)

HPC often involves the use of large computer clusters or distributed systems capable of
concurrently processing hundreds or even thousands of computational tasks. The goal of HPC is
to enhance computational performance, processing speed, and scalability to handle complex
data and tasks in shorter timeframes. (HPC, 2022)

The applications of HPC are diverse and extensive. Fields such as scientific research, weather
forecasting, bioinformatics and pharmaceuticals, computer graphics, big data analytics,
simulation and modeling, and many others have a need for HPC to process data and perform
complex computational tasks. (HPC, 2022)

Technologies and tools in HPC include the use of parallel computing architectures, optimized
operating systems and software, high-speed networking and data transfer protocols, as well as
the utilization of optimized programming languages and libraries to leverage the computational
power of HPC systems. (HPC, 2022)

High-performance computing plays a crucial role in researching and developing complex


solutions and provides powerful computing capabilities to address modern challenges in
science, technology, and other fields. (HPC, 2022)

 For example :
When it comes to complex workloads, HPC can do the trick in scaling and managing this amount
of data, and becomes especially useful for healthcare computing operations. Hewlett Packard
Enterprise hosts various hardware and software products for HPC deployment and
performance, as well as AI-integrated solutions and consulting services. The company’s HPC
technology allows professionals to process data in near-real time and receive insights for
diagnoses, clinical trials or immediate intervention. (HPC, 2022)

3.2. Parallel/ cluster/distributed


Parallel computing, cluster computing, and distributed computing are related concepts that
involve dividing computational tasks among multiple computing resources to improve
performance and solve complex problems.

 Parallel Computing: Parallel computing refers to the simultaneous execution of multiple


computational tasks or subtasks on multiple processors or computing units. In parallel

Page | 10
computing, a problem is divided into smaller subproblems, and each subproblem is
solved simultaneously on different processors. The results are then combined to obtain
the final solution. Parallel computing aims to speed up the computation by dividing the
workload among multiple processing units.

 Cluster Computing: Cluster computing involves connecting multiple computers or servers


together to work as a single system. A cluster typically consists of multiple standalone
machines (nodes) interconnected through a network. Each node in the cluster performs
computations independently, and tasks can be distributed across the nodes for parallel
processing. Cluster computing allows for high-performance computing by leveraging the
combined computational power of multiple machines.

 Distributed Computing: Distributed computing involves the use of multiple computers or


nodes that are geographically dispersed and connected through a network. In
distributed computing, tasks are divided into smaller parts, and each part is assigned to
different nodes for independent execution. Nodes communicate and coordinate with
each other to exchange data and synchronize their activities. Distributed computing
enables the processing of large-scale problems by utilizing the resources of multiple
machines across different locations.

In summary, parallel computing focuses on concurrent execution of tasks on multiple


processors, cluster computing involves connecting multiple computers to form a unified system,
and distributed computing utilizes a network of geographically distributed computers to solve
computational problems. These approaches aim to enhance performance, scalability, and
efficiency in handling complex computations. (HPC, 2022)

Page | 11
4. Deployment models: public/private/community/hybrid cloud
4.1. Public cloud

Figure 5: Public cloud (Cloud Deployment Models, 2020)

Public Cloud: Public cloud refers to a cloud computing model in which cloud services are
provided over the public internet by third-party service providers. The underlying infrastructure
is owned and managed by the cloud provider, and resources are shared among multiple users
or organizations. (Cloud Deployment Models, 2020)

4.2. Private cloud

Figure 6: Private cloud (Cloud Deployment Models, 2020)

Page | 12
Private Cloud: Private cloud, also known as an internal or enterprise cloud, is a cloud computing
model in which cloud services are provided within a private network, typically within an
organization's own data center. The infrastructure is dedicated to a single organization and can
be managed by the organization itself or a third-party service provider. Private clouds offer
more control, security, and customization options compared to public clouds. (Cloud
Deployment Models, 2020)

4.3. Community cloud

Figure 7 : Community cloud (Cloud Deployment Models, 2020)

Community Cloud: Community cloud is a cloud computing model that is shared among several
organizations with similar interests or requirements. The underlying infrastructure can be
hosted by the organizations themselves or a third-party service provider. Community clouds are
designed to meet the specific needs of a particular community, such as government agencies,
healthcare providers, or educational institutions, and offer shared resources, cost-sharing, and
collaborative features. (Cloud Deployment Models, 2020)

4.4. hybrid cloud

Page | 13
Figure 8 : hybrid cloud (Cloud Deployment Models, 2020)

Hybrid Cloud: Hybrid cloud is a cloud computing model that combines the use of multiple cloud
deployment models, such as public, private, or community clouds. It allows organizations to
leverage the benefits of different cloud environments and create a unified, flexible, and scalable
infrastructure. In a hybrid cloud, workloads can be seamlessly moved between different cloud
environments based on factors like cost, security, compliance, and performance requirements.
(Cloud Deployment Models, 2020)

Page | 14
5. Service models: IAAS, SAAS, PAAS

Figure 9: IAAS,SAAS,PAAS (Cloud Deployment Models, 2020)

When it comes to cloud computing, there are three primary service models: Infrastructure as a
Service (IaaS), Software as a Service (SaaS), and Platform as a Service (PaaS). These models
represent different levels of abstraction and responsibilities for the cloud service provider and the
consumer. (Cloud Deployment Models, 2020)

- Infrastructure as a Service (IaaS): IaaS is a cloud computing model that provides virtualized
computing resources over the internet. With IaaS, the cloud service provider offers fundamental
infrastructure components such as virtual machines, storage, and networking. Consumers have
control over the operating systems, applications, and configurations running on the provided
infrastructure. This model allows organizations to scale their infrastructure up or down based on
their needs, without having to invest in and manage physical hardware.

 Example: Amazon Web Services (AWS) Elastic Compute Cloud (EC2) provides virtual
machines and storage that can be used by consumers to build their own IT infrastructure.

- Software as a Service (SaaS): SaaS is a cloud computing model where software applications are
delivered over the internet as a service. In this model, the cloud service provider hosts and
manages the software application, and users access it through a web browser or a thin client.
Consumers do not need to worry about the underlying infrastructure or software maintenance,
as everything is handled by the provider. SaaS offers a ready-to-use software solution on a
subscription basis.

Page | 15
Figure 10: Community cloud (Cloud Deployment Models, 2020)

 Example: Salesforce is a popular SaaS provider that offers customer relationship


management (CRM) software accessed through a web browser.

- Platform as a Service (PaaS): PaaS is a cloud computing model that provides a platform for
developing, testing, and deploying applications. The cloud service provider offers a complete
development environment, including infrastructure, runtime, and development tools.
Consumers can focus on building and managing their applications, without having to worry
about the underlying infrastructure. PaaS allows for efficient and rapid application development
and deployment.

Figure 11: Platform as a Service (Cloud Deployment Models, 2020)

 Example: Google Cloud Platform (GCP) App Engine provides a platform for building and
deploying web applications, handling the underlying infrastructure and scalability.

Page | 16
These service models provide different levels of abstraction and cater to various needs and
requirements of organizations. They offer flexibility, scalability, and cost-efficiency, enabling
businesses to focus on their core operations while leveraging the benefits of cloud computing.
(Cloud Deployment Models, 2020)

6. 5 characteristic of cloud
The five key characteristics of cloud computing are:

 On-Demand Self-Service: Cloud computing provides users with the ability to provision
computing resources (such as virtual machines, storage, or applications) on-demand without
the need for human interaction with the service provider. Users can easily access and
configure resources as needed, enabling rapid scalability and flexibility.

 Broad Network Access: Cloud services are accessible over the network through standard
protocols, allowing users to access the services using various devices, including desktops,
laptops, tablets, and mobile phones. This characteristic ensures that cloud services are
available to users anytime, anywhere, as long as they have internet connectivity.

 Resource Pooling: Cloud providers aggregate and pool their computing resources to serve
multiple users concurrently. These resources, including processing power, storage, and
network bandwidth, are dynamically assigned and reassigned according to the user's
demand. The pooling of resources enables efficient utilization and allows for cost-sharing
among multiple users.

 Rapid Elasticity: Cloud computing allows for rapid and automatic scaling of resources based
on the current demand. Users can quickly scale up resources during peak usage periods and
scale down when the demand decreases. This elasticity ensures that users have the
necessary resources available to meet their needs without manual intervention or service
disruption.

 Measured Service: Cloud service usage is monitored, controlled, and reported, providing
transparency for both the service provider and the user. Users typically pay for cloud
services based on a pay-per-use model, where they are charged for the actual resources
consumed (such as storage space, processing time, or network traffic). This characteristic
enables cost optimization, as users only pay for the resources they use, and allows for better
resource planning and budgeting.

These characteristics collectively define the essence of cloud computing and differentiate it from
traditional IT infrastructure models. They provide the foundation for the scalability, flexibility, and
Page | 17
cost-efficiency that make cloud computing an attractive option for organizations of all sizes. (Five
characteristics of cloud computing, 2019)

7. The cloud architecture

Figure 12 : The cloud architecture (The cloud architecture, 2020)

Cloud architecture refers to the design and structure of a cloud computing environment that
includes various components and services to enable the delivery of cloud-based solutions. It
encompasses the arrangement and interaction of the underlying infrastructure, networking,
storage, virtualization, and management layers. The architecture is designed to provide scalability,
flexibility, reliability, and security for cloud-based applications and services. (The cloud
architecture, 2020)

Here are some key components typically found in a cloud architecture:

 Infrastructure as a Service (IaaS): This layer provides the foundational infrastructure


components such as virtual machines, storage, and networking. It allows users to
provision and manage virtualized resources on-demand, providing flexibility and
scalability.
 Platform as a Service (PaaS): PaaS builds on top of the IaaS layer and provides a platform for
developing, deploying, and managing applications. It includes tools, frameworks, and
runtime environments to streamline the application development process.
 Software as a Service (SaaS): SaaS is the layer where cloud-based applications are delivered
to end-users over the internet. It eliminates the need for users to install and maintain
software locally, as applications are accessed through web browsers or dedicated client
applications.

Page | 18
 Virtualization: Virtualization enables the creation of virtual resources, such as virtual
machines, virtual networks, and virtual storage. It allows for efficient resource utilization
and the isolation of applications and services from the underlying hardware.
 Multi-tenancy: Cloud architecture often supports multi-tenancy, where multiple customers
or tenants share the same infrastructure while maintaining data isolation and security.
This enables cost-sharing, resource optimization, and efficient utilization of resources
 Distributed and Redundant Infrastructure: Cloud architecture is designed to provide high
availability and reliability through distributed infrastructure and redundancy. Data
centers are geographically dispersed to minimize the impact of localized failures, and
redundant systems ensure continuity of services.
 Scalability and Elasticity: Cloud architecture allows for horizontal and vertical scalability to
handle changing workload demands. It enables the dynamic allocation and deallocation of
resources based on demand, ensuring optimal performance and cost efficiency.
 Service-Oriented Architecture (SOA): Cloud architecture often adopts a service-oriented
approach, where applications are built as a collection of loosely coupled services. This
allows for flexibility, reusability, and easy integration of different services within the cloud
ecosystem
 Security and Compliance: Cloud architecture incorporates various security measures and
protocols to protect data and applications. It includes authentication, authorization,
encryption, and monitoring mechanisms to ensure data privacy and comply with industry-
specific regulations.
 Management and Orchestration: Cloud architecture incorporates management
and orchestration tools to automate provisioning, monitoring, scaling, and
resource management tasks. It enables centralized management and control of the
cloud environment.

Cloud architecture can vary depending on the specific cloud service model (IaaS, PaaS, SaaS) and
the cloud provider. Different providers may have their own unique architectures and services, but
the principles of scalability, flexibility, reliability, and security are central to all cloud architectures.
(The cloud architecture, 2020)

Page | 19
Task 2 : Design an appropriate architectural Cloud Computing framework for a given scenario.
1. Explain why ATN should use cloud?

ATN, the Vietnamese toy-selling company, can benefit from using cloud services, specifically
Platform as a Service (PaaS), for several reasons:

 Scalability: Cloud platforms offer scalability, allowing ATN to easily adjust their resources
based on demand. As ATN's business grows and more shops are opened across different
provinces, they can quickly scale their infrastructure to accommodate the increased
workload and user traffic. PaaS providers typically offer automatic scaling features,
ensuring that ATN's applications can handle high volumes of transactions without
experiencing performance issues or downtime.
 Cost Efficiency: Adopting cloud-based PaaS eliminates the need for ATN to invest in and
maintain their own physical infrastructure. They can avoid the upfront costs associated
with purchasing servers, networking equipment, and data centers. Instead, ATN can
leverage the pay-as-you-go model offered by PaaS providers, paying only for the
resources and services they actually use. This helps reduce operational costs and
provides better cost predictability.
 Agility and Faster Time-to-Market: PaaS enables faster development and deployment
cycles, allowing ATN to bring their applications and services to market more quickly.
PaaS providers offer pre-configured development environments, frameworks, and tools,
streamlining the development process and reducing the time required to set up
infrastructure. This agility enables ATN to respond swiftly to market demands, launch
new features, and stay competitive in the rapidly evolving toy industry.
 Improved Collaboration and Efficiency: Cloud-based PaaS facilitates collaboration among
ATN's teams and employees, regardless of their geographical locations. Multiple
stakeholders, such as shop managers and the board of directors, can access and interact
with the same centralized system, enabling real-time data sharing, collaboration, and
decision-making. This eliminates the need for manual data consolidation and enhances
overall operational efficiency.
 Reliability and Disaster Recovery: Cloud platforms provide robust infrastructure with
built- in redundancy and backup mechanisms. PaaS providers have multiple data centers
and employ high availability practices to ensure continuous uptime and data
accessibility. In case of hardware failures or other disruptions, the data and applications
hosted on the cloud are automatically replicated and restored, minimizing downtime and
data loss. This enhances ATN's business continuity and disaster recovery capabilities.
 Security and Compliance: PaaS providers invest heavily in security measures to protect
customer data and applications. They implement industry-standard security practices,
such as encryption, firewalls, and access controls, to safeguard ATN's sensitive

Page | 20
information. Additionally, PaaS providers often comply with various data protection
regulations and certifications, ensuring that ATN can meet compliance requirements
without shouldering the entire burden of security management.

Overall, adopting cloud-based PaaS allows ATN to focus on their core business activities while
leveraging the benefits of a flexible, scalable, cost-efficient, and secure infrastructure. It enables
ATN to rapidly innovate, collaborate effectively, and scale their operations as they expand
across different provinces in Vietnam. (PAAS, 2021)

2. Which deployment model should be used and why?


PaaS provides a cloud-based platform that allows companies to develop, deploy, and manage
their applications and data without the need to build and maintain their own infrastructure.

Here's why PaaS would be beneficial in this case:

 Centralized Database: With PaaS, ATN can establish a centralized database where all the
transaction data from each shop is stored. Instead of each shop having its own separate
database, all the data is consolidated into a single database accessible by the company.
This eliminates the need for each shop to send monthly sales data to the board director,
as the data is already available in real time.

 Real-time Stock Information: PaaS enables real-time data updates, allowing the board
director to access the stock information instantly. By integrating the stock management
system with the centralized database, any changes in stock levels will be reflected in real
time across all locations. This ensures that the board director has up-to-date information
about inventory levels, facilitating better decision-making and reducing delays in
addressing stock-related issues.

 Scalability and Flexibility: PaaS offers scalability, allowing ATN to easily accommodate
their growing business needs. As the company expands and opens more shops across
provinces, PaaS provides the flexibility to add new stores to the centralized system
seamlessly. It eliminates the need for additional infrastructure setup and configuration, as
the underlying cloud platform can handle the increased workload effortlessly.

 Cost and Time Savings: By adopting PaaS, ATN can reduce costs and save time in various
ways. They don't have to invest in purchasing and maintaining their own servers or
infrastructure. PaaS providers handle the infrastructure management, including
hardware maintenance, security, and software updates. This allows ATN to focus on their
core business activities while leveraging the expertise of the PaaS provider.

Page | 21
Overall, PaaS would provide ATN with a centralized, scalable, and cost-effective solution for
managing their sales and stock information across multiple shops. It eliminates the need for
manual data consolidation, provides real-time access to critical information, and streamlines
operations for improved efficiency and decision-making. (PAAS, 2021)

Task 2: Define an appropriate deployment model for a given scenario.


1. Which service model should be used and why ?

Figure 13: PAAS (PAAS, 2021)

PaaS offers a cloud-based platform that provides a range of development tools, middleware, and
runtime environments to build, deploy, and manage applications.

Here's why PaaS is a suitable service model for ATN:

 Simplified Application Development: PaaS provides a ready-to-use development platform,


including programming languages, frameworks, and tools, which simplifies the application
development process. ATN can leverage these resources to build their custom
applications for managing transactions, sales data, and inventory.

 Centralized Database and Data Management: PaaS allows ATN to establish a


centralized database accessible to all the shops. This centralized approach eliminates
the need for individual databases at each shop and enables efficient management and
analysis of
Page | 22
transaction data. The PaaS provider handles the infrastructure and maintenance of the
database, reducing the burden on ATN's IT team.

 Scalability and Flexibility: PaaS offers scalability to handle ATN's growing business needs.
As ATN opens more shops, PaaS can easily accommodate the increasing data volume and
user demand without requiring ATN to invest in additional hardware or worry about
capacity planning. PaaS providers typically offer automatic scaling features to handle traffic
spikes and ensure smooth operations.

 Real-time Updates and Collaboration: With PaaS, ATN can achieve real-time updates and
collaboration. The centralized database can be accessed by multiple users simultaneously,
enabling real-time visibility into sales data and inventory levels. The board director and
shop managers can collaborate, view data, and make informed decisions based on the
most up-to-date information.

 Reduced IT Management and Costs: By adopting PaaS, ATN can offload much of the
infrastructure management and maintenance responsibilities to the PaaS provider. This
reduces the burden on ATN's IT team, allowing them to focus on application
development and business-specific tasks. Moreover, PaaS typically follows a pay-as-you-
go pricing model, enabling cost optimization by paying only for the resources and services
used.

Overall, PaaS provides ATN with a comprehensive development platform, centralized data
management, scalability, real-time updates, and cost-efficiency. It allows ATN to focus on their
core business activities while leveraging a cloud-based platform that meets their application
development and data management requirements. (PAAS, 2021)

2. Which programming language should be used?

Figure 14 : Nodejs (Nodejs, 2019)


Page | 23
In this case, Node.js is indeed a suitable programming language for ATN's cloud solution. Here are
the reasons why Node.js is a good choice:

 JavaScript-based: Node.js is built on the JavaScript runtime, making it a natural fit for web
development. Since JavaScript is widely used for both front-end and back-end
development, using Node.js allows for code reuse and streamlines the development
process.

 Asynchronous and non-blocking: Node.js is designed to handle high levels of concurrency


and heavy I/O operations efficiently. Its event-driven, non-blocking architecture allows for
handling multiple requests concurrently, making it well-suited for real-time applications
and scenarios where responsiveness is critical.

 Vast ecosystem: Node.js has a vibrant and extensive ecosystem of libraries, frameworks,
and modules available through npm (Node Package Manager). This rich ecosystem enables
developers to leverage existing tools and components to speed up development, enhance
functionality, and ensure code reliability.

 Scalability: Node.js is known for its scalability, allowing applications to handle a large
number of concurrent connections. Its lightweight and efficient design, combined with the
ability to scale horizontally across multiple machines, makes it a good choice for ATN's
cloud solution.

 Community support: Node.js has a large and active community of developers who
contribute to its growth and provide support. This means that developers can easily find
resources, documentation, and help when needed, facilitating the development process
and troubleshooting any potential issues.

Considering ATN's need for real-time updates, concurrency handling, and scalability, Node.js
provides a suitable solution due to its asynchronous nature, JavaScript familiarity, and strong
community support. With Node.js, ATN can develop a responsive and efficient cloud-based
application that meets their requirements. (Nodejs, 2019)

Page | 24
Task 2 : Compare the service models for choosing an adequate model for a given scenario.
1. Which database should be used?

Figure 15 : MongoDb (MongoDB, 2009)

In this case, MongoDB would be a suitable choice for ATN's cloud solution as the database. Here's
why MongoDB is a good fit:

 Flexibility and scalability: MongoDB is a NoSQL database that provides a flexible and
scalable data model. It allows ATN to store and retrieve complex data structures, such as
transaction records and stock information, without the need for rigid schemas. This
flexibility enables ATN to adapt and evolve their data model as their business
requirements change.

 Real-time updates: MongoDB's document-oriented data model and support for atomic
operations make it well-suited for real-time updates. ATN can efficiently update stock
information in real time across multiple locations without the need for complex
transaction management.

 Performance: MongoDB's architecture is designed for high-performance operations,


especially for read-heavy workloads. It can handle large amounts of data and provide fast
access to the information ATN needs. Additionally, MongoDB supports horizontal scaling,
allowing ATN to distribute data across multiple servers and achieve high availability and
performance.

 Community and ecosystem: MongoDB has a large and active community, which means
there is extensive documentation, tutorials, and resources available. Additionally,
MongoDB provides comprehensive drivers and integrations with various programming
languages and cloud platforms, including Node.js and cloud services like Heroku.

Page | 25
 Cloud compatibility: MongoDB offers cloud-specific features and integrations, making it
well-suited for deployment on cloud platforms. It has native support for cloud services
such as automatic sharding and replication, which can enhance the scalability, availability,
and resilience of ATN's application running on the cloud.

Considering ATN's need for a flexible, scalable, and high-performance database, MongoDB fits
well. Its support for real-time updates, compatibility with cloud platforms, and a strong
community make it a suitable choice for ATN's cloud-based toy retail solution. (MongoDB, 2009)

2. Which cloud platform should be used?

Figure 16 : Render (Render, 2018)

Render is a cloud provider that offers a simplified and developer-friendly platform for deploying
and managing applications. Here are the reasons why Render can be a good choice for ATN:

 Ease of Use and Developer-Friendly: Render provides a user-friendly interface and


streamlined workflows, making it easier for developers at ATN to deploy and manage their
applications. The platform offers intuitive deployment configurations and straightforward
setup, reducing the complexity of application deployment and management tasks.
 Scalability and Performance: Render is designed to handle scalability and performance
requirements. It offers automatic scaling capabilities, which allows ATN's applications to
handle increased user traffic and data volume as the business grows. Render's
infrastructure can dynamically adjust resources to match demand, ensuring optimal
performance without manual intervention.
 Wide Language and Framework Support: Render supports a wide range of programming
languages and frameworks, providing flexibility for ATN's development needs. Whether
ATN's applications are built using popular languages like Python, Node.js, or
frameworks like Django or React, Render can accommodate and host them efficiently.
 Integrated Continuous Deployment and Git Integration: Render offers built-in continuous
deployment capabilities, allowing ATN to automate the deployment process whenever
changes are pushed to their Git repository. This ensures that new features and updates

Page | 26
can be quickly deployed to the production environment without manual intervention,
facilitating agile development practices.
 Cost-Effectiveness: Render follows a transparent pricing model, charging only for the
resources used by ATN's applications. The pricing structure is clear and straightforward,
enabling cost optimization by paying for actual usage. Additionally, Render offers a
generous free tier for small-scale applications and affordable pricing options as the
business scales.
 Robust Monitoring and Logging: Render provides comprehensive monitoring and
logging features to track the health and performance of ATN's applications. This allows
ATN to gain insights into application behavior, identify and troubleshoot issues, and
ensure high availability and reliability of their systems.

It's important to note that while Render is a suitable option, there are other cloud platforms
available in the market as well, such as AWS, Azure, and Google Cloud Platform. ATN should
evaluate their specific requirements, budget, and expertise before finalizing the cloud platform
that best aligns with their needs. (Render, 2018)

C. Conclusion
In conclusion, ATN is a Vietnamese company that sells toys to teenagers across multiple provinces in
Vietnam. The current system consists of separate databases for each shop, resulting in time-consuming
manual data consolidation for the board of directors. Additionally, the board lacks real-time visibility
into stock information.

To address these challenges, adopting a cloud solution is highly recommended for ATN. The benefits of
using the cloud include flexible scalability, cost-effectiveness, remote accessibility, and easy information
sharing and collaboration.

For deployment, the most suitable model for ATN is the Community Cloud, as it provides industry-
specific features and services tailored to the toy industry in Vietnam. Community Cloud allows ATN to
leverage industry-specific functionalities and compliance regulations to build an optimized solution for
their business environment.

Within the service model, ATN should utilize the Platform as a Service (PaaS) model in the Community
Cloud. PaaS offers a complete development and deployment environment, allowing ATN to focus on
application development without managing infrastructure. PaaS in the Community Cloud provides
shared resources and services that align with the toy industry's requirements, ensuring ATN can
leverage features and comply with industry standards.

Page | 27
The recommended programming language for this project is Node.js. Node.js supports real-time
application development, has excellent scalability, and can handle multiple concurrent connections. It
also integrates well with cloud services and web platforms.

For data storage, MongoDB is a suitable database choice for ATN. With its flexibility, scalability, and
real- time update support, MongoDB allows efficient storage and retrieval of transaction and inventory
information.

In summary, adopting a cloud solution for ATN, including the Community Cloud, PaaS model, Node.js,
MongoDB will enhance performance, streamline data management, provide real- time updates, and
create a flexible and cost-effective business environment for ATN.

D. References

client-server, 2021. client-server. [Online]


Available at: https://www.techtarget.com/searchnetworking/definition/client-server
[Accessed 2023].

Cloud Deployment Models, 2020. Cloud Deployment Models. [Online]


Available at: https://sam-solutions.us/advantages-and-disadvantages-of-cloud-deployment-models/
[Accessed 2023].

Computer Hope, 2021. Computer Hope. [Online]


Available at:
https://www.computerhope.com/jargon/c/clientse.htm#:~:text=Common%20examples%20of%20client
%2Dserver,tablets%20connected%20to%20the%20Internet.
[Accessed 2023].

computing, 2021. Computing. [Online]


Available at: https://www.wired.com/insights/2014/07/top-five-reasons-use-cloud-four-things-smbs-
consider/
[Accessed 2023].

Page | 28
Five characteristics of cloud computing, 2020. Five characteristics of cloud computing. [Online]
Available at: https://www.controleng.com/articles/five-characteristics-of-cloud-computing/

HPC, 2022. HPC. [Online]


Available at: https://builtin.com/hardware/high-performance-computing-applications
[Accessed 2023].

HPC, 2022. What is high-performance computing (HPC)?. [Online]


Available at: https://www.ibm.com/topics/hpc
[Accessed 2023].

Jack, 2022. Client-Server. [Online]


Available at: https://www.heavy.ai/technical-glossary/client-server
[Accessed 2023].

MongoDB, 2009. MongoDB. [Online]


Available at: https://www.mongodb.com/what-is-mongodb
[Accessed 2023].

Nodejs, 2019. What Is Node.js. [Online]


Available at: https://nodejs.org/en/about
[Accessed 2023].

PAAS, 2021. PAAS. [Online]


Available at: https://www.techtarget.com/searchcloudcomputing/definition/Platform-as-a-Service-PaaS
[Accessed 2023].

peer-to-peer (P2P), 2022. peer-to-peer (P2P). [Online]


Available at: https://www.techtarget.com/searchnetworking/definition/peer-to-peer
[Accessed 2023].

Render, 2018. Render. [Online]


Available at:
https://render.com/[Accessed 2023].

Page | 29
The cloud architecture, 2020. The cloud architecture. [Online]
Available at: https://www.itrelease.com/2021/06/what-is-cloud-architecture-with-example/
[Accessed 2023].

Page | 30

You might also like