Erlang og OTP til distribuerede, fejltolerante systemer
Erlang blev udviklet hos Ericsson til at køre telefoncentraler, der ikke måtte gå ned — og den oprindelse præger alt ved sproget. Dets aktørmodel, lette processer og filosofi om let it crash gør det til en af de få platforme, hvor en tilgængelighed på ni ni-taller er et realistisk teknisk mål og ikke en salgspåstand. OTP-frameworket lægger gennemprøvede abstraktioner — GenServer, Supervisor og tilstandsmaskiner — oven på dette fundament og giver dig de standardmønstre, der bruges i produktionssystemer hos WhatsApp, RabbitMQ og CockroachDB.
Det lærer du
Du begynder med Erlangs samtidighedsmodel og procesprimitiver og går derefter videre til kernen i OTP: at skrive GenServer-callbacks, strukturere supervisionstræer og anvende fejltolerancestrategier, der isolerer fejl, før de breder sig. Herefter dækker forløbet avancerede OTP-adfærdstyper og gen_statem-tilstandsmaskiner, kommunikation mellem distribuerede Erlang-noder, dynamisk supervision og live kodeopgraderinger uden at stoppe et kørende system. Senere kurser behandler Mnesia — Erlangs indbyggede distribuerede database — ydelsesprofilering, observerbarhed og sikring af distribuerede noder. Forløbet afsluttes med designmønstre fra virkelige OTP-systemer og arkitektur for robuste distribuerede applikationer fra ende til anden.
Læringsforløbet
Tolv kurser spænder fra A2 til C2. Forløbet begynder på A2-niveau med Grundlæggende Erlang og samtidighed, går videre til B2-niveau med OTP-kerne og det grundlæggende i fejlhåndtering og fortsætter derefter gennem otte C1-kurser om distribueret Erlang, versionsstyring, Mnesia og sikkerhed. De sidste to C2-kurser — Opbygning af robuste distribuerede applikationer og Designmønstre i Erlang OTP fra virkelige anvendelser — samler det hele i systemdesign i produktionskvalitet.
Sådan fungerer det
Hvert kursus er opdelt i korte, fokuserede lektioner, som du gennemfører i den indbyggede kodeeditor med feedback i realtid. Du kan få hjælp af en AI-mentor, når du går i stå med et supervisionstræ eller et vanskeligt scenarie med distribueret beskedudveksling, så du kan fortsætte uden at miste overblikket.