This repository contains the material and content of the DevOps course at KTH Royal Institute of Technology.
The schedule is at https://www.kth.se/social/course/DD2482/calendar/
If you can't see any schedule events on the HTML page
Change course rounds/groups in My settings or change the time period above so that it conforms to the course round.
- Preparatory reading: DevOps principles and demo
- Course introduction Martin Monperrus (Teaching philosophy, flipped classroom, Expectations, Team, Agenda, Grading, Communication, Infrastructure, Master's theses and Research)
- Testimonial from last year's student
- Goals: watch the repo, register one first task as a pull request on this repo.
Week 2: Testing & Continuous Integration
- Preparatory material Testing at scale, Harvesting Production GraphQL Queries to Detect Schema Faults, The Rituals of Iterations and Tests
- Technical Briefing (B. Baudry)
- Student presentations, demonstrations and katacodas
Week 3: Continuous Deployment / Delivery and Feature flags
- Preparatory material An Introduction to Continuous Integration, Delivery, and Deployment, The Top 10 Adages in Continuous Deployment
- Student presentations, demonstrations and katacodas
- Deadline task 1
Week 4: Containers & Serverless
- Preparatory material: Containers for the future, Docker tutorial, A monorepo renaissance and Awesome Docker
- Student presentations, demonstrations and katacodas
Week 5: Infrastructure as Code
- Preparatory material: Best practices for container compliance, Building on-demand staging environments, Gang of eight: a defect taxonomy for infrastructure as code scripts
- Student presentations, demonstrations and katacodas
- Deadline task 2
Week 6: Software bots
- Preparatory material: Software bots, A Software-Repair Robot based on Continual Learning, What a deploy bot taught us about documentation
- Student presentations, demonstrations and katacodas
Week 7: Dependency Management & DevSecOps
- Preparatory material: A 'Worst Nightmare' Cyberattack: The Untold Story Of The SolarWinds Hack, The supply chain of software, successes, challenges, and wombat behind npm, A comprehensive study of bloated dependencies in the Maven ecosystem
- Student presentations, demonstrations and katacodas
- Deadline task 3
- Preparatory material: What is DevOps Culture?, Operational excellence in April Fools' pranks, Continuous Integration Art Hackathon
- Student presentations, demonstrations and katacodas
- Preparatory material Chaos Engineering A Chaos Engineering System for Live Analysis and Falsification of Exception-handling in the JVM
- Monitoring and Observability, MLOps
- Student presentations, demonstrations and katacodas
- Deadline task 4
To pass the course, the student has to complete and pass between 3 and 5 tasks:
- The tasks are in category: "presentation", "essay", "demo", "executable tutorial", "contribution to open-source", "feedback" (choose four out of them, at most one in the same category, it is not necessary to cover everything).
- The grading criteria page is the unique reference which explains how to pass each task category.
- The student proposes a category and a topic, which is discussed and accepted by the TA. The proposal is made as a pull-request on this repository. The four graded contributions must have little overlap.
- The same student cannot choose the same topic for two different tasks. The four tasks should cover different aspects of DevOps.
- Deadlines:
- Deadline to complete task 1: April 5, 17h Stockholm time
- Deadline to complete task 2: April 19, 17h Stockholm time
- Deadline to complete task 3: May 3, 17h Stockholm time
- Deadline to complete task 4: May 17, 17h Stockholm time
- Deadline to complete task 5 (optional): May 23, 17h Stockholm time
- Deadline for repeated tasks (all): May 31, 17h Stockholm time.
- The deadlines are strict and cannot be extended.
- Final grading scheme
- A: 5 completed tasks
- C: 4 completed tasks
- E: 3 completed tasks (excluding feedback)
- Group work is encouraged (max 2 persons) but you cannot be with the same persons for more than 2 projects. You can work alone for one or at most two projects.
- A failed task requires to pass it again at the end of the course, based on the feedback from the failure. A task can only be repeated once.
- If the whole course is failed, no grades are kept if the student registers again to the course the year after.
- After a proposal has been merged, the topic of that proposal cannot be changed.
Group Rules
- When you send a pull request for registration, please follow the name convention of using email addresses of two members to create the folder: email-email.
- We recommend 2 students. Three is also possible for ambitious essays, demos or contribution to open-source.
- All communication for the course DD2482 should be sent to dd2482@eecs.kth.se.
- you create issues here if you think the question is good to be discussed publicly, the rules of netiquette fully apply.
Lectures The lectures are held on campus, per the latest KTH recommendations (https://intra.kth.se/en/campus/sakerhet/kris/corona/information-till-anstallda-med-anledning-av-coronaviruset-1.965906) to maximize the quality of the learning outcomes. The lecture locations are given on KTH Social https://www.kth.se/social/course/DD2482/calendar/.
Lab sessions
- Lab slots are not mandatory. They are given in person (preferably) or videoconf.
- During the planned lab time slot, please use this Queue for booking online meetings
- Specify your zoom meeting link when you register the queue
Examinations: Some tasks require physical presence (presentation, demo), others do not (essay, open-source, feedback).
- Prof. Martin Monperrus (Examiner)
- Prof. Benoit Baudry (Examiner)
- Javier Ron (TA)
- César Soto (TA)
- Deepika Tiwari (TA)
- Khashayar Etemadi (TA)
- KTH Social URL: https://www.kth.se/social/course/DD2482/
- Kopps URL: https://www.kth.se/student/kurser/kurs/DD2482?l=en
- Past editions: