Kursplan för Arkitekturer för horisontellt skalande system

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 24117
  • Max antal deltagare50
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0121 Inlämningsuppgift 4,5 hp
Betygsskala: TH
4,5 hp
    0221 Tentamen 3 hp
    Betygsskala: TH
    3 hp
    • 16 Mar 2023 em L
    • 07 Jun 2023 fm L
    • 16 Aug 2023 fm L

    I program

    Examinator

    Gå till kurshemsidan (Öppnas i ny flik)

    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 6
    Sö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.