Microservices og DevOps

Måden at sælge software på har igennem de seneste år forandret sig markant – fra at sælge ”et system” til at tilbyde ”services på abonnement”. Dette skifte har radikalt ændret, hvordan vi skal designe, udvikle og drifte software. Den nye tilgang til at sælge software giver samtidigt mulighed fra at udvikle nye features og sætte dem i drift i løbet af få minutter og timer – til glæde for kunderne. Fagpakken Microservices og DevOps vil komme spektret rundt omkring arkitekturmønstre, metoder, teknikker og konkrete værktøjer, man benytter til at udvikle og drifte fleksible, pålidelige og skalerbare systemer. Undervisningen vil lægge megen vægt på det operationelle – så forbered dig på også at gøre det i praksis

Målgruppe:

Denne fagpakke henvender sig fortrinsvist til programmører og softwareudviklere, da opgaver og eksamen er tilrettelagt omkring opgaver med konkret kodning og softwareudvikling ved hjælp af Java, Linux og domænespecifikke sprog.

  Undervisningsform:

Undervisningen er en kombination af seminarer og opgaveløsning. Ved seminarerne er der forelæsninger, gruppearbejde og diskussioner. Mellem seminarerne arbejder deltagerne i grupper med konkrete arbejdsopgaver, der evalueres af underviseren. Gennem gruppearbejdet opnår deltagerne faglig sparring, og de kan hjælpe hinanden gennem studiet. Gruppearbejdet kan foregå via fysisk møde eller via digitale værktøjer.

Du skal regne med en ugentlig studieindsats på gennemsnitligt 12-15 timer. Dette kan variere efter forudsætninger og ambitionsniveau.

Enkeltfag Periode Kr. ECTS Ansøg
DevOps og Container Teknologi 06.02.20 - 02.04.20 6.000 5 AU
Skalerbare Microservices 03.04.20 - 01.07.20 6.000 5 AU
Udviklingsprojekt i Microservices og DevOps 28.08.20 - 31.10.20 6.000 5 AU
Indhold:

Fagpakken beskæftiger sig med væsentlige og centrale resultater inden for forskning og praksis i emnerne microservice arkitekturer, DevOps og kontinuert idriftsættelse/deployment. Herunder vil der blive berørt en række hovedemner og et udvalg af delemner:

  • Softwarearkitektur for distribuerede og microservice systemer med speciel fokus på kvaliteterne tilgængelighed, pålidelighed, skalerbarhed og driftbarhed.
  • Virtualisering og containerteknologier med speciel fokus på infrastructure-as-code domæne specifikke sprog, som tillader automatiseret idriftsættelse af arkitekturer i en cloud computing sammenhæng.
  • Udviklingsprocessor/DevOps samt værktøjer og platforme, som støtter op om agil og kontinuerlig test, release og idriftsættelse.
  • Programmering af taktikker til at sikre tilgængelighed, testbarhed og skalerbarhed. 
Udbytte:

Faglige kompetencer: Deltagerne opnår fortrolighed med centrale begreber og teknikker indenfor arkitekturer og udviklingsprocesser til analyse, design, implementering og test af microservice/distribuerede systemer.

Praksisorienterede kompetencer: Fortrolighed med konkrete arkitekturer og programmering for at sikre tilgængelige, pålidelige og skalerbare distribuerede systemer, samt domænespecifikke sprog til konstruktion og idriftsættelse af container-baserede systemer.

Akademiske kompetencer: Der vil blive lagt vægt på analytiske aspekter, metodik og videnskabelige arbejdsmetoder.

Adgangskrav:

Diplomuddannelse i softwarekonstruktion, bacheloruddannelse i datalogi, ikt-ingeniøruddannelse eller tilsvarende samt efterfølgende to års relevant erhvervserfaring.

Har du ikke en af de adgangsgivende uddannelser, kan du søge om optagelse efter individuel vurdering.

Enkeltfag Periode Kr. ECTS Ansøg
DevOps og Container Teknologi 06.02.20 - 02.04.20 6.000 5 AU
Datoer for undervisning:
06.02.20
28.02.20
13.03.20
Udbyder:
Aarhus Universitet
Undervisningssted:
Aarhus Universitet
IT-byen Katrinebjerg
Åbogade 34
8200 Aarhus N
Indhold:

Indholdet i dette enkeltfag omhandler væsentlige og fundamentale resultater inden for forskning og praksis i emnerne DevOps, container teknologi, kontinuerlig integration, release og idriftsættelse.

Der lægges vægt på praktisk programmering (Java toolstack) og erfaring med konkrete container teknologier og domænespecifikke sprog (Docker, Docker Swarm eller tilsvarende), på NoSQL database teknologier (MongoDB, Redis eller tilsvarende), kontinuerlig integration og idriftsættelse ved hjælp af build pipelines (Jenkins, BitBucket pipelines eller tilsvarende), samt systemovervågning (ELK, Nagios eller tilsvarende).

Der lægges endvidere vægt på software engineering teknikker for evaluering af pålidelighed og tilgængelighed ved hjælp af test.

Udbytte:

Læringsmålet med enkeltfaget er, at den studerende kan implementere, teste og idriftsætte distribuerede systemer af moderat kompleksitet i en container baseret og cloud computing sammenhæng ved hjælp af en DevOps udviklingsproces og værktøjer til kontinuerlig idriftsættelse.

Specifikt er målet, at den studerende er i stand til, at:

  • Specificere og implementere distribuerede systemer i container- og cloud miljøer ved hjælp af container orienterede domæne specifikke sprog og anvendelse af Broker og REST paradigmet.
  • Udvikle, teste og idriftsætte distribuerede systemer ved hjælp af en DevOps udviklingsproces.
  • Anvende og programmere teknologier og værktøjer til kontinuerlig idriftsættelse og overvågning.
Eksamensform:

Praktisk programmeringsprøve (1½ time) i forlængelse af obligatorisk projekt. Godkendelse af et mindre antal milestones på det obligatoriske projekt. Intern prøve, 7-trins-skala.


Enkeltfag Periode Kr. ECTS Ansøg
Skalerbare Microservices 03.04.20 - 01.07.20 6.000 5 AU
Datoer for undervisning:
03.04.20
27.04.20
20.05.20
Udbyder:
Aarhus Universitet
Undervisningssted:
Aarhus Universitet
IT-byen Katrinebjerg
Åbogade 34
8200 Aarhus N
Indhold:

Indholdet i dette enkeltfag omhandler væsentlige og fundamentale resultater inden for forskning og praksis i emnet microservice arkitektur med fokus på design, implementering, og evaluering af back-end arkitekturer til sikring af høj pålidelighed, tilgængelighed og skalerbarhed.

Enkeltfaget vil indeholde centrale teknikker fra softwarearkitektur med henblik på at beskrive og evaluere kvalitetsattributter af softwarearkitektur. Der lægges vægt på praktisk erfaring med design og implementering med brug af specifikke arkitektur- og designmønstre (indenfor eksempelvis redundans, fault tolerance, horisontal skalering, event sourcing og messaging) samt konkrete produkter og biblioteker (eksempelvis RabbitMQ).

Der lægges endvidere vægt på software engineering teknikker for evaluering af pålidelighed, tilgængelighed, monitorering og skalerbarhed ved hjælp af test.

Udbytte:

Læringsmålet med enkeltfaget er, at den studerende kan designe, implementere, evaluere, idriftsætte og overvåge pålidelige, tilgængelige, og skalerbare microservice arkitekturer.

Specifikt er målet, at den studerende er i stand til, at:

  • Designe og implementere microservice systemer af moderat kompleksitet ved hjælp af arkitektur-mønstre og taktikker til at sikre høj oppetid, pålidelighed, monitor-barhed og skalerbarhed.
  • Idriftsætte og teste horisontalt skalerede, og redundante microservice systemer i container-miljøer og cloud miljøer.
  • Anvende centrale begreber og teknikker inden for datalagring af store datamængder.
Eksamensform:

Mundtligt forsvar og demonstration (20 minutter) af obligatorisk projekt i løbet af kurset. Godkendelse af et mindre antal milestones på det obligatoriske projekt. Intern prøve, 7-trins-skala.


Enkeltfag Periode Kr. ECTS Ansøg
Udviklingsprojekt i Microservices og DevOps 28.08.20 - 31.10.20 6.000 5 AU
Datoer for undervisning:
28.08.20
11.09.20
02.10.20
Udbyder:
Aarhus Universitet
Undervisningssted:
Aarhus Universitet
IT-byen Katrinebjerg
Åbogade 34
8200 Aarhus N
Indhold:

Dette enkeltfag består af et større projektforløb omkring en konkret microservicearkitektur, fx et konkret projekt med inspiration fra den studerendes arbejdsplads eller et open source-projekt.

Udbytte:

Læringsmålet med kurset er, at den studerende anvender og reflekterer over microservices og DevOps i relation til et større, konkret software-projekt.

Specifikt er målet, at den studerende er i stand til, at:

  • Anvende begreber, teknikker og metoder til at specificere, designe, implementere, teste og idriftsætte en microservice arkitektur i en DevOps sammenhæng.
  • Evaluere teknikkers, metoders og begrebers styrker og svagheder i en konkret sammenhæng.
  • Kommunikere analyser, design, processer og evalueringer klart og utvetydigt.

 

Eksamensform:

Skriftlig rapport på basis af projektet. Mundtligt forsvar (15 minutter) i tilknytning til projektrapporten. Ekstern prøve, 7-trins-skala.


Praktisk information

Periode:
06.02.20 - 31.10.20
Datoer for undervisning:
06.02.20
28.02.20
13.03.20
03.04.20
27.04.20
20.05.20
28.08.20
11.09.20
02.10.20
Pris:
18.000 kr. Derudover må påregnes udgifter til litteratur samt til forplejning under seminarerne.
ECTS:
15
Sprog:
Dansk
Udbyder:
Aarhus Universitet
Undervisningssted:
Aarhus Universitet
IT-byen Katrinebjerg
Åbogade 34
8200 Aarhus N
Ansøgningsskema:
Udbyders info:

Særlige bemærkninger

Download flyer om fagpakken Microservices og DevOps.

Det bemærkes, at der er et mindre overlap i faglighed/pensum med fagpakkerne: Softwarearkitektur i praksis og Pålidelig software og softwarearkitektur. 

Vejledning

Faglig vejledning:
Lektor Henrik Bærbak Christensen
E-mail: hbc(at)cs.au.dk
Tlf.: 2165 8252

Praktisk vejledning:
Efter- og Videreuddannelse
ST Uddannelse
E-mail: evu.st(at)au.dk
Tlf.: 8715 2821

Forskerne fortæller

“I denne fagpakke bliver der rig mulighed for at eksperimentere og afprøve en mængde teknikker og værktøjer i praksis, samtidigt med at vi får terminologien og teorien på plads. Meget af jeres arbejde i fagpakken er forankret i et konkret projekt, SkyCave, som starter som en simpel multi-user tre-lags arkitektur, men som igennem kurset bliver refaktoriseret til en skalerbar, ’highly available’, microservice arkitektur, som I kontinuert idriftsætter via en DevOps proces. I de senere dele af fagpakken har I et stærkt ­fundament, og I får mulighed for at tone/fokusere på emner, som I finder specielt interessante såsom ’architectural stability’, versioning, performance optimering, event sourcing, chaos engineering, monitoring og meget andet.”
Henrik Bærbak Christensen, underviser på fagpakken Microservices og DevOps.


It-vest - samarbejdende universiteter · Åbogade 15 · 8200 Aarhus N · tlf. 7027 6850 · it-vest(at)it-vest.dk · www.it-vest.dk

Cookie- og privatlivspolitik