Course Title: Systems Deployment and Operations

Part A: Course Overview

Course Title: Systems Deployment and Operations

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


171H School of Science


Sem 1 2020,
Sem 1 2021

Course Coordinator: Shekhar Kalra

Course Coordinator Phone: +61 3 9925 9500

Course Coordinator Email:

Course Coordinator Location: 14.10.10A

Course Coordinator Availability: By appointment, by email

Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-requisite Courses:

Successful completion of:

ISYS1117 / ISYS1118 / ISYS2410 / ISYS3378 - Software Engineering Fundamentals (Course ID 004309)
ISYS3413 / ISYS3416 - Software Engineering Fundamentals IT (Course ID 053791)
COSC2398 - Software Engineering Fundamentals (Course ID 038977)

This course can NOT be taken in conjunction with COSC 2299/2428 Software Engineering: Process and Tools or ISYS 1088/1089 Systems Architecture

Note: it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For your information go to RMIT Course Requisites webpage.

Course Description

Current modern software development processes divulge require software to be deployed across different platforms, either physical hardware or virtual cloud-based, under a variety of possible operating systems and environments. So-called Dev Ops are important members of Software Engineering teams and take responsibility for packaging a system into a “containers” that can be easily deployed into different environments. Moreover, requirements regarding scalability, security and other system qualities require decisions to be made regarding deployment configuration and architecture.
This course introduces concepts related to system release management and deployment, as well as factors impacting operational decisions. The material will refer to modern SE processes and current software tools, including workflows for continuous deployment, tools such as Docker, and reference architectures for ensuring a variety of system qualities under different software environments. Students taking this course will be well versed in the concepts and toolkit required by the Dev Ops role.

Objectives/Learning Outcomes/Capability Development

On completion of this course you should be meeting the following Course Learning Outcomes (CLOs):

  1. Understand the importance of the Dev Ops role within modern Agile Software Engineering process;
  2. Understand the issues associated with deploying software systems, including code repository workflows and how to manage risk in a continuous deployment environment;
  3. Be capable to using modern tools to manage flexible deployment across a range of environments;
  4. Understand the issues involved in ensuring system qualities to meet the non-functional requirements of a system;
  5. Be capable of working closely with developers in a Software Development team and managing the deployment and operation of software systems produced by that team.

Overview of Learning Activities

The learning activities for this course include:

  • Key concepts will be explained in pre-recorded lectures, classes or online, where syllabus material will be presented and the subject matter illustrated via demonstrations and examples;
  • Tutorials and/or labs and/or group discussions and activities (including online forums) focused on projects and problem solving will provide practice in the application of theory and procedures, allowing exploration of concepts with teaching staff and other students, to provide feedback on progress and understanding;
  • Assignments, as described in Overview of Assessment (below), including group assignments, will provide simulation of workplace activities and an opportunity to demonstrate an integrated understanding of the subject matter; and
  • Private study, working through the course materials as presented in class and gaining practice at solving conceptual and technical problems.

Overview of Learning Resources

The course is supported by the Canvas learning management system which provides specific learning resources.

It is a requirement of this class that you have your own laptop, which you will need to bring with you. At the start of the semester you will be advised to install free software required to successfully complete the course.

Overview of Assessment

This course has no hurdle requirements.

Assessment Task 1: Weighting: 30%
Set up a CI process for an application including: unit testing, static code analysis, code coverage report and multiple failure scenarios & packages artefacts for deployment.

This assessment task supports CLOs 1, 2, 3 & 5.

Assessment Task 2: Weighting: 40%
Set up CD process for application, building on top of assessment 1: Expand CI to support feature branches, deploy into environment test (including infrastructure for database), Validate deployment success, run test against environment, tear down test environment, Multiple failure scenarios & Deploy changes into production environment with no downtime.

This assessment task supports CLOs 2, 4& 5

Assessment Task 3: Weighting: 30%
CI build (from assessment 2) to automatically deploy the application to a Kubernetes cluster, implementing a CD pipeline.

This assessment task supports CLOs 1, 2, 3 & 4