Assessment Proforma 2024-25
Key Information
Module Code
|
CMT654
|
Module Title
|
DevOps
|
Assessment Title
|
Portfolio
|
Assessment Number
|
1
|
Assessment Weighting
|
100%
|
Assessment Limits
|
Pipeline, pipeline report (1200 words), Performance analysis report (300 words), research report (1000 words). Total 2500 words + pipeline
|
The Assessment Calendar can be found under ‘Assessment & Feedback’ in the COMSC-ORG-SCHOOL organisation on Learning Central. This is the single point of truth for (a) the hand out date and time, (b) the hand in date and time, and (c) the feedback return date for all assessments.
Additional Demo of Pipeline in class Monday Week 11.
Learning Outcomes
The learning outcomes for this assessment are as follows:
1. Use and troubleshoot a range of leading-edge DevOps tools for continuous
integration (i.e. automated building, packaging, testing and deployment), and justify the rationale for doing so.
2. Use a range of Cloud tools and platforms, critically appraising the benefits of their use.
3. Use of a range of appropriate tools and techniques to measure performance of various system components and investigate issues.
4. Scale real systems to obviate performance issues, and overcome resource
constraints critically analysing the rationale behind design decisions with respect to Reliability, Availability and Performance.
5. Discuss security implications of cloud solutions, utilising mechanisms to mitigate their effects.
Submission Instructions
The coversheet can be found under ‘Assessment & Feedback’ in the COMSC-ORG- SCHOOL organisation on Learning Central.
All files should be submitted via Learning Central. The submission page can be found under ‘Assessment & Feedback’ in the DevOps module on Learning Central. Your submission should consist of multiple files:
Description
|
Type
|
Name
|
Coversheet
|
Compulsory
|
One PDF (.pdf) file
|
Coversheet.pdf
|
Scripts
|
Compulsory
|
All scripts associated with the deployment pipeline and other parts of the coursework.
These must be within a zipped folder named Scripts
|
Scripts_[student number].zip
|
Report
|
Compulsory
|
Report with 3 sections:
1) Pipeline Report
2) Performance Report
3) Research Report
|
Report_[student number].pdf
|
There will also be an in-class demonstration during Week 11’s session where you will be required to demonstrate your working pipeline.
If you are unable to submit your work due to technical difficulties, please submit your work via e-mail to comsc-submissions@cardiff.ac.uk and notify the module leader.
Assessment Description
This is an individual assignment. There are no aspects of team submission.
For the purposes of this assignment, you will be working with the Spring Boot Client Application that you worked on last semester. This assignment will not assess the Client Application’s functionality but must include connectivity to a MySQL / MariaDB Database that you deploy.
You may use any branch from the Client Application to start from and if you really believe that using your Client Application rather than another team’s will put you at a disadvantage please come and see me and I will get you access to another team’s application.
You must not deploy the client project to any external service outside university hosted platforms (if in any doubt, speak to staff).
The work is split into four related sections:
45%
|
Deploy your application to the School’s OpenStack cluster, creating a
repeatable process (scripted) that creates a Linux (Rocky or Debian. Debian will get more marks) test environment and uses Jenkins to pull your project
from your Gitlab repository and trigger a build and test of the application. The pipeline should include the build, installation and configuration of all required software to enable the application to run and to enable the application to be
tested according to Dev Ops best practices. The pipeline should leave the
application running on a separate server and accessible via a browser via the University’s network.
During an in-class demonstration session (week 11) you will be asked to open and run the application in the Dev environment (Intellij) make a simple change to the project, push that change to Gitlab and then demonstrate the deployment pipeline.
|
25%
|
Write a brief report (1200 words) on your pipeline discussing the decisions
behind creation of the environment, the testing schedule and the resources
used (e.g. web sites used to find instructions). In this report, you should
reflect on your choice of methods used in the construction of the pipeline (do not discuss decisions that you did not make e.g., you did not choose to use
OpenStack – this was a specified part of the project). You should also reflect on the use of the pipeline during the week 11 group exercise and it’s
limitations.
|
10%
|
Run performance analysis on the deployed project using a range of
appropriate tools as discussed in the sessions and worksheets (must include J Meter).
Produce a report (300 words, maximum 3 images) on your findings detailing your methods, what they hope to show and showing screen shots of tests you have run.
DO NOT!!! run high load testing on the openstack instances. If you
wish to run high user and loop tests, run them on your local machine.
|
20%
|
Research report on transfer of project to the Google Cloud platform (1000 words):
Your company is negotiating for VC investment for a rapid expansion. Your
OpenStack server is now running out of power for the increasing client base and the application is rapidly expanding its feature set. Your company wishes to migrate to a Google Cloud offering. Write a recommendation on the
technologies that you will use, discussing the options and the justifications for your choice.
Tips:
1) An image showing the architecture of your proposed solution (similar to the one in the notes for the current OpenStack solution may help).
2) Stating assumptions on usage numbers may help with your costing estimates.
3) Ensure that you have a final, cohesive, solution proposed.
Please note that this is a migration of the development / deployment pipeline not just a migration of the application.
Considerations for: Cost, Reliability, Security, Best Practice, Lock-in and Agile Development should all be considered.
|