Kursen devops (v1)
Kursen Kontinuerlig integration och driftsättning i molnet, a.k.a. devops, lär ut hur man jobbar med utveckling och it-drift tillsammans genom att lära grunderna i att sätta upp och automatisera processer för kontinuerlig integration och driftsättning i en molnbaserad miljö.
#Förkunskaper
Det formella förkunskapskravet är:
För tillträde till kursen krävs avklarade kurser motsvarande 45 högskolepoäng inom området datavetenskap/programvaruteknik/telekommunikation varav minst 20hp inom programmering och databaser.
#Innehåll
Kursen omfattar följande områden:
Innebörden av arbetsfilosofin DevOps
Kontinuerlig integration (Continuous Integration CI)
Kontinuerlig driftsättning (Continuous Deployment - CD)
Automatisering av processer för testning, byggning och driftsättning.
Virtualisering med Docker för utveckling, test och driftsättning
Testning av kod och applikation
Versionshantering av kod
Relaterade verktyg och tekniker.
#Mål
Följande är kursens mål, indelat i undergrupper.
#Kunskap och förståelse
Efter genomförd kurs skall studenten:
vara väl bevandrad i arbetsfilosofin DevOps och ha en övergripande förståelse för dess användning, fördelar och nackdelar.
ingående redogöra för utveckling baserat på DevOps och de tekniker som omfattas genom att skriftligen beskriva och sammanfatta erfarenheter och observationer från övningar.
kunna visa goda kunskaper i att använda valda tekniker genom att tillämpa dessa tekniker i praktiska övningar.
#Färdighet och förmåga
Efter genomförd kurs skall studenten:
ha en grundlig, både teoretisk och praktisk, förmåga att förstå och använda Docker
kunna utveckla, dokumentera och presentera ett projekt som använder verktyg och processer för automatisk CI och CD.
ha god praktisk förmåga att hantera de verktyg och utvecklingsmiljöer som används vid utveckling och felsökning vid CI och CD.
#Värderingsförmåga och förhållningssätt
Efter genomförd kurs skall studenten:
- översiktligt förstå, kunna förklara samt allmänt kunna argumentera val av miljö och verktyg för DevOps och CI.
#Kursmoment
Kursen är uppdelad i kursmoment där varje kursmoment uppskattas till 20h studerande i form av programmering, undersökning, läsande, övningar, uppgifter, redovisning och eftertanke. Alla kursmoment skall redovisas och du samlar alla redovisningar i din me-sida.
Kursen avslutas med ett större avslutande moment som examinerar kursen.
#Kmom01: Introduktion till DevOps
Vi startar kmom01 med att bekanta oss med koden för ett redan påbörjat projekt. Vi behöver servrar för att driftsätta projektet och ska ska använda oss av Azure för att hosta servrar i molnet. Dessutom börjar vi titta på innebörden av DevOps.
Läs instruktionen till kursmoment 01.
#Kmom02: Docker
Vi packar in vårt kod i en Docker container och lär oss används docker-compose. Samtidigt ser vi till att fixa en Docker container för utvecklingsmiljön och en för produktionsmiljön.
Läs instruktionen till kursmoment 02.
#Kmom03: Configuration Management och Continuous Deployment
Vi lär oss CM verktyget Ansible och använder det för att enkelt kunna skapa nya servrar och driftsätta vår kod.
Läs instruktionen till kursmoment 03.
#Kmom04: Monitoring och logging
Nu när vi har ett system upper och rullande behöver vi veta när något går fel, vi ska börja övervaka systemet.
Läs instruktionen till kursmoment 04.
#Kmom05: Continuous Security
Devops handlar om att brygga kommunikationsbarriärer, det är stort fokus på development och operations teams men även security behöver inkluderas för att det ska bli ett bra resultat. I detta kursmoment ska vi kolla på hur vi kan inkludera säkerhet i hela utvecklingsprocessen, så att alla blir ansvariga för säkerhet i ett projekt.
Läs instruktionen till kursmoment 05.
#Kmom06: Container orchestration
Er Microblog har fått många nya användare och ni behöver utöka er infrastruktur för att hantera tycket på servrarna. Ni börjar med att utöka hur ni använder Ansible och startar upp fler servrar och containrar på servrarna. Dock märker ni snabbt att det är krångligt och Ansible är inte gjort för att användas till detta. Istället börjar ni läsa på om container orchestration.
Läs instruktionen till kursmoment 06.
#Kmom07/10: Uppsats
Avslutningsvis skriver du en uppsats. Uppsatsen är det sista som du gör och tillsammans med alla redovisningar används detta som underlag för att examinera dig från kursen.
Läs instruktionen till kursmoment 07/10.
#Kurslitteratur
Måste jag skaffa kurslitteraturen?
#Kurslitteratur
Som kurslitteratur har jag valt följande böcker. Det är en god idé att läsa igenom dessa under kursen, det finns läsanvisningar till dessa i samband med varje kursmoment. * Effective DevOps – Jennifer Davis, Ryn Daniels
Building a Culture of Collaboration, Affinity, and Tooling at Scale.
#Referenslitteratur
Följande böcker har jag valt som referenslitteratur. De kan vara bra att ha tillhands och ger lite extra läsmöjligheter. De behövs inte för att klara kursen men vill du bemästra kursens område så är dessa böcker bra startpunkter. Välj och vraka och ta ett eget beslut om de böcker du vill använda.
Securing DevOps – Julien Vehent Explores how the techniques of DevOps and security should be applied together to make cloud services safer.
The Pheonix Project – Gene Kim, Kevin Behr, George Spafford
En roman om en IT chef som går över till DevOps.
#Övrig litteratur
I varje kursmoment kan det tillkomma läsanvisningar i till exempel artiklar, manualer och webbmaterial.
#Rekommenderad studieplan
Kursen har en rekommenderad studieplan som visar en översikt över kursens olika moment och när de i tiden bör utföras för att studenten skall ligga i fas med kursens planering.
I studieplanen visas när rättning sker av respektive inlämnat moment samt när det finns möjligheter att göra restinlämningar.
Läs mer om den rekommenderade studieplanen.
#Lektionsplan
Det finns en lektionsplan som visar en detaljplanering för undervisningen i kursen, vecka för vecka.
Läs mer om lektionsplanen.
#Handledning
Förutom den planerade undervisningen enligt lektionsplanen så kan du få hjälp och stöd i kursens chatt och i Diskussioner på Canvas. Chatten lämpar sig för korta enkla frågor och Diskussioner för mer utredande och längre frågor och svar. Om du inte får svar i chatten så rekommenderas att du postar i Diskussioner.
Läs om lärarstöd och handledning.
#Betygsättning
Det finns ett särskilt dokument som beskriver hur bedömning och betygsättning sker.
#Ladok
Enligt kursplanen finns ett antal ladokmoment och de är kopplade till kursens kursmoment enligt följande.
Kursens moment | Ladok moment enligt kursplan |
---|---|
Kmom01 + kmom02 + kmom03 | Inlämningsuppgift 1 á 2.5hp |
Kmom04 + kmom05 + kmom06 | Inlämningsuppgift 2 á 2.5hp |
Kmom07 - kmom10 | Inlämningsuppgift 3 á 2.5hp |
Den sista inlämningen bestämmer kursens slutbetyg vilket utfärdas när samtliga moment godkänts.
Totalt omfattar kursen 7.5hp.
Läs mer om rapportering av resultat.
#Kursutvärdering och kursutveckling
Det finns ett särskilt dokument som beskriver hur arbetet med kursutvärderingar och kursutveckling sker. Det är oerhört viktigt för mig att du säger till vad du tycker om kurs och kursmaterial, du kan alltid hojta till i både Diskussioner, chatt eller mail.
Läs om hur vi jobbar med kursutvärdering och kursutveckling.
#Kursplan
Från och med hösten 2023 byter kursen kurskod till DV1673.
#Revision history
- 2023-01-27: (E, aar) Uppdaterade kurskod/kursplan.
- 2022-10-26: (D, aar) Uppdaterade kurskod/kursplan.
- 2020-01-24: (C, aar) Ändrade hur kmoms ger poäng.
- 2019-04-16: (B, aar) Uppdaterad inför V1.
- 2018-12-06: (A, mos) Första revisionen efter kursens inrättande.