
Applied DevOps
- Class 15
- Practice 30
- Independent work 105
Course title
Applied DevOps
Lecture type
Elective
Course code
23-02-526
Semester
3
ECTS
5
Lecturers and associates
Course overview
This module introduces students to workflows in software development, their automation and continuous delivery of software products.
This module is core to the subspecialisation and provides the foundation for a wide number of programming modules that students will take in the following semesters. Skills learnt in this module will contribute significantly to students’ development as professionals in respecting fields.
Students will learn:
• About different workflows and their automation in software development.
• About continuous integration concepts, tools and workflows.
• About development and delivery automation concepts.
• How to use modern tools to implement selected workflows.
The module is taught in C
programming language. The module assessment is based on solving a series of smaller practical tasks and on individual student software development and automation projects.
Literature
Essential reading:
1. Verona, J. (2018) Practical DevOps: Implement DevOps in your organization by effectively building, deploying, testing, and monitoring code. 2nd edn. Birmingham: Packt Publishing.
Recommended reading:
1. Kim, G. et al (2016) The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. Portland: IT Revolution Press.
Minimal learning outcomes
- Compare different workflows when creating a software solution.
- Compare different versioning systems and their use and implement the selected system on a given software solution.
- Compare different systems for monitoring work progress.
- Determine the need for continuous integration in the process of creating a software solution.
- Compare available software tools for continuous integration and implement the selected system for continuous integration on the software solution.
- Design a system for the delivery of software solutions through a system for continuous integration and apply it in the development of a prototype software solution.
- Compare available software tools for automation.
- Prototype a software solution using systems for automation.
- Suggest appropriate tools for managing and reporting about system parameters and implement selected tools.
Preferred learning outcomes
- Compare different workflows when creating a larger software solution.
- Detect issues in a given versioning system on a given larger software solution.
- Compare different systems for monitoring work progress on a given larger software solution.
- Determine the need for continuous integration in the process of creating a larger software solution.
- Implement the continuous integration chaining on the software solution.
- Design a system for the delivery of software solutions and additional artefacts through a system for continuous integration and apply it in the development of a prototype software solution.
- Compare available software tools for automation and testing.
- Prototype a software solution using systems for automation and testing.
- Suggest appropriate tools for managing and reporting about system parameters and user interactions and implement selected tools.