cloud-DONG DUC THANH-BS00138
cloud-DONG DUC THANH-BS00138
cloud-DONG DUC THANH-BS00138
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:
Now you can store your documents somewhere "floating in the clouds" with some reputable solutions like Google Drive or
OneDrive. And as long as you have an Internet connection, you can access that data anywhere and anytime.
2. Benefit
Benefits of cloud computing
1. Cloud computing is simple
One of the major IT hurdles you face in your business is centralized work or technology upgrades during operations. This
often entails having to install and install hardware and software so that every computer in your company can be compatible
with each other.
Depending on the business module, this accounts for a large investment and is usually quite cheap.
2. Internet-based computing is easily accessible
When you bring cloud computing technology to your business, every employee will have access to the information they need
to do their job. And they can work almost anywhere, as long as there is an internet connection.
3. Cloud computing provides excellent security for important files
Before that, you could store important files on your laptop. So what happens when you lose your computer? Files will be lost
and they will fall into someone else's hands.
With cloud computing, all your files are stored digitally in the cloud infrastructure, so there are no more problems with lost
data or failed hardware. When using cloud computing, you will also have access to restore data and back them up to prevent
you from losing important information.
4. Using cloud computing is cost effective
Maintaining and upgrading desktops, laptops, and related software for the entire company is a difficult expense, especially
for small or newly established businesses. .
5. Cloud computing offers increased business agility
Using cloud computing can help your business scale. Imagine that suddenly you have a new customer that requires you to
have more human resources to respond.
You may need some new equipment or upgrade existing equipment to support your business operations.
6. Cloud computing enables enhanced operations and business
Cloud computing tools make it easy to share data and applications for freelancers or co-workers. Similarly, you may find your
work can be linked to import or acquisition work. Using cloud computing helps system and staff merge seamlessly at lower
costs.
Client/sever model
- The client–server model is a distributed application structure that partitions tasks or workloads between the providers of a
resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a
computer network on separate hardware, but both client and server may reside in the same system. A server host runs one
or more server programs, which share their resources with clients. A client usually does not share any of its resources, but it
requests content or service from a server. Clients, therefore, initiate communication sessions with servers, which await
incoming requests. Examples of computer applications that use the client–server model are email, network printing, and the
World Wide Web.
- The client-server network functions as a storage system for data. In this model, you can store or install much of the
information and applications on a remote server. The system requests the data from a server when the client requires access
to a particular file or application. The server then verifies the request to ensure it comes from a device the system recognizes.
Once the server verifies client credentials, it downloads the information to the device. Client devices may share a network
with their host server or connect through the internet.
P2P model
- Peer-to-peer (P2P) is a decentralized communications model in which each party has the same capabilities and either party
can initiate a communication session.
Unlike the client-server model, in which the client makes a service request and the server fulfills the request, the P2P
network model enables each node to function as both a client and server.
P2P systems can provide anonymized routing of network traffic, massive parallel computing environments, distributed
storage and other functions. Most P2P programs focus on media sharing, so P2P mostly associates with software piracy and
copyright violation.
If peer-to-peer software isn't already set up, the user must do so before downloading the file. After setting up a peer-to-
peer application user virtual network, the user may then access the file. From several machines on the network that
already have the file, this file is downloaded in bit form.
Additionally, information is transferred from the user's computer to other computers connected to the network if those
other computers need the information that is on the user's computer.
- Servers have a passive role in client interaction, executing on each request and providing responses.
Figure 2 Sever
High performance computing
- High performance computing (HPC) is the practice of aggregating computing resources to gain performance greater than that
of a single workstation, server, or computer. HPC can take the form of custom-built supercomputers or groups of individual
computers called clusters. HPC can be run on-premises, in the cloud, or as a hybrid of both. Each computer in a cluster is
often called a node, with each node responsible for a different task. Controller nodes run essential services and coordinate
work between nodes, interactive nodes or login nodes act as the hosts that users log in to, either by graphical user interface
or command line, and compute or worker nodes execute the computations. Algorithms and software are run in parallel on
each node of the cluster to help perform its given task. HPC typically has three main components: compute, storage, and
networking.
- Parallel computing refers to the process of breaking down larger problems into smaller, independent, often similar parts that
can be executed simultaneously by multiple processors communicating via shared memory, the results of which are
combined upon completion as part of an overall algorithm. The primary goal of parallel computing is to increase available
computation power for faster application processing and problem solving.
- Cluster computing is a collection of tightly or loosely connected computers that work together so that they act as a single
entity. The connected computers execute operations all together thus creating the idea of a single system. The clusters are
generally connected through fast local area networks (LANs)
To handle the demands of computing, SLURM is a work scheduling application. A workload manager, it carries out the
following three tasks:
- A distributed computer system consists of multiple software components that are on multiple computers, but run as a single
system. The computers that are in a distributed system can be physically close together and connected by a local network, or
they can be geographically distant and connected by a wide area network. A distributed system can consist of any number of
possible configurations, such as mainframes, personal computers, workstations, minicomputers, and so on. The goal of
distributed computing is to make such a network work as a single computer.
Deployment model
Cloud Deployment Model functions as a virtual computing environment with a deployment architecture that varies
depending on the amount of data you want to store and who has access to the infrastructure.
Figure 5 Deployment model
- Public cloud: The public cloud makes it possible for anybody to access systems and services. The public cloud may be less
secure as it is open to everyone. The public cloud is one in which cloud infrastructure services are provided over the internet
to the general people or major industry groups. The infrastructure in this cloud model is owned by the entity that delivers the
cloud services, not by the consumer. It is a type of cloud hosting that allows customers and users to easily access systems and
services. This form of cloud computing is an excellent example of cloud hosting, in which service providers supply services to
a variety of customers. In this arrangement, storage backup and retrieval services are given for free, as a subscription, or on a
per-user basis. For example, Google App Engine.
Figure 6 Public cloud
- Private cloud: The private cloud deployment model is the exact opposite of the public cloud deployment model. It’s a one-
on-one environment for a single user (customer). There is no need to share your hardware with anyone else. The distinction
between private and public clouds is in how you handle all of the hardware. It is also called the “internal cloud” & it refers to
the ability to access systems and services within a given border or organization. The cloud platform is implemented in a
cloud-based secure environment that is protected by powerful firewalls and under the supervision of an organization’s IT
department. The private cloud gives greater flexibility of control over cloud resources.
Figure 7 Private cloud
- Hybrid Cloud: By bridging the public and private worlds with a layer of proprietary software, hybrid cloud computing gives
the best of both worlds. With a hybrid solution, you may host the app in a safe environment while taking advantage of the
public cloud’s cost savings. Organizations can move data and applications between different clouds using a combination of
two or more cloud deployment methods, depending on their needs.
Figure 8 Hybrid Cloud
- Community Cloud: It allows systems and services to be accessible by a group of organizations. It is a distributed system that is
created by integrating the services of different clouds to address the specific needs of a community, industry, or business.
The infrastructure of the community could be shared between the organization which has shared concerns or tasks. It is
generally managed by a third party or by the combination of one or more organizations in the community.
Figure 9 Community Cloud
Characteristic of cloud
There are many characteristics of Cloud Computing here are few of them :
1. On-demand self-services: The Cloud computing services does not require any human administrators, user themselves are
able to provision, monitor and manage computing resources as needed.
2. Broad network access: The Computing services are generally provided over standard networks and heterogeneous devices.
3. Rapid elasticity: The Computing services should have IT resources that are able to scale out and in quickly and on a need
basis. Whenever the user require services it is provided to him and it is scale out as soon as its requirement gets over.
4. Measured service: The resource utilization is tracked for each application and occupant, it will provide both the user and
the resource provider with an account of what has been used. This is done for various reasons like monitoring billing and
effective use of resource.
5. Multi-tenancy: Cloud computing providers can support multiple tenants (users or organizations) on a single set of shared
resources.
Scenario
ATN is Vietnam's leading company in making toys for children and teenagers nationwide. The company has revenue of over
$500,000/year. Currently each store has its own database to store transactions unique to that store. Each store must send monthly
sales data to the board of directors, and the board manager needs a lot of time to synthesize the data collected from all the stores.
Additionally, the board cannot view real-time stock information updates.
Explain why ATN should use cloud?
- ADVANTAGES OF CLOUD COMPUTING
Cost savings: Using cloud computing helps users minimize initial infrastructure investment costs such as purchasing
hardware, software, system installation, etc.
Convenience: Users can access and use resources via the internet quickly without complicated installation.
Safe and continuous: All data is synchronized on the cloud to help ensure higher safety, avoiding data loss due to hard drive
damage. In addition, the provider will perform regular backups and have security methods to effectively protect data.
Deploy anywhere quickly: With just a few simple steps you can deploy anywhere. This means users will have a good
experience with lower latency.
Reduce complexity in the business structure: By outsourcing the work of setting up and operating the IT system, the business
will only have to focus on its expertise and reduce the complexity in the structure.
Increase the ability to use computing resources: One of the headache questions when investing in resources such as servers
is how long it will take to depreciate, will it be profitable or not... When using resources on the cloud clouds, you no longer
have to worry about these things anymore.
To make the most use of this computing type, a company should opt for a model that suits it best. To choose the right one for you,
you’ll need to consider your computing, networking and storage requirements, available resources and business goals, as well as the
pros and cons of cloud deployment models.
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.
b) 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
IaaS
- Benefits of IaaS is an efficient and cost-effective way to deploy, operate, and scale your IT infrastructure. It’s easy to set up
and configure, so you can start using it quickly. And because it’s available as a service from an external provider, you don’t
have to worry about building and maintaining your own infrastructure. IaaS offers the following benefits:
Cost savings: IaaS is more cost-effective than building your own data center. You pay only for what you need — storage
space, CPU power, bandwidth, and other resources. This makes it easier to scale up or down as needed.
On-demand access: You can instantly provision new resources whenever they’re needed without having to invest in new
hardware and software or hire additional IT staff members. The cloud provider takes care of all the maintenance and
upgrades required to keep your servers online 24/7 with 99 percent uptime guarantees (or better).
Flexibility: With cloud computing, you can easily add more resources when demand increases without having to upgrade
equipment or hire more IT professionals.
- Disadvantages of laaS
Limited infrastructure control: Although IaaS providers normally handle upkeep, upgrades, and management of the
underlying infrastructure, this might also imply that users have less control over the environment and might not be able to
make some adjustments.
Security issues: Users must take responsibility for protecting their data and apps, which can be very demanding.
Restricted access: Owing to legal regulations, cloud computing may not be available in some states or nations.
PaaS
- Benefits of PaaS
PaaS is an easy way to build an application, and it offers a lot of benefits. Here are just a few:
Faster development time – You don’t have to build infrastructure before you can start coding.
Reduced costs – Your IT department won’t need to spend time on manual deployments or server management.
Enhanced security – PaaS providers lock down your applications so that they’re more secure than traditional web apps.
High availability – A PaaS provider can make sure your application is always available, even during hardware failures or
maintenance windows.
- Disadvantages of Paas
Limited infrastructure control: Although PaaS providers normally handle upkeep, upgrades, and management of the
underlying infrastructure, this might also imply that users have less control over the environment and may not be able to
make certain adjustments.
Dependency on the provider: Customers rely on the PaaS provider to maintain the platform’s scalability, availability, and
dependability; however, this poses a risk if the provider encounters disruptions or other problems.
Restricted flexibility: The usefulness of PaaS solutions for some organizations may be limited if they cannot handle particular
workloads or applications.
SaaS
- The benefits of SaaS are numerous and varied. Many businesses have already made the switch to SaaS, but some are still
skeptical about making the change. Here are some of the top reasons why you should consider switching to SaaS:
Lower Total Cost of Ownership: One of the biggest benefits of SaaS is that it lowers your total cost of ownership (TCO) by
eliminating hardware expenses and maintenance costs. There is no longer a need to buy servers or hire IT professionals to
maintain or monitor them, which results in fewer upfront costs and reduced maintenance fees over time.
Better Security: Another benefit of SaaS is improved security. Since most services are hosted on secure servers in data
centers with 24/7 monitoring, there’s less chance for hackers to gain access or steal your data. This makes SaaS a more
secure option for storing sensitive information than other options like on-premise software or local servers. In fact, according
to Gartner’s 2017 Magic Quadrant report, “Software as a service (SaaS) offerings provide better security than self-hosted
software does.”
- Disadvantages of Saas
Limited customization: SaaS solutions are usually less customizable than software that is hosted on-premises. As a result,
customers may not be able to customize the program to meet their unique requirements and may be forced to operate
within the platform limitations of the SaaS provider.
Dependency on Internet connectivity: Since SaaS solutions are usually cloud-based, a steady Internet connection is necessary
for them to operate as intended. Users who need to access the software offline or in places with spotty connectivity may find
this troublesome.
Security issues: Although SaaS providers are in charge of ensuring the security of the information kept on their servers,
security incidents and data breaches are still a possibility.
Limited control over data: Organizations who must maintain stringent control over their data for regulatory or other reasons
may be concerned that SaaS providers may have access to a user’s data.
Which progaming language should be used?
- Python and Java are languages that are practical for web developers. Python and Java both have simple syntax and support
multiple platforms. Python is open-source and has a huge community that provides support. These languages have
tremendous libraries that are useful for web development.
- HTML, CSS, and JavaScript are essential languages for front-end development, such as creating web pages. Developers can
also use JavaScript for back-end programming as well.
- Python, PHP, and JavaScript are three powerful languages for back-end development. JavaScript is one of the most
trustworthy backend languages for server-side architecture. It offers rich interfaces, online availability, and is also increasing
in popularity. PHP is considered a simple backend programming language for web development. PHP is known for its server-
side capabilities, high flexibility, and conjunction with HTML, XML, and JavaScript. Python is an object-oriented language that
supports functionality for web automation and scraping. This language can be quite helpful for managing and analyzing data.
Compare the service models for choosing an adequate model for a given scenario. (P4)
Which database should be used?
Figure 10 Database
which cloud platform should be used?
There are three possible cloud service models: PAAS, IAAS, SAAS. And we are in need of a service delivery so i will chose PAAS
because:
Benefits of PaaS
The primary benefit of PaaS is that it allows customers to build, test, deploy run, update and scale applications more quickly and
cost-effectively than they might if they had to build out and manage their own on-premises platform. Other benefits include:
Faster time to market: PaaS enables development teams to spin-up development, testing and production environments in minutes,
rather than weeks or months.
Low- to no-risk testing and adoption of new technologies: PaaS platforms typically include access to a wide range of the latest
resources up and down the application stack. This allows companies to test new operating systems, languages and other tools
without having to make substantial investments in them, or in the infrastructure required to run them.
Simplified collaboration: As a cloud-based service, PaaS provides a shared software development environment, giving development
and operations teams access to all the tools they need, from anywhere with an Internet connection.
A more scalable approach: With PaaS, organizations can purchase extra capacity for building, testing, staging and running
applications whenever they need it.
Less to manage: PaaS offloads infrastructure management, patches, updates and other administrative tasks to the cloud service
provider.
PaaS use cases
API development and management: With its built-in frameworks, PaaS makes it easier for teams to develop, run, manage and secure
APIs for sharing data and functionality between applications.
Internet of Things (IoT): PaaS supports a range of programming languages (Java, Python, Swift and more), tools and application
environments used for IoT application development and real-time processing of data from IoT devices.
Agile development and DevOps: PaaS solutions typically cover all the requirements of a DevOps toolchain, and provide built-in
automation to support continuous integration and continuous delivery (CI/CD).
Cloud-native development and hybrid cloud strategy: PaaS solutions support cloud-native development technologies—
microservices, containers, Kubernetes, serverless computing—that enable developers to build once, then deploy and manage
consistently across private cloud, public cloud and on-premises environments.
Conclusion
In the end, I came to the conclusion that cloud computing is a novel approach that may satisfy the demands of the ATN firm, but in
addition, the organization must be aware of, consider, and get ready for the planet. Resources for issues that could arise throughout
the project's operation and development in the company's day-to-day operations.
References
[1] Malegaonkar, A. (2022) Challenge winners explore possibilities for building hybrid cloud applications, Cisco Blogs. Available
at: https://blogs.cisco.com/developer/challenge-winners.
[2] Advantages of Cloud Computing | google cloud (N.D) Google. Available at:
https://cloud.google.com/learn/advantages-of-cloud-computing.
[5] Murch, R. (no date) Autonomic computing, O’Reilly Online Learning. Available at:
https://www.oreilly.com/library/view/autonomiccomputing/013144025X/013144025X_ch11lev1sec3.html
[6] Parallel computing and its modern uses: HP® Tech takes (N.D) Parallel Computing and Its Modern Uses | HP® Tech Takes.
Available at: https://www.hp.com/us-en/shop/tech-takes/parallelcomputing-and-its-modern-uses