Lecture: DevOps: Engineering for Deployment and Operations

Course Information

  • SWS: 2V + 3P
  • Credits: 6 ECTS
  • Language: English
  • Workshop dates: every Friday between 12:00 and 14:00 onsite in the lecture hall EI-HS (5901.EG.051)
  • First workshop: Friday, 25.04.2025
  • Course type: Master Elective Course in Software Engineering
  • Possible module numbers: CIT423001
  • Participants: up to 150 students
  • Note: The course will NOT offer a retake

Registration

Given the limited number of available spots and the recurring issue of students registering for elective courses but failing to attend, we have established the following registration procedure.

Students must solve a small challenge and commit to genuine participation in the course. Withdrawals after the registration deadline, without a valid reason, may affect eligibility for future elective courses.

Starting on April 3, 2025, at 9:00, you can log into the application tool with your TUM account, fill out the application, and access the challenge here: Prompt

This challenge is designed to verify that you meet the prerequisites of the course. A limited number of retries are available in case of misunderstandings or minor issues—but we strongly recommend that you prepare and take the challenge seriously.

Important Information

  • The DevOps course is only open to TUM Master’s students.
  • The first 150 students who complete the challenge successfully will be admitted directly into the course.
  • All others who pass the challenge will be placed on a waitlist.

Once you’ve completed the challenge, you’ll immediately receive feedback about your admission or waitlist status.

Course Description

This course blends theoretical understanding with hands-on experience, emphasizing a project-based learning approach. Students will engage in team-based project work, where they will apply the concepts and techniques discussed in workshops (a.k.a. lectures) to a predefined project. This practical application is designed to foster collaboration, creativity, and real-world problem-solving skills. Assessment in this course will be two-fold:

  1. Project Work (50% of the grade): Each team will present their project outcomes, demonstrating their ability to implement DevOps principles effectively. All team members must be prepared to discuss their work and answer questions, showcasing their understanding and contributions. Exceptional performance, marked by exceeding minimum requirements and demonstrating creativity, will be eligible for bonus points, encouraging students to push the boundaries of their learning.
  2. Computer-Based Exam (50% of the grade): At the end of the course, a 90-minute computer-based exam will be conducted. This exam is designed to assess individual understanding and application of the course material. It ensures a comprehensive grasp of the theoretical aspects of DevOps, balancing the practical team project component.

Prerequisites

Important: This course is only open to students enrolled in one of the following Master’s programs: Informatics, Informatics: Games Engineering, Data Engineering and Analytics, or Information Systems.

The course is designed for Master students with an advanced understanding of computer science or information systems, typically acquired through a computer science-oriented bachelor’s program. To ensure readiness for this course, students should possess the following foundational knowledge and skills:

  • Solid Programming Background: Familiarity with fundamental programming concepts and techniques is essential. Relevant coursework includes “Fundamentals of Programming” (IN0002).
  • Understanding of Internet/Networking Protocols: A grasp of the basics in computer networking and distributed systems is crucial. This can be achieved through courses like “Introduction to Computer Networking and Distributed Systems” (IN0010).
  • Basic Software Engineering and Architecture Knowledge: An understanding of software engineering principles, including distributed version control and software architecture, is required. Suitable courses include “Introduction to Software Engineering” (e.g., IN0006) and “Software Architectures” (e.g., IN2088).

Additionally, familiarity with the following areas will be beneficial, though not mandatory:

  • Cloud Technologies: Knowledge of cloud computing, virtual machines, and containers (e.g., Cloud Computing, IN2073).
  • Internet Security: Understanding of the key concepts and challenges related to internet security (e.g., IT Security, IN0042).
  • Software Development Methodologies: Familiarity with approaches to software development and project management.
  • Deployment and Operation: Insights into the processes involved in the deployment and operation of software systems.

Learning Objectives

The course focuses on the practical application of the covered content. After completing the course, participating students will be able to:

  • Explain DevOps Principles: Critically examine and differentiate between the cultural and organizational aspects of DevOps to optimize the software development lifecycle.
  • Apply Virtualization and Cloud Integration: Implement and execute virtualization and cloud technologies to enhance operational efficiency.
  • Design Deployment Strategies: Construct continuous integration and delivery pipelines using systematic planning and creative problem-solving.
  • Evaluate Monitoring and User Feedback: Assess monitoring strategies and interpret user feedback to refine and improve the development process.
  • Apply Security and Compliance Best Practices: Integrate security processes and compliance measures by combining incorporating cross-cutting security aspects to facilitate risks.
  • Create Microservices and Scalable Architectures: Design and develop scalable microservice architectures, applying innovative solutions to complex system requirements.
  • Operate Production Environments: Configure deployment software measures, apply best practices for incident management and resolve problem, e.g. rollbacks.
  • Investigate Advanced DevOps Topics: Explore and research advanced concepts and current trends in DevOps to foresee the impact on future methodologies and practices.
  • Apply DevOps for AI Systems: Implement DevOps practices tailored to AI workflows, including data versioning, model deployment, and monitoring of AI performance in production.
  • Bass, Len, Ingo Weber, and Liming Zhu. DevOps: A software architect’s perspective. Addison-Wesley Professional, 2015 (available as e-book with a campus-wide license)
  • Len Bass and John Klein. Deployment and Operations for Software Engineers: A DevOps Engineering Textbook, 2022 (will be made available as PDF to students of the course)
  • Len Bass, Qinghua Lu, Ingo Weber, and Liming Zhu. Engineering AI Systems: Architecture and Devops Essentials. Addison-Wesley Professional, 2025 (available as e-book with a campus-wide license)

Instructors

If you have an important question, please send an email to devops.ase (at) xcit.tum.de