Kursplan fastställd 2022-02-01 av programansvarig (eller motsvarande).
Kursöversikt
- Engelskt namnArchitectures for scale-out systems
- KurskodDAT490
- Omfattning7,5 Högskolepoäng
- ÄgareMPSOF
- UtbildningsnivåAvancerad nivå
- HuvudområdeDatateknik, Informationsteknik
- InstitutionDATA- OCH INFORMATIONSTEKNIK
- BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd
Kurstillfälle 1
- Undervisningsspråk Engelska
- Anmälningskod 24111
- Max antal deltagare50 (minst 10% av platserna reserveras för utbytesstudenter)
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0121 Inlämningsuppgift 4,5 hp Betygsskala: TH | 4,5 hp | ||||||
0221 Tentamen 3 hp Betygsskala: TH | 3 hp |
|
I program
Examinator
- Philipp Leitner
- Enhetschef, Interaktionsdesign och Software Engineering, Data- och informationsteknik
Behörighet
Grundläggande behörighet för avancerad nivåSökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Särskild behörighet
Engelska 6Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.
Kursspecifika förkunskaper
Avklarade kurser i programmering med ett minimum av:- 7,5 hp i programmering
- 7,5 hp i objektorienterad design
Syfte
Kursmålet är att lära studenter hur man tar sig från en enkel webbapplikation som exekveras mot en ensam backend-server till moderna storskaliga websystem. Detta innebär studier av de arkitekturella principerna som används vid design av en sådan applikation, såväl som konkret teknologi som är nödvändig för att hantera storskaliga system. (där de viktigaste delarna är övervakning och automatisk driftsättning). En annan viktig del av kursen är datadriven beslutsfattning för driftsättning, t.ex. Kanarieversioner, stegvis utrullning, A/B-testning och kaostestning. Alla delar i kursen kommer belysas från två håll: industristandarden och forskningen.Lärandemål (efter fullgjord kurs ska studenten kunna)
Kunskap och förståelse
- beskriva och skilja på vanliga arkitekturstilar och mönster som används för att bygga storskaliga horisontellt skalande system, i synnerhet sådana som verkar på webben.
- beskriva hur industristandarden ser ut hos ledande företag, som Google och Microsoft, när det kommer till design, driftsättning och hantering av systemen.
Färdigheter och förmåga
- använda övervakningslösningar för att identifiera fel och prestandaförsämringar i horisontellt skalande system
- automatisera driftsättning för att återhämta systemet från fel eller för att rulla ut nya versioner utan direkt mänskligt inblandade
- använda funktionsflaggor, blå/grön driftsättning, och kanarieversioner som bas för en datadriven driftsättning
- designa och exekvera A/B-test och kaostestning
- komponera vanliga byggstenar i en skalbar webbarkitektur, inklusive molntjänster, (omvänd) proxy, innehållsleveransnätverk och lastbalanserare, för att förbättra ickefunktionella egenskaper av horisontellt skalande system.
- planera och utföra datadrivna utrullningar och bedöma resultatet av dessa på ett statistiskt korrekt vis.
Värderingsförmåga och förhållningssätt
- granska och diskutera aktuell forskning inom området horisontellt skalbara system.
- bedöma och förbättra arkitekturen för ett horisontellt skalande system med avseende på prestanda och resilience
Innehåll
I denna kurs lär sig studenterna nyckelkoncept, arkitekturella byggstenar, tillvägagångssätt och konkreta verktyg som ledande företag inom teknologin, t.ex. Microsoft eller Google, använder för att designa, driftsätta och hantera storskaliga webbaserade applikationer. Vi diskuterar, utvärderar och experimenterar med grundläggande arkitektoniska byggstenar för horisontellt skalande system, tekniker och koncept (som molnbaserade datortjänster och automation av driftsättning), avancerade recilliensetekniker (som kanarieversioner och kaostestning) och aktuell forskning inom området för horisontellt skalande system. Fokus i kursen kommer ligga på automation av infrastruktur, datadriven beslutsfattning och grundstenarna inom horisontellt skalande system.Organisation
Undervisningen består av föreläsningar, seminarier, övningar (både på föreläsningar och hemma) samt examination. Utöver detta tillkommer litteratur för obligatorisk och valfri läsning.Litteratur
Kurslitteratur kommer att publiceras senast 8 veckor innan kursstart.Examination inklusive obligatoriska moment
Kursen examineras genom en individuell skriftlig salstentamen och skriftliga inlämningsuppgifter som vanligtvis genomförs i grupper. Delmomentet inlämningsuppgifter examineras baserat på studentens individuella bidrag.Studenten ska lämna in själv- och kamratbedömningar under kursens gång vilka kommer vara del av underlaget för bedömningen av studentens individuella bidrag till inlämningsuppgifterna.
Studenter som inte har bidragit tillräckligt till inlämningsuppgifterna, kommer ombeds att genomföra en individuell uppgift för att få godkänt betyg.
Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.