ASSIGNMENT ASSIGNMENT - 2 CLOUD COMPUTING, Exercises of Computer Science

ASSIGNMENT ASSIGNMENT - 2 CLOUD COMPUTING

Typology: Exercises

2021/2022

Uploaded on 08/19/2022

ttph
ttph 🇻🇳

2 documents

1 / 20

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
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 D2 D3
2 | P a g e
Summative Feedback: Resubmission Feedback:
Grade:
Assessor Signature:
Date:
Internal Verifier’s Comments:
Signature & Date:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Partial preview of the text

Download ASSIGNMENT ASSIGNMENT - 2 CLOUD COMPUTING and more Exercises Computer Science in PDF only on Docsity!

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 D2 D 2 | P a g e  Summative Feedback:Resubmission Feedback: Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date:

3 | P a g e ASSIGNMENT 2 BRIEF Qualification BTEC Level 5 HND Diploma in Computing Unit number Unit 16: Cloud Computing Assignment title Cloud’s implementation and security threats Academic Year 2021 – 2022 Unit Tutor Issue date Submission date IV name and date Submission Format: Format: A report(in PDF format) You must use font Calibri size 12, set number of the pages and use multiple line spacing at 1.3. Margins must be: left: 1.25 cm; right: 1 cm; top: 1 cm and bottom: 1 cm. The reference follows Harvard referencing system. Submission Students are compulsory to submit the assignment in due date and in a way requested by the Tutors. The form of submission will be a soft copy posted on http://cms.greenwich.edu.vn/ Note: The Assignment must be your own work, and not copied by or from another student or from books etc. If you use ideas, quotes or data (such as diagrams) from books, journals or other sources, you must reference your sources, using the Harvard style. Make sure that you know how to reference properly, and that understand the guidelines on plagiarism. If you do not, you definitely get failed Unit Learning Outcomes: LO3 Develop Cloud Computing solutions using service provider’s frameworks and open source tools. LO4 Analyse the technical challenges for cloud applications and assess their risks Assignment Brief and Guidance: Task 1 4 | P a g e Base on the scenario and architecture design in the first assignment provide the implementation. Because of the time constraint of the assignment, the implementation just provides some demo functions of the

their risks P7 Analyse the most common problems which arise in a Cloud Computing platform and discuss appropriate solutions to these problems. P8 Assess the most common security issues in cloud environments. M4 Discuss how to overcome these security issues when building a secure cloud platform. D3 Critically discuss how an organisation should protect their data when they migrate to a cloud solution. 6 | P a g e Contents 1. INTRODUCTION .............................................................................................................................................. .......... 8 2. DESIGN ............................................................................................................................................................... ....... 8 2.1 OVERVIEW FUNCTION ........................................................................................................................................ 8 2.2 WEBSITE SCREEN SHOTS ..................................................................................................................................... 9

3. CODE IMPLEMENT AND DEPLOY PROCESS ............................................................................................................ 15 3.1. TOOLS AND FRAMEWORK ............................................................................................................................... 15

FRAMEWORK ....................................................................................................................................................

3.4 DATABASE

SERVER ............................................................................................................................................ 17

3.5 CLOUD COMPUTING

MODULE .......................................................................................................................... 18

DEPLOY .............................................................................................................................................................

4.1 CONFIG FRAMEWORK EXPRESS ON THE

ENV ................................................................................................... 18

4.2 CONFIGURE AND CONNECT TO

MONGODB ..................................................................................................... 19

4.3 CONFIGURE GIT AND UPLOAD FILES TO

GITHUB .............................................................................................. 22

4.4 DEPLOYING THE CODE ON THE HEROKU.

SERVER ........................................................................................... 24

4.5 CODE

IMPLEMENT ............................................................................................................................................ 28

4.6 SOURCE CODE AND

WEBSITE ........................................................................................................................... 28

5. DIFFICULTIES WHICH ONE CAN FACE DURING THE DEVELOPMENT

PROCESS. .................................................... 28

PROGRAMMING ................................................................................................................................................

DEBUGGING .....................................................................................................................................................

DEPLOYING .......................................................................................................................................................

SECURITY .........................................................................................................................................................

6.1 SOME ISSUE OF CLOUD COMPUTING

PLATFORM ............................................................................................ 31

Atlas ....................................................................................................... 20 Figure 21- Add IP Access List ....................................................................................................................................... 20 Figure 22-Create Database ......................................................................................................................................... 22 Figure 23-Connect to mongodb .................................................................................................................................. 22 Figure 24- Create new repository ............................................................................................................................... 23 Figure 25- Sync folder with repository ....................................................................................................................... 23 Figure 26-: Push code.................................................................................................................................................. 23 Figure 27- Git repository after push ........................................................................................................................... 24 Figure 28- Package- Json .............................................................................................................................................. 25 Figure 29- Setup app.listen and PORT ........................................................................................................................ 25 Figure 30-Create Herroku Web Application ............................................................................................................... 25 Figure 31-Add BuildPack nodejs ................................................................................................................................. 26 Figure 32-Connect heroku to github ........................................................................................................................... 26 Figure 33-Enter name's repository ............................................................................................................................. 27 Figure 34-Deploy a github branch .............................................................................................................................. 27 Figure 35-Heroku Web In Internet.............................................................................................................................. 28 Figure 36-Nodejs library ............................................................................................................................................. 29 Figure 37- Embed Router In Main file ......................................................................................................................... 29 Figure 38- Connection to database code .................................................................................................................... 30 8 | P a g e

1. INTRODUCTION In my previous report I outlined the definition of cloud computing and related concepts. In this report, I will apply NodeJs and mongodb as a database to build a website. This website will be deployed on the internet with Heroku to solve the problems that ATN (given situation) is facing. 2. DESIGN 2.1 OVERVIEW FUNCTION 2.1.1. Solution

With the problems that ATN is facing, then cloud computing is a suitable choice for the needs of enterprises. 2.1.2. Use-case diagram Figure 1-Usecase diagram Number of main functions

  • Add / Update / Delete / View / Search Product 9 | P a g e
  • Add/Update/Delete/View Category
  • Add/Update/Delete/View Supplier 2.2 WEBSITE SCREEN SHOTS 2.2.1 INDEX Figure 2-Homepage This is the primary interface while the use of the website. It will display product and a navbar for menu listing of function. 2.2.2 LIST PRODUCT/CATEGORY/SUPPLIER 10 | P a g e Figure 3-Product list Figure 4-Category list 11 | P a g e

15 | P a g e Figure 13-Search product

3. CODE IMPLEMENT AND DEPLOY PROCESS 3.1. TOOLS AND FRAMEWORK 3.1.1 IDE I use Visual Studio Code because:

  • The source code of any application can be edited.
  • Works on different operating systems: windows, linux and mac
  • Supports multiple programming languages: JavaScript, TypeScript, JSON, HTML, CSS,
  • Terminal support Built-in, support terminal command for Heroku CLI.
  • Visual Studio Code has built-in Git integration, it's really easy to instantly see the changes made in the project
  • VS Code's built-in debugger speeds up the editing, compiling, and debugging loops. 16 | P a g e Figure 14-IDE Visual studio code 3.2 FRAMEWORK Express framework is used in the project because it can scale the application quickly thanks to the support of Node.JS. Enables the creation of high-performance web applications. Easily create APIs with this framework and develop trendy and modern web apps with all the advanced features and utilities without obscuring your favorite Node.js features 3.3 SOURCE CODE MANAGER I can manage and share the source code as needed using Github. It helps me back up the source code and save the changes 17 | P a g e

Figure 15-Github page 3.4 DATABASE SERVER Mongodb is used by me as a database because:

  • Full cloud-based developer data platform
  • The data is stored as a JSON document.
  • Widely supported and native code data access
  • Simple installation
  • Technical support and full documentation
  • High security 18 | P a g e Figure 16-Mongodb page 3.5 CLOUD COMPUTING MODULE Figure 17-Heroku page I use Heroku in the project completion phase on the internet because it helps me support the project under the PAAS model. Heroku is responsible for ensuring that they are secure. Heroku hides all the intricacies of the servers themselves behind a friendly web-based user interface 4. DEPLOY 4.1 CONFIG FRAMEWORK EXPRESS ON THE ENV First need to download and install nodejs because express is a framework of nodejs 19 | P a g e Figure 18-Download NodeJs To start the project, I install express with the Node package manager: npm install express Figure 19-Install Express

4.3 CONFIGURE GIT AND UPLOAD FILES TO GITHUB

Github is used to test the source code and deploy it on heroku 23 | P a g e Figure 24- Create new repository Then I sync the current project with git Figure 25- Sync folder with repository Then each time I want to sync my code, I can use some command are: Figure 26-: Push code The source code has successfully hosted on github if the upload is successful. 24 | P a g e Figure 27- Git repository after push 4.4 DEPLOYING THE CODE ON THE HEROKU. SERVER package.json is created with the npm init command to deploy the project. 25 | P a g e Figure 28- Package-Json The command npm init needs to be executed while opening the code file which is the root/main file of the project. In addition, it is necessary to change the port of the application.

Figure 29- Setup app.listen and PORT Next, I will sign up for a heroku account and click the create new app button Figure 30-Create Herroku Web Application 26 | P a g e Figure 31-Add BuildPack nodejs Connect github to heroku Figure 32-Connect heroku to github Enter name of repon 27 | P a g e Figure 33-Enter name's repository Click connect and click deploy branch and then click view Figure 34-Deploy a github branch 28 | P a g e Figure 35-Heroku Web In Internet 4.5 CODE IMPLEMENT

30 | P a g e 5.3 DEPLOYING 5.3.1 Database: I spent numerous time connecting to the database. The first time I attempt to hook up with the database, it has numerous mistakes and I do not know what it means. There are many different publications for that matter. I even have attempted a lot of them and not using a success. Solution : I even have related in keeping with the documentation in mongodb homepage, additionally I use asynchronous processing in database connection to make certain stability. Figure 38- Connection to database code Besides, mongodb is a database, so I turned into having a few hassle doing nested queries from a couple of tables. This is wanted after I want to extract a few class and seller facts from a product. Because, whilst including a product to the database, I will use the class and seller fields because the identityentification to keep away from duplication. With a relational database I can use a JOIN to JOIN every other collection (table) for every document (row). There is a library that facilitates me to try this with mongodb. But it breaks residences which might be taken into consideration to be the benefit of mongodb over different DBMSs. Solution : When doing a question with a product, I retrieve the class area and the seller identityentification withinside the product and do extra queries on the alternative 2 collections. This offers the equal end result as a nested question, but no want to apply any extra libraries and nevertheless maintain the power of the data 5.3.2 Git : When the use of git, I bumped into issues while the github GUI repositories did now no longer sync with repositories at the web. Using git withinside the console became pretty hard for me as I did now no longer do not forget all of the instructions. Solution : I looked for statistics approximately that trouble on boards like stackoverflow and located the cause. The Git GUI will simplest display the repositories withinside the Github listing withinside the document. So 31 | P a g e once I create a brand new repository I will create in that listing. Also I even have attempted to study the

command instructions and it became now no longer too hard. Now i've switched to the use of command as opposed to GUI.

6. SECURITY 6.1 SOME ISSUE OF CLOUD COMPUTING PLATFORM 6.1.1 Public Cloud The public cloud gives customers limited manipulate the usage of a multi-tenant environment. This manner that a unmarried surroundings serves many customers or tenants. This shared surroundings guarantees that public cloud clients are not given get admission to to the hypervisor and stops customers from customizing their environments (Info.cloudcarib.com, n.d.). Solution Choose from authentic vendors who've a clean coverage and ommitment to making sure the safety of your facts and your interests. 6.1.2 Private Cloud The Private Cloud Jump model calls for you to have overall manipulate over all layers of the stack, which incorporates any conventional network perimeter security you would possibly need to have in place. In a private cloud version, the cloud offerings are not normally uncovered fashionable Internet users (even though they could be) and faraway get admission to to private cloud hosted assets is enabled thru mechanisms utilized in conventional facts centers (even though a private cloud can host perimeter security gadgets hosted on a cloud infrastructure) (Tiwari, 2013). Solution Use VPN

  • Cost-effective, secure connectivity based on data center and cloud.
  • Authenticate users and ensure comprehensive, consistent security of network hardware or devices, or add IT complexity. 6.1.3 Hybrid cloud A hybrid cloud is a aggregate of a public cloud and a non-public cloud. Therefore, it has all of the issues of forms of clouds. In addition, generation and optimization problems additionally want to be cautiously considered (Nayyar, 2019). Solution It is essential to cautiously examine the size and utilization of the gadget to provide you with the perfect model. 32 | P a g e

33 | P a g e Employ Multi-Factor Authentication Test the Security Utilize Anti-Malware Tools (Wickr.com, 2020) Link github: https://github.com/phuong2414/ATNDinosaur.git My website: https://phuong2414.herokuapp.com/ 34 | P a g e References Nayyar, A., 2019. Handbook of Cloud Computing. 1st ed. s.l.:BPB Publication.

Aslan, T., 2012. ibm. [Online] Available at: https://www.ibm.com/blogs/cloud-computing/2012/02/22/cloud-physical-security- considerations/ [Accessed 15 7 2022]. Castagna, R., 2020. techtarget. [Online] Available at: https://www.techtarget.com/searchdatabackup/definition/cloud-backup [Accessed 15 7 2022]. Gemalto, 2020. www6.thalesgroup. [Online] Available at: https://www6.thalesgroup.com/APAC-EN-201703-AuthOffice365-LP [Accessed 15 7 2022]. Hein, D., 2019. solutionsreview. [Online] Available at: https://solutionsreview.com/cloud-platforms/7-cloud-storage-security-risks-you-need-to- know-about/ [Accessed 15 7 2022]. Info.cloudcarib.com, n.d. info.cloudcarib. [Online] Available at: https://info.cloudcarib.com/blog/understanding-the-risks-of-public- cloud#:~:text=Lack%20of%20Security%20in%20Public%20Cloud%20As%20previously,data%20or %20assu me%20the%20identity%20of%20another%20client. [Accessed 15 7 2022]. Thomas Erl, Z. M. a. R. P., 2013. Cloud Computing Concepts, Technology & Architecture. 1 ed. s.l.:PRENTICE HALL. Tiwari, M. S., 2013. social. [Online] Available at: https://social.technet.microsoft.com/wiki/contents/articles/4510.security-issues-in-the- private-cloud.aspx [Accessed 15 7 2022]. Trustradius.com, 2022. trustradius. [Online] Available at: https://www.trustradius.com/products/heroku-platform/reviews#overview [Accessed 15 7 2022]. Wickr.com, 2020. wickr. [Online] Available at: https://wickr.com/cloud-security-10-ways-to-better-protect-data-in-the-cloud/ [Accessed 15 7 2022].