Genom att klicka “Acceptera alla cookies”, du samtycker till lagring av cookies på din enhet för att förbättra webbplatsnavigering, analysera webbplatsanvändning och hjälpa till med våra marknadsföringsinsatser.

Systemdesign för utvecklare

Denna fyra halvdagars kurs riktar sig till erfarna mjukvaruutvecklare som söker att iträda rollen som arkitekt, med ansvar för att designa och implementera storskaliga, distribuerade system.

För att lyckas som arkitekt måste en: 

  • Förstå de affärsmässiga drivkrafter som ett system måste stödja.
  • Kunna härleda funktionella och icke-funktionella krav samt översätta dessa till en övergripande systemarkitektur med hjälp av meningsfulla abstraktioner och visuella verktyg.
  • Nyttja vedertagna arkitekturella principer och mönster för att realisera särskilda systemegenskaper och beteenden.
  • Fatta kritiska beslut gällande teknologi för implementering av systemarkitektur.

Med dess unika mix av teori och praktik, baserad på djup expertis från en mängd olika industriprojekt, erbjuder kursen den kunskap och insikt du behöver för att lyckas med övergången från utvecklare till arkitekt, redo att möta dagens och framtidens utmaningar.

Förkunskaper

Medior till senior utvecklarerfarenhet, med fördel från system (“backend”) eller enterprisemiljö. 

Samtliga laborationer som rör implementering kan utföras oberoende av programspråk.

Innehåll

Efter en inledning där arkitektens roll, dennes ansvar och förväntningar definieras, delas kursen in i följande fyra avsnitt.

Domänmodellering

Systemdesign inleds med att individer med teknisk och domänspecifik expertis samlas för att dela och visualisera sina respektive insikter rörande ett givet affärsområde. Den resulterande domänmodellen möjliggör gemensam, enhetlig förståelse i organisationen och tjänar även som en utgångspunkt för att utforma en systemarkitektur.

Event Modeling är en kollaborativ metod för att uppnå ovan nämna mål genom att beskriva hur ett systems tillstånd förändras över tid via händelser; detta avsnitt introducerar dess grundkoncept och vanligt förekommande modelleringsproblem och lösningar.


Systemkrav och arkitektur

Med en domänmodell från en Event Modeling session i förra avsnittet, kommer du här identifiera funktionella och icke-funktionella krav som bas för att utforma en systemarkitektur.

Icke-funktionella krav - även kallade arkitekturegenskaper - relaterar till aspekter som prestanda, skalbarhet, tillgänglighet, utbyggbarhet och liknande som har kritisk påverkan på systemets struktur och operation.

Med en kravspecifikation, samt en genomgång av vanligt förekommande systemkomponenter (såsom API gateways, databaser, cachar och meddelandeköer), skapar du ett arkitekturdiagram som visualiseras enligt C4 modellen


Arkitekturella koncept

I syfte att detaljstudera och addressera ett distribuerat systems karaktär, såsom kommunikationsstilar, datalagring och åtkomst, elasticitet och andra essentiella faktorer, kommer du i detta avsnitt att bekanta dig med - och applicera - fundamentala arkitekturella principer och mönster:

  • Bygga robusta mikrotjänster.
  • Asynkron, meddelande-styrd kommunikation, samt systemegenskaper som “location transparency” och “eventual consistency”.
  • Orkestrering av transaktionella arbetsflöden.
  • Event Sourcing (och hur det skiljer sig från Event Streaming) och de affärsmässiga och tekniska fördelarna med att lagra en sekvens av händelser som “single source of truth”.
  • Separata skriv och läsmodeller för att hantera applikationstillstånd.
  • Mönstret “Outbox” för att garantera leverans av händelser.

Systemimplementering

I den sista delen av kursen bryggar du rollerna som arkitekt och utvecklare genom att implementera valda delar av den tidigare utformade (och förädlade) systemarkitekturen för en tänkt molnmiljö.

För detta kommer Dapr (Distributed Application Runtime) användas; detta populära open-source initiativ ger tillgång till typiska funktioner hos en molnplattform via standardiserade API:er, som frikopplar applikationskod från underliggande infrastruktur. Distribuerade system kan därmed implementeras på ett språk och plattformsoberoende sätt enligt vedertagna principer och mönster. 

Vad våra kursdeltagare säger om oss

För oss är det viktigt att de som går utbildning med oss är nöjda och får med sig nya saker att implementera i sin vardag. Vill du veta omdöme på en specifik kurs? Kontakta oss gärna.

Jag skulle rekommendera kursen vidare och ger den 5 av 5! Bra att det var hands-on nästan hela tiden.

Kursdeltagare
Testdriven utveckling

Att tillämpa våra nya kunskaper i övningarna och det faktum att läraren var mycket kunnig och kunde ge exempel på alla frågor.

Kursdeltagare
Frontend & React

Det var riktigt trevligt med halvdagar. Det var också väldigt bra att läraren lärde sig under kursens gång vad och hur mycket vi kan och anpassade tempot därefter.

Kursdeltagare
Frontend & React

Jag är glad att jag deltog i denna kurs och kursmaterialet är det senaste och övningarna är bra.

Kursdeltagare
Avancerad C++

Kursdetaljer

Icon for how many days the course is
4 halvdagar
Icon to illustrate what language
Kursen kan hållas på svenska eller engelska
 
Icon to illustrate comment about the training
Kursen ges på distans
Icon to illustrate the dates of the course
Utbildningen ges på förfrågan, kontakta oss
 20 900 SEK 
Anmäl intresse

Har du frågor?
Kontakta oss på 040-617 07 20

Submit Interest

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.