Unit 16.assignment Brief 1
Unit 16.assignment Brief 1
Class: GCS0905C
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
Grading grid
P1 P2 P3 P4 M1 M2 D1
Summative Feedback: Resubmission Feedback:
Page 4
ASSIGNMENT 1 BRIEF
Qualification BTEC Level 5 HND Diploma in Computing
Submission Format:
LO1 Demonstrate an understanding of the fundamentals of Cloud Computing and its architectures.
LO2 Evaluate the deployment models, service models and technological drivers of Cloud Computing and
validate their use.
Scenario
Page 5
ATN is a Vietnamese company which is selling toys to teenagers in many provinces all over Vietnam. The
company has the revenue over 700.000 dollars/year. Currently each shop has its own database to store
transactions for that shop only. Each shop has to send the sale data to the board director monthly and
the board director need lots of time to summarize the data collected from all the shops. Besides the
board can’t see the stock information update in real time.
1. As a developer, explain to the board director the fundamentals of cloud computing and how it is
popular nowadays(about 2500 words)
2. Proposed solution (higher level solution description – around 700 words) and explain the
appropriateness of the solution for the scenario (about 400 words with images and
diagrams)which might include:
a. Architectural design (architectural diagram and description).
b. Detailed design:
i. Deployment model (discussion on why that model was chosen).
ii. Service model (discussion on why that model was chosen).
iii. Programming language/ webserver/database server chosen.
3. Summary.
General guidelines:
Page 6
Learning Outcomes and Assessment Criteria
P2 Design an appropriate
architectural Cloud Computing
framework for a given scenario.
Page 7
virtual servers and cloud storage devices. Besides the core automated scaling listener and
resource replication mechanisms, the following mechanisms can also be used in this form
of cloud architecture:
• Cloud Usage Monitor – Specialized cloud usage monitors can track runtime usage
in response to dynamic fluctuations caused by this architecture.
• Hypervisor – The hypervisor is invoked by a dynamic scalability system to create or
remove virtual server instances, or to be scaled itself.
• Pay-Per-Use Monitor – The pay-per-use monitor is engaged to collect usage cost
information in response to the scaling of IT resources.
Page 8
Table of content
P1. Analyze the evolution and fundamental concepts of Cloud Computing. ........................................... 10
Definition of cloud computing ................................................................................................................... 10
The evolution of cloud computing ............................................................................................................ 10
Fundamental concepts of cloud computing ............................................................................................. 15
P2. Design an appropriate architectural Cloud Computing framework for a given scenario. .............. 16
Deployment model...................................................................................................................................... 23
Service models ............................................................................................................................................ 28
P3. Define an appropriate deployment model for a given scenario. ......................................................... 21
Reasons to employ cloud computing ........................................................................................................ 21
The deployment model should be used .................................................................................................... 27
P4. Compare the service models for choosing an adequate model for a given scenario. ........................ 28
The service model should be used ............................................................................................................. 32
The programming language should be used ............................................................................................ 34
The database should be used ..................................................................................................................... 36
A cloud platform that should be used ...................................................................................................... 38
References ....................................................................................................................................................... 41
Page 9
Assignment 1
(Peterson, 2022)
These are made up of numerous separate systems that are presented to consumers as a single entity. The goal
of distributed systems is to share resources while still making effective and efficient use of them. Scalability,
concurrency, continuous availability, heterogeneity, and failure independence are all properties of distributed
systems. The fundamental issue with this system was that all of the systems had to be present in the same
geographical place. To address this issue, distributed computing gave rise to three new forms of computing:
mainframe computing, cluster computing, and grid computing.
Page 10
Figure 2: Example of distributed system
(Pandey, 2022)
Mainframe computing
Mainframe computers, which first appeared in 1951, are extremely powerful and dependable computing
equipment. These are in charge of managing vast amounts of data, such as massive input-output procedures.
Even today, computers are employed for large-scale processing jobs like internet transactions. With great
fault tolerance, these systems have essentially no downtime. These boosted the system's processing
capability after distributed computing. However, these were too pricey. Cluster computing emerged as a
cost-cutting alternative to mainframe technology.
(Pandey, 2022)
Page 11
Cluster computing
Cluster computing emerged as an alternative to mainframe computing in the 1980s. Each machine in the
cluster was linked to the others through a high-bandwidth network. These were far less expensive than
mainframe systems. These were also capable of doing complex calculations. In addition, more nodes might
be readily added to the cluster if necessary. Thus, the cost issue was addressed to some extent, but the issue
of geographical constraints remained. Grid computing was created to address this issue.
(Pandey, 2022)
Grid computing
Grid computing was first presented in the 1990s. It means that separate systems were installed in completely
different geographical places and were all linked together over the internet. Because these systems belonged
to various organizations, the grid was made up of a variety of nodes. Although it alleviated certain issues,
other issues arose as the distance between the nodes increased. The major issue that was experienced was a
lack of high bandwidth connectivity, as well as other network-related concerns. As a result, cloud computing
is frequently referred to as the "successor to grid computing."
Page 12
Figure 5: Example of grid computing
(Pandey, 2022)
Virtualization
It was first presented about 40 years ago. It refers to the technique of constructing a virtual layer over
hardware that allows the user to run numerous instances on the hardware at the same time. It is a critical
technology in cloud computing. It serves as the foundation for key cloud computing services such as
Amazon EC2, VMware vCloud, and others. One of the most prevalent forms of virtualization is hardware
virtualization.
(Pandey, 2022)
Page 13
Service orientation
It serves as a model for cloud computing. It enables low-cost, adaptable, and scalable solutions. This
computer model introduced two crucial elements. Quality of Service (QoS), which includes the SLA
(Service Level Agreement), and Software as a Service were among them (SaaS).
(Pandey, 2022)
Utility computing
It is a computing paradigm that describes service provisioning mechanisms for compute services as well as
other significant services like as storage, infrastructure, and so on, all of which are provided on a pay-per-use
basis.
Page 14
Figure 8: Example of utility computing
(Pandey, 2022)
• On-Demand Self-Service:
Cloud services do not require any human administrators or assistance; users may provide and manage
computer resources as needed.
Page 15
• Broad Network Access:
Computing services are typically delivered across ordinary networks and disparate devices.
• Resource Pooling:
The IT resources (e.g., compute, networks, storage, apps, and databases) available are shared in an ad hoc
way between many applications and occupiers. Multiple customers receive services from the same physical
cloud resource.
• Rapid Elasticity:
Computing services should have IT resources that can expand out fast and on demand. When a user demands
services, they are delivered to him, and they are scaled out as soon as the user's requirement is met.
• Measured Service:
The resource use for each application and tenant is tracked and monitored; it will provide both the user and
the resource supplier, and they will be held accountable for what they have used. This is done for a variety of
reasons, including billing monitoring, security concerns, and resource efficiency.
(Jain, 2021)
Page 16
Front end
The client makes use of the front end. It includes the client-side interfaces and applications needed to use
cloud computing services. Web servers (including Chrome, Firefox, Internet Explorer, and others), thin and
fat clients, tablets, and mobile devices comprise the front end.
Back end
The service provider makes use of the back end. It oversees all of the resources necessary to deliver cloud
computing services. It has a massive quantity of data storage, security methods, virtual machines,
deployment models, servers, traffic management systems, and so on.
• Utilization
The application might be any program or platform that the customer wishes to use.
• Assistance
A Cloud Service handles which sort of service you access based on the client's needs.
Page 17
• Runtime Cloud
The execution and runtime environment for virtual machines is provided by Runtime Cloud.
• Storage
One of the most significant aspects of cloud computing is storage. It offers a massive quantity of
cloud storage space for storing and managing data.
• Infrastructure
It offers services at the host, application, and network levels. Servers, storage, network devices,
virtualization software, and other storage resources are examples of cloud infrastructure.
• Management
Management is used to manage and coordinate backend components such as application, service,
runtime cloud, storage, infrastructure, and other security problems.
• Security
Cloud computing has security as a built-in back end component. In the back end, it implements a
security mechanism.
• Internet
The Internet serves as a channel for front end and back end interaction and communication.
(JavaTpoint, 2021)
Page 18
IT resources may be horizontally scaled by combining one or more similar IT resources with a load balancer
that offers runtime logic capable of dividing the burden evenly across the available IT resources. The
resultant workload distribution architecture decreases both over- and under-utilization of IT resources to
varying degrees depending on the sophistication of the load balancing algorithms and runtime logic.
The dynamic scalability architecture is a design concept that is based on a set of predetermined scaling
circumstances that trigger the dynamic allocation of IT resources from resource pools. Because superfluous
IT resources are efficiently reclaimed without needing manual intervention, dynamic allocation permits
flexible use as determined by consumption demand changes.
Workload thresholds are specified in the automatic scaling listener to determine when new IT resources
should be introduced to the workload processing. Based on the parameters of a certain cloud consumer's
provisioning contract, this method may be configured with logic that decides how many more IT resources
can be dynamically offered.
Page 19
The elastic resource capacity architecture is primarily concerned with the dynamic provisioning of virtual
servers, which is accomplished via the use of a system that allocates and reclaims CPUs and RAM in real
time in response to the varying processing needs of hosted IT resources.
This fundamental architectural concept is applicable to any IT resource, with workload distribution most
typically used to support distributed virtual servers, cloud storage devices, and cloud services. Load
balancing systems applied to particular IT resources typically result in customized modifications of this
design that contain load balancing characteristics such as:
In addition to the base load balancer mechanism and the virtual server and cloud storage device mechanisms
that can be used for load balancing, the following mechanisms can be included in this cloud architecture:
Page 20
Audit Monitor – When dispersing runtime tasks, the kind and geographic location of the IT resources that
process the data might affect whether monitoring is required to meet legal and regulatory obligations.
Cloud Usage Monitor - Various monitors may be used to track runtime workloads and process data.
Hypervisor - Workloads between hypervisors and the virtual servers they host may need to be distributed.
Logical Network Perimeter - The logical network perimeter defines the limits of cloud consumer networks in
terms of how and where workloads are delivered.
Resource Cluster – Clustered IT resources in active/active mode are extensively employed in resource
clusters to help with task balancing amongst cluster nodes.
Resource Replication - In response to runtime workload distribution requests, this method can produce new
instances of virtualized IT resources.
In order to tackle these issues, the company should use cloud computing to address these problems.
To be more persuasive:
• Scalability:
With cloud hosting, it is simple to increase and decrease the number and size of servers as needed. This is
accomplished by either boosting or lowering the cloud's resources. The flexibility to change programs in
response to changes in business size and demands is a fantastic feature of cloud computing, especially when
facing a surge in demand.
Page 21
• Instant:
• Save money:
One advantage of cloud computing is that hardware expenditures are reduced. Instead of acquiring in-house
equipment, hardware requirements are outsourced to a vendor. New hardware may be enormous, costly, and
difficult for firms that are fast expanding. Cloud computing solves these problems by making resources
available fast and easily. Furthermore, the expense of maintaining or replacing equipment is passed on to the
suppliers. In addition to purchasing prices, off-site hardware reduces internal power costs and saves space.
Large data centers may consume valuable office space and generate a lot of heat. Moving to cloud apps or
storage can assist maximize space while dramatically reducing energy costs.
• Reliability:
Instead of being housed on a single instance of a physical server, hosting is provided on a virtual partition
that pulls its resources, such as disk space, from a large network of underlying physical servers. If one server
fails, it has no effect on availability since the virtual servers continue to draw resources from the remaining
network of servers.
• Physical Security:
Because the underlying physical servers are still hosted within data centers, they benefit from the security
measures put in place by those facilities to prevent unauthorized access or disruption.
• Outsourcing Management:
Someone else handles your IT infrastructure while you run the business. You do not need to be concerned
with management or upgrading.
(Sai, 2022)
Page 22
Deployment model
The cloud deployment model specifies the sort of cloud environment based on ownership, scalability, and
access, as well as the nature and purpose of the cloud. A cloud deployment model defines the location of the
servers you're using and who owns them. It describes the appearance of your cloud infrastructure, what you
may alter, and whether you will be provided with services or must design everything yourself. Cloud
deployment types also establish the relationships between the infrastructure and your users.
• Public cloud
• Private cloud
• Hybrid cloud
• Community cloud
• Multi-cloud
(Collge, 2022)
Public cloud
Anyone may use the public cloud to access systems and services. Because it is exposed to everybody, the
public cloud may be less secure. The public cloud is one in which cloud infrastructure services are made
available to the general public or significant industrial organizations over the internet. In this cloud model,
the infrastructure is controlled by the organization that provides the cloud services, not by the user. It is a
sort of cloud hosting that enables clients and users to quickly and easily access systems and services. This
type of cloud computing is a great example of cloud hosting, where service providers give services to a wide
range of consumers. Storage backup and retrieval services are provided for free as part of a subscription
under this arrangement.
Page 23
Figure 10: Example of public cloud
(Collge, 2022)
Private cloud
The public cloud deployment paradigm is diametrically opposed to the private cloud deployment model. It is
a one-on-one setting for a single user (customer). It is not necessary to share your hardware with anyone.
The contrast between private and public clouds is in how all of the hardware is handled. The capacity to
access systems and services within a certain border or organization is referred to as the "internal cloud." The
cloud platform is deployed in a secure cloud environment secured by robust firewalls and overseen by an
organization's IT staff.
The private cloud allows for better control over cloud resources.
(Collge, 2022)
Page 24
Hybrid cloud
Hybrid cloud computing provides the best of both worlds by linking the public and private worlds with a
layer of proprietary software. With a hybrid solution, you may host the app in a secure environment while
benefiting from the cost benefits of the public cloud. Depending on their needs, organizations can migrate
data and applications between clouds by combining two or more cloud deployment strategies.
(Collge, 2022)
Community cloud
It enables a collection of businesses to access systems and services. It is a distributed system formed by
combining the services of many clouds to meet the special demands of a community, industry, or enterprise.
The community's infrastructure might be shared by organizations with similar interests or duties. It is often
handled by a third party or a collaboration of one or more community organizations.
Page 25
Figure 13: Example of community cloud
(Collge, 2022)
Multi-cloud
As the name indicates, we're talking about using numerous cloud providers at the same time under this
paradigm. It is comparable to the hybrid cloud deployment strategy, which blends public and private cloud
resources. Instead of combining private and public clouds, multi-cloud makes use of a large number of
public clouds. Despite the fact that public cloud companies provide several methods to increase the
dependability of their services, errors can occur. It's unusual for two separate clouds to have an incidence at
the same time. As a result, multi-cloud deployment boosts your services' high availability even more.
(Collge, 2022)
Page 26
The deployment model should be used
In my opinion, the ATN firm should employ the public cloud computing model, because:
Figure 15: Example of the deployment model of cloud computing should be used
The public cloud is a widely used cloud paradigm in which the cloud services provider controls the
infrastructure and freely makes it available to the public for consumption.
Because the service provider controls the hardware and underlying networking infrastructure, it has
complete control. The service provider is in charge of the physical security, upkeep, and administration of
the data center where the infrastructure is housed. As a result, the underlying infrastructure is outside the
customer's control and also remote from the customer's actual location.
The cloud service provider will share infrastructure across various clients while keeping data distinct and
separated and will provide numerous layers of security controls if this is a concern. Some services, generally
at an additional expense, can be hosted on dedicated or isolated hardware. Cloud providers go to great pains
to guarantee physical data centers are extremely safe and highly regulated environments, virtually usually
exceeding client expectations.
Infrastructure is generally maintained using a web browser, but it may also be modified through an API, the
command line, or infrastructure-as-code tools such as Terraform.
Microsoft Azure, Amazon AWS, Google Cloud, Oracle Cloud, and Alibaba Cloud are examples of popular
public clouds.
Page 27
Figure 16: Example of popular public clouds
(Roper, 2022)
• Minimal Investment:
Because it is a pay-per-use service, there is no large upfront investment, which makes it ideal for
businesses that need rapid access to resources.
• There is no startup fee:
The whole infrastructure is totally financed by the cloud service providers, therefore no hardware is
required.
• There is no need for infrastructure management:
Using the public cloud eliminates the need for infrastructure management.
• There is no maintenance:
Because the service provider performs it (Not users).
• Scalability on the fly:
On-demand resources are available to meet your company's requirements.
(Collge, 2022)
P4. Compare the service models for choosing an adequate model for
a given scenario.
Service models
Cloud computing is the technique of storing, managing, and processing data on a network of remote
computers housed on the Internet rather than a local server or a personal computer. Cloud providers are
companies that provide such cloud computing services and often charge for cloud computing services
depending on consumption. Cloud computing is built on the foundations of grids and clusters.
Page 28
There are three kinds of cloud computing service models:
SaaS
SaaS (Software-as-a-Service) is a method of delivering services and applications through the Internet.
Instead than installing and maintaining software, we just use the Internet to access it, liberating ourselves
from the complexities of software and device maintenance. It eliminates the need to install and operate apps
on our own computers or in data centers, saving money on hardware and software maintenance.
SaaS is a comprehensive software solution that you acquire from a cloud service provider on a pay-as-you-
go basis. Most SaaS apps may be accessed immediately through a web browser, with no need for downloads
or installs. SaaS applications are also known as Web-based software, on-demand software, and hosted
software.
Advantages of SaaS:
• Cost-Effective:
Only paying for what you use.
• Reduced time:
Page 29
Users save time since most SaaS programs may be run immediately from their web browser without
the need to download and install any software. This decreases the time spent on installation and
configuration, as well as the complications that may arise during software distribution.
• Accessibility:
We have access to app data from any location.
• Automatic updates:
Customers rely on a SaaS provider to automatically execute upgrades rather than purchasing new
software.
• Scalability:
It enables consumers to access services and features as needed.
PaaS
PaaS is a type of cloud computing that provides a platform and environment for developers to construct apps
and services that can be accessed over the internet. PaaS services are hosted in the cloud and may be
accessed via a web browser.
The hardware and software are hosted on the PaaS provider's own infrastructure. As a result, PaaS relieves
users of the need to install on-premises hardware and software in order to build or deploy a new application.
As a result, the application is developed and deployed independently of the hardware.
The consumer does not manage or control the underlying cloud infrastructure, such as the network, servers,
operating systems, or storage, but does have control over the installed apps and maybe the application-
hosting environment configuration settings.
Advantages of PaaS:
Page 30
• Simple and convenient for users:
It supplies most of the infrastructure and other IT services, which consumers may access from
anywhere using a web browser.
• Cost-effective:
It charges for services given per-user-use basis, removing the need for on-premises infrastructure and
software.
• Efficiently managing the lifecycle:
It is meant to enable the whole web application lifecycle, including creating, testing, deploying,
maintaining, and upgrading.
• Efficiency:
It enables higher-level programming with lower complexity, allowing for more effective application
development overall.
IaaS
Infrastructure as a service (IaaS) is a service paradigm that provides outsourced computer infrastructure to
support various processes. Typically, IaaS is a service in which infrastructure such as networking equipment,
devices, databases, and web servers are supplied as an outsourced service to businesses.
It is often referred to as Hardware as a Service (HaaS). Customers that utilize IaaS pay per user, generally by
the hour, week, or month. Customers may also be charged based on the quantity of virtual machine space
they utilize, according to certain providers.
It simply offers the underlying operating systems, security, networking, and servers for creating and
delivering such applications and services, as well as development tools, databases, and so on.
Page 31
Figure 19: Example of IaaS
Advantages of IaaS:
• Cost-Effective:
Eliminates capital expenses while lowering recurring costs, and IaaS users pay on a per-user basis,
generally by the hour, week, or month.
• Website hosting:
Using IaaS to host a website might be less expensive than traditional web hosting.
• Security:
The IaaS Cloud Provider's security may be superior to that of your present software.
• Maintenance:
There is no need to manage the underlying data center or introduce new versions of the development
or underlying software. The IaaS Cloud Provider handles all of this.
(Pandey, 2022)
Page 32
Figure 20: Comparison table of three service models
Figure 21: Example of the service model of cloud computing that should be used
Communication, material transmission, and meeting schedules are all made easier with SaaS. SaaS is an
excellent option for small organizations that lack the funds and resources to build on-premise hardware.
Furthermore, SaaS systems would be beneficial to businesses that demand regular communication on their
projects.
Besides that, there are some advantages of this model that is suitable for the company.
• Affordable:
SaaS is cost-effective because it reduces the expenditures associated with purchasing, installing,
maintaining, and upgrading computing hardware.
• Anywhere Accessibility:
Page 33
With SaaS, you may access the services from any location using any device, including smartphones,
removing the limits imposed by on-premise software.
• Ready to Use:
You can easily set up SaaS services to make them operational. You only need to sign up for the
service to have access to quick and powerful computing resources.
(Saratchandran, 2022)
Node.js is a runtime environment that allows JavaScript code to be executed in the backend. In summary,
whereas standard JavaScript runs in browsers, one of the key advantages of Node.js is the ability to construct
servers using the programming language. In brief, the primary goal of Node.js is to enable JavaScript
engineers to pursue full-stack development. As a result, the Node.js community strives to significantly
enhance the overall experience for many web developers. Depending on your requirements, the software
solution to the issue might be quite effective. Because the project is now open-source, there are no expenses
connected with obtaining a Node.js environment. As a result, you can now focus on the knowledge of your
professionals.
(Pletnov, 2022)
Page 34
Advantages of NodeJS:
Platforms such as GitHub provide a variety of interactive and thorough Node.js courses, tutorials, and
examples. These resources assist developers in better comprehending the runtime environment.
• Low complexity:
It is difficult to move between the back-end and front-end, especially when these components are
handled by separate engineers. The backend developer would submit their development design for
comments to the frontend engineer.
• Faster launch:
Node.js is a very light framework. The JS runtime environment shortens application development time,
allowing for more testing in less time. As a result, Node.js users may move swiftly from idea to product.
• Better scalability:
Node's scalability is due to a number of factors, including its capacity to balance loads and accommodate
several concurrent connections. Furthermore, Node.js programs enable both horizontal and vertical
scaling.
Furthermore, businesses may utilize Node.js to create a standalone framework that is independent of the
main system and then grows it separately.
• Community:
Page 35
Having a community has several advantages. A community can help you identify individuals who are
dealing with similar problems and answers. More significantly, communities may let you connect with
other experts in a node development community and get answers to your queries.
NPM (Node package manager) is used in the Node ecosystem to serve as modules for Node.js packages.
Members may use reusable templates, libraries, and modules to create any procedure they can imagine.
(Lawson, 2022)
MongoDB is an open-source document-oriented database that can hold a big amount of data while also
allowing you to deal with it extremely efficiently. It is classified as a NoSQL (Not simply SQL) database
since data in MongoDB is not stored and retrieved in the form of tables.
MongoDB is a database that was created and operated by MongoDB.Inc under the SSPL (Server Side Public
License) and was first published in February 2009. It also provides official driver support for all common
programming languages such as C, C++, C#, Java, Node.js, Perl, PHP, Python, Motor, and Ruby. As a
result, you may write an application in any of these languages.
(Saini, 2021)
Features of MongoDB:
Page 36
• Schema-less Database:
A schema-less database allows several types of documents to be stored in a single collection. In other
words, in the MongoDB database, a single collection may store numerous documents, each of which
can have a varied amount of fields, content, and size. It is not required for one document to be
comparable to another, as in relational databases. MongoDB's interesting feature gives databases a lot
of flexibility.
• Document Oriented:
In MongoDB, all data is kept in documents rather than tables as in RDBMS. In these documents, data
is kept in fields (key-value pairs) rather than rows and columns, making the data far more flexible
than in RDBMS. And each document has a distinct object id.
• Indexing:
Every field in the documents in the MongoDB database is indexed with main and secondary indices,
making it easier and taking less time to obtain or search data from the pool of data. If the data is not
indexed, the database must search each document individually with the supplied query, which takes a
long time and is inefficient.
• Scalability:
MongoDB offers horizontal scalability via sharding. Sharding is the process of distributing data over
numerous servers. A huge quantity of data is partitioned into data chunks using the shard key, and
these data pieces are distributed evenly across shards that exist across many physical servers. It will
also add additional machines to an already active database.
• Replication:
With the aid of replication, MongoDB enables high availability and redundancy by creating several
copies of the data and sending these copies to a separate server so that if one server fails, the data
may be accessed from another server.
• Aggregation:
Page 37
It allows you to conduct actions on aggregated data to obtain a single or calculated output. It is
analogous to the SQL GROUPBY clause. It offers three types of aggregations: aggregation pipelines,
map-reduce functions, and single-purpose aggregation techniques.
• High Efficiency:
MongoDB has superior speed and data permanence when compared to other databases due to
capabilities such as scalability, indexing, replication, and so on.
(Saini, 2021)
Advantages of MongoDB:
• It is a NoSQL database with no schema. When working with MongoDB, you do not need to design
the database schema.
• The join operation is not supported.
• It gives the fields in the papers a leeways.
• It contains a variety of data.
• It has a high level of performance, availability, and scalability.
• It effectively supports Geospatial.
• It is a document-oriented database that stores data as BSON documents.
• It also allows for multiple document ACID transitions (string from MongoDB 4.0).
• There is no need for SQL injection.
• It is simple to integrate with Big Data Hadoop.
(Saini, 2021)
Heroku is a cloud service provider and software development platform that enables the rapid and efficient
creation, deployment, and scalability of web applications. It has 140 built-in add-ons, ranging from alarms to
analytic tools and security services used for monitoring, caching, and mailing, as well as networking add-
ons.
Page 38
The tool has built-in quick run-time application services. Furthermore, you don't have to worry about
infrastructure because the program manages it automatically. Salesforce is the owner of Heroku.
(Taylor, 2022)
Features of Heroku:
(Taylor, 2022)
Advantages of Heroku:
Page 39
• a slew of helpful tools
• Scaling, configuration, setup, and other automated functions are available.
• Integration with other AWS products is simple.
• Secure access to Salesforce data to provide a unified view of the customer
(Taylor, 2022)
Page 40
References
Devi Bansal Collge, S., (2021). Cloud deployment model. [online] Available at:
https://www.geeksforgeeks.org/cloud-deployment-models/ [Accessed 9th Oct. 2022].
Jain, A., (2021). Cloud Fundamentals: Everything You Need To Know. [online] Available at:
https://k21academy.com/cloud-blogs/cloud-fundamentals/ [Accessed 9th Oct. 2022].
Roper, J., (2021). Which Cloud Deployment Model Is Right for Your Business? [online] Available at:
https://spacelift.io/blog/cloud-deployment-models [Accessed 9th Oct. 2022].
Saratchandran, V., (2022). Cloud Service Models Saas, IaaS, Paas – Choose the Right One for Your
Business. [online] Available at: https://www.fingent.com/blog/cloud-service-models-saas-iaas-paas-choose-
the-right-one-for-your-business/ [Accessed 9th Oct. 2022].
Peterson, R., (2022). What is Cloud Computing? Examples, Types & Benefits. [online] Available at:
https://www.guru99.com/what-is-cloud-computing-with-example.html [Accessed 9th Oct. 2022].
Lawson, F., (2022). 7 Advantages of Node.js to Startups You Must Know. [online] Available at:
https://www.turing.com/blog/node-js-advantages-to-startups/ [Accessed 9th Oct. 2022].
Pletnov, A., (2022). Node.js Advantages: Benefits of Using Node.js. [online] Available at:
https://keenethics.com/blog/what-are-the-advantages-of-node-js [Accessed 9th Oct. 2022].
Saini, A., (2021). What is MongoDB – Working and Features. [online] Available at:
https://www.geeksforgeeks.org/what-is-mongodb-working-and-features/ [Accessed 9th Oct. 2022].
Taylor, D., (2022). Heroku vs AWS: What is the Difference? [online] Available at:
https://www.guru99.com/heroku-vs-aws.html [Accessed 9th Oct. 2022].
Erl, T., (2014). Cloud computing concepts, technology, and architecture, pp. 251-261
Page 41
Page 42