Git Product home page Git Product logo

kobo-coder / lecture_notes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from itu-devops/lecture_notes

0.0 0.0 0.0 48.04 MB

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

Home Page: https://learnit.itu.dk/course/view.php?id=3019324

License: Other

Python 9.20% Jupyter Notebook 85.23% Dockerfile 0.09% Go 0.07% Shell 0.27% HTML 5.14%

lecture_notes's Introduction

License: CC BY-NC-SA 4.0

image

DevOps, Software Evolution and Software Maintenance

Content

This page contains information on the schedule, material, exam, etc. for the elective "DevOps, Software Evolution and Software Maintenance Content" at IT University of Copenhagen, spring 2022 (BSc course description on LearnIT and MSc course description on LearnIT).

Schedule

Sessions (lectures combined with exercises) are on Tuesdays from 10:00 to 14:00 first in Auditorium 2 (0A35) and then in rooms 4A14/4A16.

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

10:00 - 14:00

Helge

Prep. material

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

Refactor ITU-MiniTwit to work on modern system

2

8/2

10:00 - 14:00

Helge

Prep. material

Packaging applications, Containerization with Docker

Using Docker

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

3

15/2

10:00 - 14:00

Helge

Prep. material

Provision of local and remote virtual machines

Using Vagrant, VirtualBox, and DigitalOcean

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

4

22/2

10:00 - 14:00

Alexander (Bird&Bird), Helge

Prep. material

Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment, @11:00 Guest lecture on Software Licensing

Using Travis CI (Simulator test)

Setup CI & CD for reproducible builds, tests, delivery, and deployment

5

1/3

10:00 - 14:00

Helge

Prep. material

What is DevOps and configuration management

Cleaning and polishing of your ITU-MiniTwit and entering maintenance (Simulator starts)

6

8/3

10:00 - 14:00

Helge

Prep. material

Monitoring

Using Prometheus and Grafana

Add monitoring to your ITU-MiniTwit

7

15/3

10:00 - 14:00

Helge

Prep. material

Software Quality, Maintainability & Technical Debt

Understand SonarQube Quality Model and experiment with linters.

Enhancing CI/CD setup with static code analysis

8

22/3

10:00 - 14:00

Mircea

Prep. material

Logging, and Log Analysis. Service-level agreements.)

A Basic EFK Stack

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

9

29/3

10:00 - 14:00

Mircea

Prep. material

Security of web-facing applications

A Basic Pen-Test with Metasploit

Security Assessment & Pen Testing

10

5/4

10:00 - 14:00

Mircea

Prep. material

Deployment strategies, scalability, load balancing.

A Basic Swarm

Isolate components into services/containers/VMs

12/4

-

-

-

Easter Break

-

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

11

19/4

10:00 - 14:00

Mircea

Workshop

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

12

26/4

10:00 - 14:00

Mircea

Guest Lecture & Infrastructure as Code

MiniTwit Infrastructure as Code

Encode your infrastructure setup

13

3/5

10:00 - 14:00

Mircea & Helge

Documentation of Systems and Projects & Guest Lecture on DevOps by Zander (https://www.eficode.com/)

Simulator stops. Write report.

14

10/5

10:00 - 14:00

Mircea & Helge

Exam prep., Thesis topics, Evaluation, Cookies :)

Write report.

  • Exam submission: Latest Wednesday 1/6/2021 14:00

  • Exam dates: 21/6/2021 to 24/6/2021

Peer-feedback, presentations, and discussions in exercise sessions

  • Go → 4A14 (direction black board)

    • Group a (Group A), Group c (DevOpps), Group l (iBois), Group r (Rhododevdron), Group d (DevelOps), Group n (DevØps)

  • C# → 4A16 (direction black board)

    • Group f (PayRespect), Group g (Call Of Duty BlackOps), Group o (TBD), Group e (ASPirin), Group i (A-team), Group m (DeadlyDevops)

  • Java, TypeScript, Elixir → 4A14/4A16 (center)

    • Group h (Continuous disintegration), Group j (Root), Group b (Group Bee), Group k (DevUps)

TA Supervision

Currently, we do not have any TAs for this course. Mircea and Helge will provide some supervision during the exercise sessoins. In case you know of some "older" students that are experienced in the courses topic and that might be interested in TAing, please let us know.

Recordings

This is not a distance course. This term, we will not record the lectures. You will have access to all written lecture material through this repository though.

Recommendation

All examples in class target Pop!_OS 21.10. Essentially, this is a Ubuntu 21.10 (Impish Indri) Linux distribution. There are many more such Ubuntu derivates, choose one of your liking: Linux Mint, Elementary OS, KDE Neon, etc.

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 such a Linux installed natively on your machine.

Find installation instructions session_00/README.adoc.

Note, we do not have any experiences with the new M1-based Macs. Neither do we have access to one of these. Consequently, likely many of the technologies that we demonstrate will have issues on these computers and we won’t be able to support you much.

Team

  • Teachers: Helge, Mircea

Communication

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

Groups

Table 2. Overview over all groups.
Index Name Members Technology

BSc

Group a

Group A

aleso, jkof, lukb, mfau, sals

Go

BSc

Group c

DevOpps

osbr, jlhj, hjel, anpf, chkg

Go

BSc

Group f

PayRespect

momj, rhen, seho, jacj, emio

C#/.Net, React, TypeScript

BSc

Group g

Call Of Duty BlackOps

lakl, frot, adbe, cafm, anlf

C#/.Net

BSc

Group h

Continuous disintegration

smdi, luvu, ahto, lann, siam

Java/Spark

BSc

Group j

Root

milb, deyi, deni, antni, alja

TypeScript/Node

BSc

Group l

iBois

jacmo, askw, cger, ladr, tovs, alwe

Go (Iris)

BSc

Group o

TBD

kong, clyt, eyey, csbe

C#/.Net & JavaScript (React)

BSc

Group r

Rhododevdron

adbo, albn, aljb, thwr

Go (Gin)

MSc

Group b

Group Bee

sarw, fadd, dibo, vise, lucn

Java (Spring)/ JavaScript (React)

MSc

Group d

DevelOps

boer, tesp, asno, calm, jtth, ddel

Go

MSc

Group e

ASPirin

npal, osha, jubr, oeje, jsow

C#/.Net

MSc

Group i

A-team

agbe, crie, dant, jone, harp

C#/.Net

MSc

Group k

DevUps

enbe, muki, hoch, dawo, krif

Elixir (Pheonix)

MSc

Group m

DeadlyDevops

jrus, szyg, alih, lfor, npan

C#/.Net & JavaScript (Vue)

MSc

Group n

DevØps

erav, hbel, apal, gimu, toap

Go (Gorilla)

Ungrouped yet

  • antbr, ddel, fbah, hahr, hrto, krif, slaj, vson, losm

Exam Schedule

Attributions

Organization icon made by Freepik from www.flaticon.com

lecture_notes's People

Contributors

helgecph avatar mircealungu avatar banksdev avatar gustavclausen avatar laszloforgacs avatar tschesky avatar mathiashoeyrup avatar avborup avatar endritbeqiri avatar sanderbuk avatar aske-w avatar lasselupe33 avatar alexander34ro avatar edibegovic avatar motosh99 avatar mikaeleythor avatar martinconradsen avatar thomsen96 avatar andersbjergfelt avatar rasmus-adn avatar nimertz avatar matt035343 avatar the-lvol avatar heyjoakim avatar hjaltesorgenfrei avatar fr3d- avatar dawidwoz avatar arklaide avatar danielstokholmthomsen avatar hvsio avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.