RMIT Classification: Trusted
,
School of Science
COSC2626/2640 Cloud Computing
Assignment 2
1. Overview
Assignment 2 will contain 50% of total assessment for this course. It should be a project by using cloud platforms and technologies. Some sample reports (rated as excellent or good) from previous year has been provided to get an idea about the difficulty and depth of the project. You are free to choose any programming language, any cloud platform and any services/API you want to use.
You have to form a group of two. Discuss your proposal with your tutor. Finalise your team and your proposal by week 5 so you can start early.
2. Assessment Criteria
This assessment will develop your ability to:
1. Design and develop a highly scalable application by applying the knowledge of distributed architecture and multiple cloud
platforms and services
2. Develop a professional project report
3. Write a user’ manual to introduce your product
3. Learning Outcomes
This assessment is relevant to the following Learning Outcomes:
• Develop and deploy cloud application using popular cloud platforms,
• Design and develop highly scalable cloud-based applications by creating and configuring virtual machines on the cloud and
building private cloud.
• Explain and identify the techniques of big data analysis in cloud.
• Compare, contrast, and evaluate the key trade-offs between multiple approaches to cloud system design, and Identify
appropriate design choices when solving real-world cloud computing problems.
• Write comprehensive case studies analysing and contrasting different cloud computing solutions.
• Make recommendations on cloud computing solutions for an enterprise.
4. Assessment details
Criteria/Project requirement
1.You must have a distributed model for your application. You can use distributed system concept for your application as discussed in Lecture 2. (e.g. separate component for processing and storage/ Multinode cluster/ multiple processing servers/ multiple cloud features / Integration of multiple REST APIs/ IoT/ Edge computing/ Fog Computing/Publish subscriber model/ Peer to Peer system/ Push notifications).
Assessment Type: Group assignment. Submit online via Canvas→Assignments→Assignment 2. Marks awarded for meeting requirements as closely as possible. Clarifications/updates may be made via announcements/relevant discussion forums.
Due date: 11:59pm, 24/May/2020 Please check Canvas→Assignments→Assignment 2 for the most up to date information.
As this is a major assignment in which you demonstrate your understanding, a university standard late penalty of 10% per each working day applies for up to 5 working days late, unless special consideration has been granted.
Weighting: 50 marks
Page 1 of 7
RMIT Classification: Trusted
,
2.The use of Google/AWS cloud services such as Hadoop MapReduce, BigQuery, SQS, Microservices, Endpoints, API Gateway, CloudWatch, Lambda, Machine Learning, real-time data analysis, etc. will make your project interesting. You may not learn all of the services but if you learn them by yourself, it will be highly appreciated as well as helpful for your projects.
3.You should take advantage of Google/AWS Cloud storage (e.g. S3, Google Cloud Storage) and Google/AWS Cloud Datastore (e.g. Google datastore, Amazon DynamoDB, MongoDB or Relational Database Services) in your project.
4.You should have a nice client side visualization (e.g. a webpage/website or a mobile app). If you have any kind of data analysis you should interpret your result nicely using tabular and/or graphical format. For web application you should to deploy your application either in Google cloud or AWS cloud.
5. Students in a group should sign a contribution agreement form to acknowledge each member’s contribution portion in the project.
The contribution agreement form must be signed by all group members, scanned, and attached with the report otherwise your assignment cannot be marked. If fewer contributions are identified by one student then he/she will receive less mark than his/her group-mate.
Project Options
Option 1
Development of a cloud application using your own idea and strength.
Option 2
Development of a cloud application using idea suggested by your tutor based on your interest and strength.
Option 3
You may refer to Lecture-5_Cloud_Applications, where several applications were discussed (the projects are from previous years). You may choose one of them as your project or somewhat similar.
5. Referencing guidelines
What: This is an individual assignment and all submitted contents must be your own. If you have used sources of information other than the contents directly under Canvas→Modules, you must give acknowledge the sources and give references using IEEE referencing style.
Where: Add a code comment near the work to be referenced and include the reference in the IEEE style.
How: To generate a valid IEEE style reference, please use the citethisforme tool if unfamiliar with this style. Add the detailed reference before any relevant code (within code comments).
6. Submission, Demonstration, Report and Presentation
You need to submit a report and all materials related to your project. The deadline of submission of your Assignment-2 in Canvas is 24th May Sunday 11:59 PM. If you submit after that it will be considered as late submission. You will be penalised 10% of your total mark per working day for late submission. You will not get your mark if you do not submit your project materials and report. If you work in a group only one submission of a group member is fine.
During submission you will need to provide the following content in a .zip file.
1.Your report in word document or pdf extension. You can make your own format or follow the sample reports that has been provided in Canvas.
The report should contain the following materials
Page 2 of 7
RMIT Classification: Trusted
,
a. Signed Contribution Agreement: of all team members (Must be signed by all the members, scanned, and attached otherwise your assignment cannot be marked) — A temple can be found from Appendix.
b. Links: Live url of your project (if any), repository url (github/bitbucket/google drive) of your source code (if any), public dataset links of your project (if any).
c. Summary: The objective/purpose of your project.
d. Introduction: Introduce your project such as:
i. What are the motivations behind your idea?
ii. What it does?
iii. Why it is required?
iv. How it can be used as real-life application?
v. The advantages/positive/new things of your application.
e. Related work: Refer some related works similar to your application. f. Software Design/Architecture
i. A high level architectural diagram that shows the communication between different cloud components used in your project and purpose of using those components.
ii. Description of your dataset/data structure/APIs/sensors you used for your project (if any) [use figure if required]
g. Implementation – Developer Manual: A step-by-step guideline to reproduce your project [use figure if required] and make it live. This is like our tutorial sheet. For known/general description (e.g. creating and MySQL RDS instance in AWS, deploying project in Elastic Beanstalk, deploying project in Google cloud) you can refer to any web link directly. You can also refer to tutorial sheet if you have similar steps in your description (e.g. deploy application in Google cloud).
h. A small user manual: A quick overview of how to use your application.
i. References: Important references/website links that you use to develop your application.
j. Video (optional): A video demonstration of your application (provide a YouTube link in the report).
2. Put all the images you have used in your report in a folder name doc_images.
3. Put all the source code of your project in a folder named code. If source code is greater than 5 MB then provide a google_drive/dropbox/github share link in a text file (name it code.txt). to download your source code.
4. Put runnable/deployable files (if any e.g. .war, .zip, .jar) in a folder named deploy
5. Put all the data/sql tables/sql script (if any) in a folder named data. If data files are too large then provide a link to download your data in a text file (name it data.txt)
6. A readme.txt with name and student number of team members, a short description of your project and the public link to access your project (if any).
You must demo your project to your tutor by making appointment with your tutors in Week 11 or 12. All demonstration will be completed by week 12. There will be penalty if you fail to complete and demonstrate your work by week-12. All team members must present during demo time and explain individual contributions. The demo is around 20 minutes (including project introduction, app demo and Q&A) for each team. Keep everything ready and make your application live during your demo.
During demonstration you will need to use presentation slides to introduce your projects (no more than 10 pages). The presentation slides should include the presentable information of the following sections of your report:
a. Summary (1 page)
b. Introduction (1 page)
c. Related work (1 page)
d. Software Design/Architecture (1 page) e. Implementation (2-6 pages)
7. Academic integrity and plagiarism (standard warning)
Page 3 of 7
RMIT Classification: Trusted
,
Academic integrity is about honest presentation of your academic work. It means acknowledging the work of others while developing your own insights, knowledge and ideas. You should take extreme care that you have:
• Acknowledged words, data, diagrams, models, frameworks and/or ideas of others you have quoted (i.e. directly copied), summarised, paraphrased, discussed or mentioned in your assessment through the appropriate referencing methods,
• Provided a reference list of the publication details so your reader can locate the source if necessary. This includes material taken from Internet sites.
If you do not acknowledge the sources of your material, you may be accused of plagiarism because you have passed off the work and ideas of another person without appropriate referencing, as if they were your own.
RMIT University treats plagiarism as a very serious offence constituting misconduct. Plagiarism covers a variety of inappropriate behaviours, including:
• Failure to properly document a source
• Copyright material from the internet or databases
• Collusion between students
For further information on our policies and procedures, please refer to the University website.
8. Assessment declaration
When you submit work electronically, you agree to the assessment declaration.
Page 4 of 7
,
RMIT Classification: Trusted
9. Rubric/assessment criteria for marking
Criteria
Ratings
Project idea and project formulation. Selection of appropriate technologies
2 Pts
Project idea well formulate with selection of appropriate technologies
1 Pts
Project idea partially formulated with selection of most technologies being appropriate
0 Pts
Project idea not well formulated (with major issues) with selection of most technologies being inappropriate
Skill development in learning new tools and technologies for project completion
3 Pts
Demonstration of excellent knowledge in learning new tools and technologies for project completion
2 Pts
Demonstration of good knowledge (with minor issues) in learning new tools and technologies for project completion
1 Pts
Demonstration of poor knowledge (with major issues) in learning new tools and technologies for project completion
0 Pts
No marks
Appropriate utilization of cloud tools/technologies/ser vices in your project
27 Pts Appropriate utilization and full implementation of at least 8 cloud services in your project according to Criteria 2-4 Employing at least 6 types of cloud services from Criterion 2, at least 2 types of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
24 Pts Appropriate utilization and full implementat ion of 7 cloud services in your project according to Criteria 2-4 Employing 5 types of cloud services from Criterion 2, at least 2 types of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
Or Employing 6 types of cloud
21 Pts Appropriate utilization and full implementatio n of 6 cloud services in your project according to Criteria 2-4 Employing 4 types of cloud services from Criterion 2, at least 2 types of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4 Or
Employing 5 types of cloud services from Criterion 2, at least 2 type of cloud storage from Criterion
18 Pts Appropriate utilization and full implementation of 5 cloud services in your project according to Criteria 2-4 Employing 3 types of cloud services from Criterion 2, at least 2 types of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
Or
Employing 4 types of cloud services from Criterion 2, at least 1 type of cloud storage from Criterion 3,
15 Pts Appropriate utilization and full implementation of 4 cloud services in your project according to Criteria 2-4 Employing 2 types of cloud services from Criterion 2, at least 2 types of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
Or
Employing 3 types of cloud services from Criterion 2, at least 1 type of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
12 Pts Appropriate utilization and full implementation of 3 cloud services in your project according to Criteria 2-4 Employing 1 types of cloud services from Criterion 2, at least 2 types of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
Or
Employing 2 types of cloud services from Criterion 2, at least 1 type of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
9 Pts Appropriate utilization and full implementation of 2 cloud services in your project according to Criteria 2-4 Employing 1 type of cloud service from Criterion 2, 1 type of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
0 Pts
No marks
Page 5 of 7
,
RMIT Classification: Trusted
Criteria
Ratings
services from Criterion 2, at least 1 type of cloud storage from Criterion 3, and a cloud hosted website for Criterion 4
3, and a cloud hosted website for Criterion 4
and a cloud hosted website for Criterion 4
Project architecture and the distribution of your components
4 Pts
Distributed project architecture fully utilized Separate processing and storage components + one more type of distributed architecture from Criterion 1
2 Pts
Distributed project architecture partially utilized Separate processing and storage components
0 Pts
Distributed project architecture not utilised
Report
8 Pts
Well-written report with all the required parts and substantial details
6 Pts
Report with all the required parts and substantial details
4 Pts
Report with all the required parts and some details
2 Pts
Report with some of the required parts and some details
0 Pts
No marks
Presentation slides
3 Pts
Well-written presentation slides with all the required parts and substantial details and visual aids
2 Pts
Presentation slides with all the required parts and some details and visual aids
1 Pts
Presentation sides with some of the required parts and some details
0 Pts
No marks
Presentation and communication skills
3 Pts
Clearly present the slides and actively respond to all the queries from examiner with detailed answers
2 Pts
Clearly present the slides and actively respond to most of the queries from examiner with answers
1 Pts
Present the slides and actively respond to some of the queries from examiner with answers
0 Pts
No marks
Total points: 50
Page 6 of 7
Appendix:
RMIT Classification: Trusted
Student Contribution Agreement
Project title here Group name here
,
Student Name:
Student Name:
Student ID:
Student ID:
Contributions: 1.
2.
Contributions: 1.
2.
Contribution Percentage:
Contribution Percentage:
By signing below, I certify all information is true and correct to the best of my knowledge.
Signature: Date:
By signing below, I certify all information is true and correct to the best of my knowledge.
Signature: Date:
Page 7 of 7