Download Assignment 2 - Cloud Computing - PASS and more Assignments Computer Science in PDF only on Docsity!
ASSIGNMENT 2 FRONT SHEET
Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 16: Cloud Computing Submission date 31/10/2022 Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Huynh Minh Huy Student ID GCD Class GCD1001^ Assessor name Tran Trong Minh 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 Huy
Grading grid P5 P6 P7 P8 M3 M4 D2 D
Summative Feedback: Resubmission Feedback:
Grade: Assessor Signature: Date: Lecturer Signature:
Table of Contents
CHAPTER 4: ANALYSING THE MOST COMMON PROBLEMS WHICH ARISE IN A CLOUD
COMPUTING PLATFORM AND DISCUSS APPROPRIATE SOLUTIONS TO THESE PROBLEMS (P7).
CHAPTER 5: ASSESS THE MOST COMMON SECURITY ISSUES IN CLOUD ENVIRONMENTS (P8).
- CHAPTER 1: INTRODUCTION.
- PROVIDER’S FRAMEWORK (P5). CHAPTER 2: CONFIGURE A CLOUD COMPUTING PLATFORM WITH A CLOUD SERVICE
- I. Tools.
- Integrated Development Environment (IDE).
- Framework.
- Database.
- II. Configure.....................................................................................................................................................................
- Configure Github.
- Configure Heroku.
- Connect Heroku To Github.
- Configure PostgreSQL On Heroku.
- CHAPTER 3: IMPLEMENT A CLOUD PLATFORM USING OPENSOURCE TOOLS (P6).
- I. Setup Pgadmin And Create Database For ATN.
- II. Diagram.
- III. Source code for ATN Shop.
- Models.
- Controller (Route).
- View.
- IV. Commit your code to Github.
- V. Deploy app on Heroku.
- VI. Link of the project.
- I. Optimizing Cloud Expenses.
- II. Migrating Existing Applications onto the Cloud.
- III. Cost Calculations Within Limits.
- IV. Proprietary Lock – in.
- V. Software as a Service (SaaS) Security Concerns.
- VI. Platform as a Service (PaaS) Security ConcernS.
- VII. Infrastructure as A Service (IaaS) Security Issues.
- VIII. Data Security Violation.
- IX. Consistent Results...............................................................................................................................................
- I. Misconfiguration.
- II. Data Privacy.
- III. Data Problem.
- IV. Insecure Interfaces/APIs..................................................................................................................................
- V. Hijacking of Accounts.
- VI. Notifying Customers Affected by Data Breaches.
- VII. A Lack of Visibility/Control.
- VIII. Unauthorized Access..........................................................................................................................................
- References
- Figure 1: Visual Studio Code............................................................................................................................................... Table of Figures
- Figure 2: ExpressJS Framework.
- Figure 3: PostgreSQL.
- Figure 4: GitHub homepage.
- Figure 5: Github Login Page.
- Figure 6: Profile.
- Figure 7: Create new repository.
- Figure 8: Heroku sign up page.
- Figure 9: Login Page in Heorku.
- Figure 10: Heroku Page.
- Figure 11: Create new app.
- Figure 12: Create app.
- Figure 13: Finished create new app.
- Figure 14: Connect Heroku to Github.
- Figure 15: Connect success to Github.
- Figure 16: Connect to the repository.
- Figure 17: Select app.
- Figure 18: Select the suggested Heroku Postgres add-on.
- Figure 19: Add postgreSQL.
- Figure 20: Select a database pricing plan.
- Figure 21: Create PostgreSQL Success.
- Figure 22: Setting..................................................................................................................................................................
- Figure 23: Database Credentials.
- Figure 24: Install Postgres/pgAdmin.
- Figure 25: Database information.
- Figure 26: Create table.
- Figure 27: Test database on Heroku.
- Figure 28: Use case diagram.............................................................................................................................................
- Figure 29: Model.
- Figure 30: View......................................................................................................................................................................
- Figure 31: Controller.
- Figure 32: Source Code For Connect Database Server.
- Figure 33: Source Code Authentication.
- Figure 34: Source Code For Product Table 1.
- Figure 35: Source Code For Product Table 2.
- Figure 36: Source Code For Product Table 3.
- Figure 37: Source Code For Product Table 4.
- Figure 38: Source Code For Product Table 5.
- Figure 39: Source Code For Select Box.
- Figure 40: Source Code For CRUD Function 1.
- Figure 41: Source Code For CRUD Function 2.
- Figure 42: Source Code For CRUD Function 3.
- Figure 43: Source Code For CRUD Function 4.
- Figure 44: Admin.
- Figure 45: Source Code For Admin 1.
- Figure 46: Source Code For Admin 2.
- Figure 47: User.
- Figure 48: Source Code For User 1.
- Figure 49: Source Code For User 2.
- Figure 50: Index.
- Figure 51: Source Code For Index 1.
- Figure 52: Source Code For Index 2.
- Figure 53: Source Code For Index 3.
- Figure 54: Some Source Code For Admin Interface.
- Figure 55: JavaScript for Admin Page.
- Figure 56: Some Source Code For User Interface.....................................................................................................
- Figure 57: Some Source Code For Login Interface...................................................................................................
- Figure 58: Some Source Code For Index Interface.
- Figure 59: CSS for landing page in index interface.
- Figure 60: CSS for login page.
- Figure 61: CSS for user and admin interface.
- Figure 62: git init...................................................................................................................................................................
- Figure 63: git add.
- Figure 64: git commit.
- Figure 65: git remote.
- Figure 66: git push.
- Figure 67: Push GitHub success.
- Figure 68: Index page.........................................................................................................................................................
- Figure 69: Login page.
- Figure 70: Login as user.
- Figure 71: Login as admin.
- Figure 72: Wrong username and password.
- Figure 73: The sub menu.
- Figure 74: Log Out.
- Figure 75: Log Out Success.
I'm going to utilize Visual Studio Code because: Cross-Platform Support: Editors have traditionally supported either Windows, Linux, or Mac platforms. Visual Studio Code, on the other hand, is cross-platform. As a result, it is compatible with all three platforms. Furthermore, the code operates on all three platforms; previously, the open- source and commercial software codes were separate. Multiple programming languages are supported: Several programming languages are available. Previously, programmers need Web-Support: a separate editor for each language; however, multi-language support is now integrated in. This also means that it can quickly identify any errors or cross- language references. Extensions & Support: Generally, all programming languages are supported; however, if a user/programmer chooses to use a programming language that is not supported, he can download and use an extension. Furthermore, because the addon operates as a distinct process, it does not slow down the editor. Terminal Support: When a user has to start from the directory's root to complete a job, the built-in terminal or console lets the user to avoid moving between two screens. Web Application Support: Web application support is included in. VSC can therefore create and maintain web applications. Git Support: Online resources from Git Hub Repo may be obtained, and vice versa; saving is also allowed. Cloning code that is freely available on the internet is known as resource pulling. This code can be changed and saved at a later time.
- Framework. For this project, I intend to use the Express framework. Express is a Node.js web application framework with a robust feature set for both online and mobile projects. With a wealth of HTTP utility methods and middleware development tools at your disposal, creating a powerful API is quick and simple. Express provides a solid foundation for basic web application capabilities without concealing the Node.js features you know and love. Figure 2 : ExpressJS Framework.
- Database. For this project, I intend to use PostgreSQL instead of MonogoDB and here is the reasons why I choose PostgreSQL: Multi-Version Concurrency Control (MVCC), point in time recovery, tablespaces, asynchronous replication, nested transactions, online/hot backups, a strong query planner/optimizer, and write ahead logging for fault tolerance are among the advanced features of PostgreSQL. PostgreSQL is compatible with virtually all Linux and Unix variations, as well as Windows and Mac OS X. Because it is open-source, it is simple to upgrade and improve. In PostgreSQL, you may construct your own data types, custom functions, and even write code in another programming language (such as Python) without having to recompile the database. PostgreSQL is, of course, free on Heroku.
Figure 5 : Github Login Page. When I finished login into the Github site, I will go to my profile. Figure 6 : Profile.
To create a new repo, click the "New" button in the right corner of the profile page. Figure 7 : Create new repository. The system will take me to the repo creation page, where I will provide the necessary repo information. Then, on the following screen, click the "Create Repository" button.
Figure 9 : Login Page in Heorku. After successfully login in, the interface will look like this. Figure 10 : Heroku Page.
Select “New” to create a new cloud app. Figure 11 : Create new app. Create the app and give it a name. Figure 12 : Create app. After successfully building the app, the screen will look like this.
Figure 15 : Connect success to Github. After connecting success with repo in GitHub. Figure 16 : Connect to the repository.
- Configure PostgreSQL On Heroku. Select an app to configure PostgresSQL on Heroku. Figure 17 : Select app.
When the option displays, select the suggested Heroku Postgres add-on. Figure 18 : Select the suggested Heroku Postgres add-on. To connect a PostgreSQL database to your freshly developed app's dashboard, navigate to the Resources tab in the dashboard's header. Then type Heroku Postgres into the Add-ons search box. Figure 19 : Add postgreSQL. You are prompted to select a database pricing plan in the following popup window. Click Provision: after choosing the Hobby Dev - Free plan.