Systemdesign for backendudviklere
Systemdesign er disciplinen, hvor man beslutter, hvordan softwarekomponenter skal hænge sammen i stor skala — blandt andet ved at vælge de rigtige databaser, kommunikationsprotokoller, cachelag og udrulningstopologier, før der skrives en eneste linje applikationskode. Dette forløb dækker hele området, fra de grundprincipper alle backendudviklere har brug for, til de cloud-native- og mikrotjenestemønstre, der bruges i produktionssystemer med millioner af forespørgsler.
Det lærer du
Du arbejder dig gennem det centrale ordforråd for skalerbare systemer: strategier for datalagring, API-design og kommunikation mellem tjenester. Du lærer om avanceret cache- og CDN-arkitektur, sikkerhedshensyn, der indarbejdes i designfasen, samt afvejningerne bag garantier for høj tilgængelighed og pålidelighed. Senere kurser behandler opdeling i mikrotjenester, cloud-native-designmønstre og teknikker til optimering af ydeevne, som adskiller systemer, der kan klare trafikspidser, fra dem, der ikke kan. Forløbet afsluttes med virkelighedsnære casestudier, der knytter hvert begreb til konkrete, genkendelige systemer.
Læringsforløbet
Tolv kurser spænder over niveauerne A1 til C2. Det første kursus introducerer principperne i systemdesign på begynderniveau, mens det andet og tredje opbygger de centrale backendkomponenter og grundlaget for skalerbarhed. Fra B2 bliver fokus mere specialiseret: Avancerede strategier for datalagring, API-design og kommunikation mellem tjenester, Avanceret caching og CDN'er samt Sikkerhed i systemdesign. De sidste fire C1-kurser dækker høj tilgængelighed, mikrotjenestearkitektur, optimering af ydeevne og cloud-native-mønstre. Forløbet afsluttes på C2 med Virkelighedsnære casestudier i systemdesign, hvor du anvender hele pensum på problemer fra faktiske distribuerede systemer.
Sådan fungerer det
Hvert kursus er opdelt i korte, fokuserede lektioner med interaktive øvelser og scenariebaserede spørgsmål. En indbygget AI-underviser besvarer spørgsmål i den rette sammenhæng, så du kan fortsætte uden at skifte fane. Da systemdesign i høj grad er begrebsbaseret, lægger lektionerne vægt på beslutningsbegrundelser — hvorfor én tilgang er bedre end en anden under bestemte begrænsninger — frem for udenadslære.