ASSIGNMENT 2
Qualification
BTEC Level 5 HND Diploma in Computing
Unit number and title
Unit 16: Cloud Computing
Submission date
Date Received 1st submission
Re-submission Date
Date Received 2nd submission
Student Name
Ngo Truong Duy Cong
Student ID
GCD210309
Class
GCD1102
Assessor name
Tran Thanh Truc
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
P5
P6
P7
P8
M3
M4
Duy Cong
D2
D3
Summative Feedback:
Grade:
Assessor Signature:
Internal Verifier’s Comments:
Signature & Date:
Resubmission Feedback:
Date:
Table of Contents:
A. Introduction_________________________________________________________________________5
B. Design_____________________________________________________________________________5
I. Overview functions_________________________________________________________________5
1. Solution________________________________________________________________________5
2. Use-case diagram:________________________________________________________________5
3. Webapp screenshots:______________________________________________________________6
II. Code implement and deploy process (P6)________________________________________________9
1.Tool and frameworks:______________________________________________________________9
2. Deploy________________________________________________________________________11
III. Difficulties which one can face during the development process. (P7)_______________________14
C. Security___________________________________________________________________________16
I. Some issue of Cloud computing platform_______________________________________________16
1. Public Cloud___________________________________________________________________16
1. Data Loss/Leakage_______________________________________________________________17
3. Organization:___________________________________________________________________18
Table of Figures:
Figure 1: Use-case diagram_______________________________________________________________5
Figure 2: Home page____________________________________________________________________6
Figure 3: Toy inventory__________________________________________________________________7
Figure 4: Thing that happen if we hit the button Delete_________________________________________7
Figure 5: Add toy_______________________________________________________________________8
Figure 6: Update toy information UI________________________________________________________8
Figure 7: IDE visual studio code___________________________________________________________9
Figure 8: Using github to manage source code_______________________________________________10
Figure 9: Database server_______________________________________________________________10
Figure 10: Dowload nodejs______________________________________________________________11
Figure 11: Connect to DB_______________________________________________________________12
Figure 12: Create DB___________________________________________________________________12
Figure 13: Create new repository_________________________________________________________13
Figure 14: My git repository_____________________________________________________________13
Figure 15: Template engine______________________________________________________________15
A. Introduction
We discussed several fundamental cloud computing concepts in the last paper. In accordance with the
method, I offered in the last report, we will create a web application in the cloud today. A web application
utilizing Node.js and mongodb as the database exists. These projects will be made available online with
Heroku.
B. Design
I. Overview functions
1. Solution
We have chosen cloud computing, after clearly analyzing the needs of businesses as well as the benefits
that cloud computing brings. Implementation will be detailed in this report.
2. Use-case diagram:
Figure 1: Use-case diagram
3. Webapp screenshots:
3.1. Home page
Figure 2: Home page
This is the first interface when using the website. It will show product and a navbar for menu list of
function.
3.2. /me/stored/courses
Figure 3: Toy inventory
This screen displays a list of items. To display a list for each interface. We'll have a table to display every
item characteristic. Two function will be in the last column. Update function is the anchor ’edit’ . The
delete option.
Figure 4: Thing that happen if we hit the button Delete
3.3. /courses/create
Figure 5: Add toy
3.4. /courses/:id/edit
Figure 6: Update toy information UI
This view will appear when you click on the word “edit” icon in the product list. At this interface, product
information will be displayed and users can update to suit their needs. This functionality is available to
both
categories and suppliers
Configure a Cloud Computing platform with a cloud service provider’s framework (P5)
Step 1: Login to Mongodb atlas
Step 2: Create new cluster then select driver and driver version then copy the connection string below
Step 4: Add IP
Step 5: paste the connection string into URI blank and change username and password in correct format
Step 6: Now we just hit the button Connect we’ll appear in Mongodb compass UI to manage own
data
II. Code implement and deploy process (P6)
1.Tool and frameworks:
1.1. IDE
I use Visual Studio Code because:
It is very light in weight and takes very little time to start.
Support many other programming different include a lot of extensions, open source
Many shortcuts are available to make the job easy.
Visual Studio Code support terminal command for Heroku CLI and Git CLI.
Figure 7: IDE visual studio code
1.2. Frameworks:
I'll be using the express framework for this project. Express is a lightweight and adaptable Node.js web
application framework that gives both online and mobile apps access to a robust feature set. Making a
strong API is quick and simple with the abundance of HTTP utility methods and middleware construction
at your disposal. Express offers a wide range of fundamental web application functionalities without
hiding the beloved Node.js features from view.
1.3. Source code manager
Github will help me manage and share source with other members of the project team. It also helps in
storing
and also backing up source code.
Figure 8: Using github to manage source code
1.4. Database server:
I'm going to use mongodb as my database for my project because: - It supports online databases, and all
you need to do is create a mongodb account and install mongo atlas to acquire a connection link.
- Storage that prioritizes documents Data is kept as documents in the JSON format.
- Extra security.
- The database is NoSQL.
Figure 9: Database server
2. Deploy
2.1 Config framework express on the env
Express is a framework of nodejs, therefore the first thing which we need to do is download and install
nodejs.
Figure 10: Dowload nodejs
After finish the first stage, we need to create project and user terminal command to install express with
Node package manager: npm install express. And check it in package.json file
2.2 Config and connect with mongodb
The next stage is connect to database. In this project, we will use mongodb atlas because it's more
suitable for the project than setting up mongodb in local. Therefore we need to create mongodb atlas
account
Step 1: Connet to the mongodb server
Figure 11: Connect to DB
Step 2: Create new datebase and fill the DB name, collection name then hit the button create DB
Figure 12: Create DB
2.3 Config git and upload file to github
During web application development, I need to use Github to manage source and deploy it in heroku to
test. For each project, I will create one repository to manage
Figure 13: Create new repository
Then sync then folder with github by following command:
- git init
- git remote add origin
You can find the source code in your repository in github if upload successful
Figure 14: My git repository
III. Difficulties which one can face during the development process. (P7)
When I create and carry out this project, I encounter several challenges. But I did my homework and
discovered how to repair it. I'll outline some challenges I've faced in this section and explain how I
overcame them.
1. Programming:
a. Difficulties:
Aside from the fact that this is my first time using it, I made a lot of blunders throughout creation. Nodejs
has far too many frameworks, such as Express, NestJs, SailJs, and KoaJs. Each framework has its own set
of advantages and disadvantages. This leaves me perplexed when it comes to selecting the best framework
for the project. After selecting an appropriate framework, we must select a suitable view engine... Because
Nodejs is an open source platform, it has the advantage of a large community of resources, unlike other
closed platforms such as asp, javaspring, and so on. This leads to discrepancy in library name. When
looking for instructional articles, it might be difficult to discern between these libraries because they all
have parallels and differences.
During the first use, when I don’t remember the exactly name of handlebars and only install handlebar
library but it's still work till I have some bugs and need to uninstall and reinstall handlebars. Each library
has its own specific syntax,
so I confused a lot when looking up their functions.
Next, I ran into a problem working with the view engine. Different from writing server side and client-side
code together in one file. Source Code is structured in a model that is almost equivalent to MVC. Hence
transferring the data between my view and routes in the early stages encountered some difficulties.
b. Solution:
When confronted with the aforementioned issues, the first thing I did was to re-learn how nodejs works.
By Understanding the fundamental terms as well as the operational principles, I weighed the advantages
and drawbacks before deciding on express as the framework for the project. Then I choose the hbs view
engine since its syntax and keywords are simple to understand. Furthermore, because hbs has a large user
base, it is simple to find information. because nodejs has inconsistent library name. So I'll just read the
nodejs homepage's articles and documentation.
Also, when checking instructions on forums, I need to know which library I'm using. For example, I have
two libraries with handlebars view engine: hbs and handlebars.
Figure 15: Template engine
C. Security (P8)
I. Some issue of Cloud computing platform
1. Public Cloud
a) Issue
Control failure. Out of reach when you outsource to the public cloud. Any configuration and other
components of IT administration are delegated to a group that is not involved in day-to-day operations.
Low security since data frequently shares a similar place; not as secure as other Cloud models.
b) Solution
Choose from reputable providers who have a clear policy and commitment to ensuring the security of your
information and your interests.
2. Private Cloud
a) Issue
Private clouds have strict restrictions on access.. when a company’s employees were working outside the
office, they have some difficulties to connect to the private cloud lead to securely access any applications,
data or files they needed from the company servers (Nayyar, 2019).
b) Solution
Use VPN, VPN has two main advantage in this case
Cost-effectively provide employees, wherever they are, with a secure connection to both the company’s
cloud and data center-based applications and data.
Authenticate users and ensure comprehensive, consistent security without having to purchase expensive
hardware or networking equipment, or add IT complexity.
3. Hybrid Cloud
a) Issue
Hybrid cloud is the combination of public cloud and private cloud. Therefore, it has all the issue of two
kind
cloud. In addition, the issue of technology and optimization also needs to be carefully considered (Nayyar,
2019).
b) Solution
Careful analysis of the size and usage of the system is required to come up with an appropriate model.
Depending on the size and scale of the system, we need to calculated about the security and technical
aspects
of the system is required in order to avoid technical errors and security mishaps.
II. Security issues and solution in cloud computing environment.
1. Data Loss/Leakage
Cloud-based environments make it easy to share the data stored within them. These environments are
accessible directly from the public Internet and include the ability to share data easily with other parties
via
direct email invitations or by sharing a public link to the data.
Although this is one of the primary benefits of the cloud, the simplicity with which data may be shared via
the cloud raises serious worries regarding data loss or leakage. In fact, 69 percent of enterprises cite this as
their primary cloud security concern. Data interchange via shared connections or the establishment of a
public cloud-based archive makes it available to anyone with link information, and there are unique tools
on the Internet for searching for these unsecured cloud installations.
Solution:
To protect the business's data from the aforementioned concerns of unauthorized discovery and
loss, the organization should implement a data security solution. This entire data security solution must
fulfill at least these requirements:
- Requirements for data categorization and standardization.
- Requirements for data confidentiality.
- Requirements for the capacity to monitor, identify, and prevent unwanted data transfer outside of the
company.
- Requirements for the solution set to operate effectively.
2. Physical Security Risk
The security measures are useless if an attacker can connect directly to the system. That way,
they'll be able to bypass the majority of security systems and third-party security services like cloudflare.
Besides,
criminals can directly harm the physical servers of the cloud
Solution:
The CSP must safeguard the physical location of the cloud data center to prevent unwanted on-site access
to CSC data. There should also be security protocols in place, such as system guards or supervisors. To
restrict access to critical data center sites, security methods such as fingerprint scanning, keycard access,
and biometric scans are available.