assignment 2 cloud computing bao gồm source code When confronted with the aforementioned issues, the first thing I did was to relearn 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 Ill just read the nodejs homepages articles and documentation. Also, when checking instructions on forums, I need to know which library Im using. For example, I have two libraries with handlebars view engine: hbs and handlebars.
ASSIGNMENT Qualification BTEC Level 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 Solution Use-case diagram: Webapp screenshots: II Code implement and deploy process (P6) 1.Tool and frameworks: 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 Public Cloud _16 Data Loss/Leakage _17 Organization: _18 Table of Figures: Figure 1: Use-case diagram _5 Figure 2: Home page Figure 3: Toy inventory Figure 4: Thing that happen if we hit the button Delete _7 Figure 5: Add toy _8 Figure 6: Update toy information UI 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 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 Use-case diagram: Figure 1: Use-case diagram 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 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 Deploy 2.1 Config framework express on the env Express is a framework of nodejs, therefore the first thing which we need to 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 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 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 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 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 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 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