Professional Documents
Culture Documents
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.
Grading grid
P1 P2 P3 P4 M1 M2 D1
❒ Summative Feedback: ❒ Resubmission Feedback:
II. Body
o In the client/server model, the client is a device or software application that requests services or resources from the
server. Clients can be personal computers, laptops, smartphones, or any other device capable of making requests and
receiving responses. They typically have user interfaces that allow users to interact with the application or access
resources provided by the server. (FPTCLOUD, 2022)
o On the other hand, the server is a powerful computer or software application that manages resources, processes
requests, and delivers services to clients. Servers are designed to handle multiple client requests simultaneously and
provide the necessary resources or perform specific tasks. They have greater processing power, storage capacity, and
network connectivity compared to clients. (FPTCLOUD, 2022)
o Communication between clients and servers typically occurs over a network, such as the internet or a local area
network (LAN). Clients send requests to servers, which process the requests and send back the corresponding
responses. This interaction follows a request-response paradigm, where clients initiate requests, and servers respond
with the requested information or perform the required actions. (FPTCLOUD, 2022)
o The client/server model allows for distributed processing, scalability, and centralization of resources. It enables
multiple clients to connect to a central server or a network of servers to access shared data, applications, or services.
This architecture is widely used in various domains, including web applications, database systems, email services, file
sharing, and many other networked systems. (FPTCLOUD, 2022)
o Example of client/server:
o P2P networks are commonly used for various purposes, such as file sharing, collaborative applications, messaging, and
decentralized cryptocurrencies. Here are a few examples to illustrate the concept: (VietNix, 2021)
1. File Sharing: In a P2P file-sharing network, participants share files directly with each other without relying on a
central server. Each peer can act as a source and a destination for file transfers. Popular P2P file-sharing
protocols include BitTorrent, where participants share files by exchanging pieces of the file with each other.
2. Messaging: P2P messaging applications allow users to communicate directly with each other without relying on
a central server. Each participant acts as a node in the network and can send messages to other peers in a
decentralized manner. Examples include applications like Tox and Retro Share.
3. Blockchain and Cryptocurrencies: Blockchain technology, used in cryptocurrencies like Bitcoin and Ethereum,
is based on a P2P network. The blockchain network consists of nodes (peers) that validate and store transactions
collectively. These nodes communicate with each other to maintain a distributed ledger without the need for
central authority.
o In P2P networks, the responsibility for tasks such as resource management, security, and data integrity is distributed
among the participating peers. The decentralized nature of P2P systems offers benefits such as increased fault
tolerance, scalability, and resistance to censorship. However, it can also present challenges in terms of security, trust,
and coordination among peers. (VietNix, 2021)
o 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)
HPC: Parallel/ cluster/distributed:
Figure 4 HPC (IBM, 2023)
o HPC stands for High-Performance Computing, which refers to the use of powerful computing systems and techniques to
solve complex computational problems efficiently. HPC systems are designed to deliver exceptional performance and
processing power for tasks that require extensive computation, large-scale simulations, data analysis, and modeling. (IBM,
2023)
o 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)
o There are several approaches to implementing HPC systems based on the architecture and configuration. Three common
configurations used in HPC are parallel computing, cluster computing, and distributed computing: (IBM, 2023)
1. Parallel Computing:
Figure 5 Parallel Computing (SpringerLink, 2022)
- In parallel computing, multiple processors or cores work together to solve a computational problem by
dividing it into smaller tasks that can be executed simultaneously. These processors communicate and
collaborate closely, often sharing memory, to achieve high computational speed. Parallel computing is
suitable for problems that can be divided into independent subtasks that can be executed concurrently.
Examples of parallel computing models include shared memory (e.g., SMP) and distributed memory (e.g.,
MPI) architectures. (SpringerLink, 2022)
2. Cluster Computing:
Figure 6 Cluster Computing (SpringerLink, 2022)
- Cluster computing involves connecting multiple individual computers or servers (nodes) together to form a
cluster. These nodes communicate and work together to execute computational tasks. Each node in the
cluster can have its own memory and processing power, and they often communicate through a high-speed
interconnect. Cluster computing is widely used in HPC as it provides scalability, fault tolerance, and the
ability to tackle large-scale problems. Examples of cluster computing frameworks include Hadoop and
Apache Spark. (SpringerLink, 2022)
3. Distributed Computing:
Figure 7 Distributed Computing (SpringerLink, 2022)
- Distributed computing involves utilizing multiple interconnected computers or servers located in different
physical locations to solve a computational problem. Each computer or server in a distributed system (also
called a node) operates independently, but they communicate and coordinate with each other to accomplish
the task. Distributed computing is suitable for problems that can be divided into smaller tasks that can be
solved independently and later combined to obtain the result. Examples of distributed computing
frameworks include Apache Hadoop and Apache Storm. (SpringerLink, 2022)
o These three configurations—parallel computing, cluster computing, and distributed computing—can be used individually
or combined in various ways to build powerful HPC systems tailored to specific computational requirements. The choice of
architecture depends on factors such as the nature of the problem, scalability needs, available resources, and
communication requirements between the nodes. (SpringerLink, 2022)
Deployment models: public/private/community/hybrid cloud:
o Deployment models in cloud computing refer to different ways in which cloud services and resources are provisioned,
managed, and utilized. The four main deployment models are:
1. Public Cloud:
2. Private Cloud:
Figure 9 Private cloud (JavaTpoint, 2023)
- A private cloud deployment model involves the creation of a cloud infrastructure exclusively for a single
organization. The organization can build and manage its own private cloud within its premises or opt for a
dedicated infrastructure hosted by a third-party provider. Private clouds offer enhanced security, control,
and customization options, making them suitable for organizations with specific compliance requirements or
sensitive data. However, they require significant investment and maintenance. Private cloud deployments
can be either on-premises or hosted in a data center. (JavaTpoint, 2023)
3. Community Cloud:
Figure 10 Community cloud (JavaTpoint, 2023)
- A community cloud is a shared cloud infrastructure that serves multiple organizations or entities with
common interests, such as industry-specific regulations or security requirements. These organizations may
collaborate to establish and maintain the community cloud or rely on a third-party provider specializing in
community cloud services. By sharing the infrastructure, organizations benefit from cost sharing, improved
collaboration, and resource optimization while maintaining a level of control and customization specific to
their community's needs. (JavaTpoint, 2023)
4. Hybrid Cloud:
Figure 11 Hybrid cloud (JavaTpoint, 2023)
- A hybrid cloud deployment combines the use of multiple cloud deployment models, typically integrating a
mix of public and private clouds. Organizations leverage a hybrid cloud to gain the advantages of both
public and private clouds while addressing specific requirements or constraints. For example, an
organization might use a public cloud for routine computing tasks or scalable workloads, while keeping
sensitive data or critical applications within a private cloud for enhanced security and control. Hybrid clouds
offer flexibility, allowing seamless migration of workloads between different cloud environments.
(JavaTpoint, 2023)
o Each deployment model has its own benefits and considerations, and organizations select the most appropriate model
based on factors such as security requirements, compliance regulations, scalability needs, budget constraints, and the
nature of their workloads. It's important to evaluate these factors carefully when choosing a deployment model to
ensure alignment with business goals and operational requirements. (JavaTpoint, 2023)
Service models: IAAS, SAAS, PAAS:
o Service models in cloud computing refer to different levels of cloud services and functionalities provided to users. The
three main service models are:
o Centralized Data Management: By migrating to the cloud, ATN can centralize all transactional data from its multiple
shops into a single, unified database. This eliminates the need for individual databases at each shop and provides a
consolidated view of sales data across the organization. Centralized data management simplifies data analysis,
reporting, and decision-making processes.
o Real-Time Data Synchronization: Cloud computing enables real-time data synchronization, ensuring that sales
transactions from each shop are immediately reflected in the centralized database. This eliminates the monthly manual
data transfer process, allowing the board director to access up-to-date sales information without delay. Real-time data
synchronization enables faster and more accurate decision-making.
o Enhanced Data Analysis and Reporting: Cloud-based analytics tools and reporting services provide powerful
capabilities for analyzing and summarizing sales data. ATN can leverage these tools to gain valuable insights into
customer preferences, sales trends, and inventory management. Cloud-based analytics enable the board director to
generate real-time reports and visualize data more effectively, reducing the time spent on manual data summarization.
o Improved Stock Management: With a cloud-based solution, ATN can integrate a stock management system that
provides real-time stock information across all shops. This allows the board director to monitor inventory levels,
identify popular products, and plan restocking activities more efficiently. Real-time stock updates help prevent
stockouts and optimize inventory management, improving overall customer satisfaction.
o Scalability and Cost Efficiency: Cloud computing offers scalability, allowing ATN to adjust resources based on
demand. During peak seasons or promotional periods, ATN can easily scale up the infrastructure to handle increased
sales volume. Conversely, during slower periods, resources can be scaled down, reducing costs. This pay-per-use
model ensures cost efficiency by eliminating the need for upfront infrastructure investments and allowing ATN to pay
only for the resources it consumes.
o Data Security and Disaster Recovery: Cloud service providers prioritize data security and employ robust security
measures to protect customer data. Storing data in the cloud helps ATN safeguard its transactional information against
data loss, theft, or system failures. Cloud providers also offer reliable backup and disaster recovery solutions, ensuring
business continuity and minimizing the risk of data loss.
o Accessibility and Collaboration: Cloud computing enables seamless access to data and applications from any location
and device with an internet connection. This facilitates collaboration among ATN's employees, allowing them to work
together on sales analysis, reporting, and decision-making. Cloud-based solutions also support remote work, enabling
flexibility and productivity.
In conclusion, cloud computing offers ATN significant advantages such as centralized data management, real-time
synchronization, improved data analysis and reporting, enhanced stock management, scalability, cost efficiency,
data security, and accessibility. By embracing cloud technology, ATN can streamline its operations, improve
decision-making processes, and gain a competitive edge in the toy retail industry. (geeksforgeeks, 2020)
o Scalability and Flexibility: As ATN operates in multiple provinces and experiences fluctuations in sales volume, the
ability to scale resources up or down based on demand is crucial. By leveraging the public cloud component of the
hybrid model, ATN can easily accommodate increased traffic during peak seasons or promotional periods, ensuring
optimal performance and customer experience. This scalability provides cost-efficiency by only paying for additional
resources when needed.
o Cost Optimization: The hybrid cloud model allows ATN to balance cost and performance. By utilizing a private cloud
for sensitive data and core applications, the company can have greater control over costs while ensuring data security
and compliance. The public cloud component can be utilized for less critical applications, analytics, reporting, or non-
sensitive data, enabling cost optimization through pay-per-use pricing models.
o Real-time Updates: The board director's challenge of not having real-time stock information can be addressed by
leveraging the public cloud component of the hybrid model. The stock management system can be hosted in the public
cloud, enabling real-time updates and synchronization of stock information across all shops. This provides the board
director with instant visibility into stock levels, facilitating better decision-making and inventory management.
o Resource Efficiency: The hybrid cloud model allows ATN to utilize existing on-premises infrastructure or private
cloud investments while leveraging the flexibility and scalability of the public cloud. This maximizes the efficiency of
resources and avoids the need for significant infrastructure changes or expensive upfront investments.
o Compliance and Data Sovereignty: As ATN operates within Vietnam, there may be specific regulatory requirements
regarding data storage and sovereignty. By utilizing a private cloud within the country, ATN can ensure compliance
with local regulations while still leveraging the benefits of the public cloud for non-sensitive applications.
In summary, the hybrid cloud deployment model offers ATN the right balance between data security, scalability,
cost optimization, real-time updates, resource efficiency, and compliance. It provides the company with the
flexibility to leverage both private and public cloud resources, ensuring that sensitive data is protected while
benefiting from the advantages of the cloud for improved operations and decision-making. (Cloud, 2023)
P4. Compare the service models for choosing an adequate model for a given scenario:
Which service model should be used and why?
Based on the given scenario, the most suitable service model for ATN would be the Software as a Service (SaaS) model.
Here's why:
o Centralized Database Management: SaaS provides a centralized database management system accessible by all shops
and the board director. Instead of each shop having its own separate database, all transaction data can be stored and
managed in a centralized database within the SaaS platform. This allows for efficient data consolidation and eliminates
the need for manual data transfer.
o Real-time Stock Information: With a SaaS solution, ATN can have a centralized stock management system that
provides real-time updates on stock levels. This ensures that the board director and all shops have instant visibility into
the available stock, allowing for better inventory management and decision-making.
o Automated Data Summarization: The board director no longer needs to spend significant time summarizing the data
collected from all the shops. The SaaS platform can provide automated reports and analytics, presenting the sales data
in a summarized and easily digestible format. This saves time and effort for the board director, enabling them to focus
on strategic analysis and decision-making.
o Cost-effective Solution: SaaS typically follows a subscription-based pricing model, which can be more cost-effective
for ATN compared to building and maintaining their own database infrastructure. By utilizing a SaaS platform, ATN
can benefit from the shared infrastructure and ongoing maintenance provided by the SaaS provider, reducing
operational costs.
o Scalability and Flexibility: As ATN expands its operations and opens more shops, the SaaS model offers scalability and
flexibility. The SaaS platform can easily accommodate the growing number of shops and the increasing volume of data
without requiring significant infrastructure changes or additional resources from ATN's side.
o By adopting the SaaS service model, ATN can streamline their database management, enhance stock visibility,
automate data summarization, and reduce operational costs. This allows the board director to access real-time
information, make informed decisions, and improve overall operational efficiency across all shops. (IBM, 2023)
Which programming language should be used?
In the given scenario of ATN, where the company sells toys across multiple provinces in Vietnam and requires real-time stock
updates and efficient data processing, Node.js is a suitable programming language choice. Here are some reasons why Node.js
should be considered:
o Asynchronous and Non-blocking: Node.js is built on an asynchronous, non-blocking event-driven architecture. This
means it can handle multiple concurrent requests efficiently without blocking other operations. For ATN, this is
beneficial when dealing with many transactions and real-time stock updates, as Node.js can handle concurrent requests
and process data asynchronously, leading to improved performance and responsiveness.
o Real-time Updates: Node.js is well-suited for real-time applications and scenarios where real-time updates are required.
By leveraging technologies like WebSocket’s or server-sent events, Node.js can facilitate real-time communication
between the shops and the board director. This enables immediate stock information updates, ensuring the board
director has the latest data without delays.
o Scalability: Node.js is known for its scalability, allowing applications to handle a high volume of concurrent
connections with relatively low resource usage. This is important for ATN as the company expands and the number of
shops and transactions grows. Node.js can handle the increased load and ensure smooth operation even during peak
periods.
o JavaScript Ecosystem: Node.js uses JavaScript, which has a vast ecosystem of libraries, frameworks, and developer
communities. This rich ecosystem provides extensive resources, modules, and tools that can expedite development,
improve productivity, and simplify integration with other systems and databases.
o Single Language: By using Node.js, ATN can have a unified codebase, as JavaScript can be used both on the server-
side (Node.js) and the client-side (web browsers). This enables developers to work with a single language throughout
the entire application stack, promoting code reuse, easier maintenance, and faster development cycles.
Considering the need for real-time updates, asynchronous processing, scalability, and the advantages of JavaScript's
ecosystem, Node.js emerges as a suitable programming language for ATN. It can provide the necessary tools and
capabilities to handle the company's data processing requirements, facilitate real-time stock updates, and ensure a
responsive and scalable application architecture. (Programming Languages, 2023)
Considering the requirements of centralized data management, monthly data summarization, and real-time stock
information updates, Heroku provides a robust and user-friendly platform that can accommodate ATN's needs.
However, it is essential to evaluate other factors such as cost, specific application requirements, integration
capabilities, and expertise within the ATN team before making a final decision. (Sumatosoft, 2023)
III. Conclusion
In conclusion, ATN, the Vietnamese toy company, is facing operational challenges due to its decentralized data management approach
and the lack of real-time stock information. The current system, where each shop maintains its own database, results in time-
consuming data consolidation efforts for the board director, who needs to manually summarize the sales data from all shops monthly.
Additionally, the absence of real-time stock updates limits the board director's ability to monitor inventory levels promptly. To address
these challenges, ATN should embrace cloud computing as a transformative solution. Cloud computing offers centralized data
management, real-time stock updates, and seamless information sharing capabilities that can significantly enhance ATN's operations.
By migrating to a cloud-based database system, ATN can consolidate all transactional data from each shop into a single, unified
database. This centralization streamlines data management processes and eliminates the need for manual data consolidation, saving
time and effort for the board director. Furthermore, real-time stock information can be readily available by integrating the inventory
systems of each shop into the cloud platform. This empowers the board director to make informed decisions based on up-to-date stock
levels, preventing stockouts or overstocking. Considering the scenario, a suitable cloud platform for ATN's needs would be Heroku.
Heroku provides a scalable and user-friendly environment that allows for easy deployment and management of cloud applications. Its
robust features and support for various programming languages make it an ideal choice for ATN's transformation. In conclusion,
adopting cloud computing, specifically utilizing Heroku as the cloud platform, will revolutionize ATN's operations. It will centralize
data, enable real-time stock updates, and enhance information sharing, resulting in improved efficiency, faster decision-making, and
ultimately, increased profitability. ATN is well-positioned to leverage the power of cloud computing to drive its success and maintain
a competitive edge in the Vietnamese toy market.
IV. References
Times of Cloud. 2022. History and Vision of Cloud Computing. [online] Available at: < https://timesofcloud.com/cloud-
tutorial/history-and-vision-of-cloud-computing/ > [Accessed 28 July 2022].
Techterms.com. 2022. Client-Server Model Definition. [online] Available at: < https://techterms.com/definition/client-server_mode
l> [Accessed 28 July 2022].
Codelearn.io. 2022. Client - Server. [online] Available at: < https://codelearn.io/sharing/tim-hieu-ve-mo- hinh-client-server >
[Accessed 28 July 2022].
Heavy.ai. 2022. What is Client-Server? Definition and FAQs | HEAVY.AI. [online] Available at: < https://www.heavy.ai/technical-
glossary/client-server > [Accessed 28 July 2022].
Ace Cloud Hosting. 2022. High-Performance Computing (HPC): All You Need to Know. [online] Available at: <
https://www.acecloudhosting.com/blog/high-performance-computing/ > [Accessed 28 July 2022].
Computing?, W., 2022. What is Cluster Computing | A Concise Guide to Cluster Computing. [online] EDUCBA. Available at: <
https://www.educba.com/what-is-cluster-computing/ > [Accessed 28 July 2022].
Kleinerman, K., 2022. What is Distributed Computing: Definition & Examples. [online] Ridge Cloud. Available at: <
https://www.ridge.co/blog/what-is-distributed-computing/ > [Accessed 28 July 2022].
Hazelcast. 2022. Grid Computing. [online] Available at: < https://hazelcast.com/glossary/grid-computing/ > [Accessed 5 August
2022].
SearchCloudComputing. 2022. What is Cloud Computing? Everything You Need to Know. [online] Available at: <
https://www.techtarget.com/searchcloudcomputing/definition/cloud-computing > [Accessed 5 August 2022].
Growth Business. 2022. 7 reasons why your business needs to move to the cloud. [online] Available at: <
https://www.growthbusiness.co.uk/7-reasons-business-needs-move-cloud-2552054/ > [Accessed 5 August 2022].