Skip to content

Materials for the elective "DevOps, Software Evolution and Software Maintenance" at IT University of Copenhagen, spring 2021

License

Notifications You must be signed in to change notification settings

gustavjohansen98/lecture_notes

 
 

Repository files navigation

License: CC BY-NC-SA 4.0

image

DevOps, Software Evolution and Software Maintenance

Content

This page contains information concerning the schedule, material, exam, and learning outcomes for the elective "DevOps, Software Evolution and Software Maintenance Content" at IT University of Copenhagen, spring 2021 (see LearnIT).

Schedule

Sessions (lectures combined with exercises) are on Mondays from 8:00 to 12:00 on Zoom

OBS: We expect you to be present during the entire time, not only the first two hours.

Table 1. Course schedule Note: While times are locked, the topics are subject to change.
# Date Time Lecturer Preparation Topic Exercises Project Work

1

1/2

8:00 - 12:00

Helge

Prep. material

Project start, forming groups, SSH, SCP, and Bash

Refactor ITU-MiniTwit to work on modern system

2

8/2

8:00 - 12:00

Helge

Prep. material

Version control systems (Git), branching strategies, and collaborative development workflows

Refactor ITU-MiniTwit in another programming language and tech. stack

3

15/2

8:00 - 12:00

Helge

Prep. material

Virtualization via containers and virtual machines

Using Vagrant and Docker

Continue refactoring, introduction of DB abstraction layer, and deployment of your ITU-MiniTwit to a remote server.

4

22/2

8:00 - 12:00

Helge

Prep. material

Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment

Using Travis CI

Setup CI & CD for reproducible builds, tests, delivery, and deployment (Simulator starts)

5

1/3

8:00 - 12:00

Sofus (Eficode) & Helge

Prep. material

Guest lecture & What is DevOps

Cleaning and polishing of your ITU-MiniTwit and entering maintenance

6

8/3

8:00 - 12:00

Helge

Monitoring

Add monitoring to your ITU-MiniTwit

7

15/3

8:00 - 12:00

Helge

Software Quality, Maintainability & Technical Debt

Enhancing CI/CD setup with static code analysis

8

22/3

8:00 - 12:00

Alexander (Bird&Bird), Mircea

Guest lecture (@11:00 on Software Licensing), Service-level agreements, logging, and log analysis

Add logging to your ITU-MiniTwit and create a set of SLAs for it

9

29/3

8:00 - 12:00

Mircea

Deployment strategies, scalability, load balancing

Isolate components into services/containers/VMs

5/4

-

-

-

Easter Break

-

Operations & maintenance still reacting on issue reports and fixing of errors :)

10

12/4

8:00 - 12:00

Mircea

Workshop

Continue isolation of components into services/containers/VMs and Fix reported problems

11

19/4

8:00 - 12:00

Mircea

Security of web-facing applications

Perform security review of another group’s system & Post-mortem on you own system

12

26/4

8:00 - 12:00

Mircea

Infrastructure as Code

Encode your infrastructure setup

13

3/5

8:00 - 12:00

Mircea

Documentation of Systems and projects & Wrap-up

Simulator stops. Write report.

14

10/5

8:00 - 12:00

Write report.

  • Exam submission: Latest 12/5/2021 14:00

  • Exam dates: 8/6/2021 to 11/6/2021

TA Supervision

The TAs will be present in the Zoom meeting during the exercise session from 10:00 to 12:00.

During that time, two breakout rooms will be present for supervision with the groups.

Supervision will be conducted in 20 minute time slots.

Up to two supervision sessions can be conducted simultaneously – one in each breakout room.

A group can sign up for a time slot in the Excel sheet in our Teams channel.

Groups are encouraged to give a brief heads-up of what their issue is in the signup sheet. This will allow the TAs to assign the person who is most suitable for that issue to the group. Furthermore, if many teams sign up for the same issue, then this can be addressed to the whole class instead.

The signup table for the next week will be marked in yellow in the sheet. On Mondays, the signup table for the present day will be marked in green.

Recordings

Recorded lectures (screen and voice) should be accessible on VidGrid.

Recommendation

All examples in class target Download Linux Mint 20.1 Ulyssa, which is in essence a Ubuntu 20.04.1 LTS (Focal Fossa). Since all sessions contain hands-on exercises, we recommend that you have such a Linux version installed on a computer. (In case you decide to run another operating system, we cannot provide too much support for these during class.) The recommended setup is to have Linux Mint/Ubuntu installed natively on your machine.

Find installation instructions session_00/README.adoc.

Team

  • Teachers: Helge, Mircea

  • TAs: Alexander, Michał, and Sebastian

Communication

Outside teaching sessions you can communicate with each other, the TAs and the teachers via the Teams channel.

Groups

BSc

  • Group a <Name> nieb, mmho, emkn, haiv, marq

  • Group c <Name> hoja, edbe, andst, reis, geko

  • Group e group e abea, gujo, luka, sena, beba

  • Group i ?? sank, thda, hefr, jemm

  • Group j Python Kindergarten jokk, vino, asie, iras, bjja

  • Group k TheMagicStrings kaky, emja, jglr,krbh,thhk

  • Group d Cool Beans ella, eikl, joaa, daaa, emdi

MSc

  • Group b b sikr, jefh, join, nime, frem

  • Group f Group Fibonacci lous, laulu, nanm, magl, vigp

  • Group g Group G sewa, rdmo, alfr, jgoh, vlcr

  • Group h Neutral arov, rade, frvo, abax, jsjo

  • Group l AJKPT asse, jhhi, kols, pebu, thta, magjo

Ungrouped yet

BSc: guri, marti MSc: aene, ddel, jobo, krif

Attributions

Organization icon made by Freepik from www.flaticon.com

About

Materials for the elective "DevOps, Software Evolution and Software Maintenance" at IT University of Copenhagen, spring 2021

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 78.7%
  • Python 20.9%
  • Other 0.4%