DETAIL ŠKOLENÍ

Efektivní návrh softwarové architektury s využitím Architecture as Code

TERMÍNY

Na dotaz
Doba trvání

1 den

Kde školíme?

David Bečvařík

Software Architect

Tento workshop je zaměřen na řešení klíčových výzev v návrhu architektury softwaru, zejména těch založených na mikroslužbách a distribuovaných systémech. Ukážeme si, jak tvořit a udržovat SW architekturu jako kód pomocí C4 diagramů a jak zdokumentovat jen to nejdůležitější pomocí Architecture Decision Records. Účastníci se seznámí s principy a návrhovými vzory pro řešení problémů jako:

  • Těsné vazby mezi službami (Tight Coupling)
  • Obtížná sledovatelnost (Observability)
  • Bezpečnostní rizika (Security Risks)
  • Zotavení z chyb (Failure Handling)
  • Problémy s datovou konzistencí (Data consistency)

Celý workshop bude veden za pomocí přístupu Architecture as Code, který usnadňuje verzování, revize a automatizaci aktualizací, což zajišťuje, že dokumentace a diagramy odpovídají aktuálnímu stavu systému. Prakticky si vyzkoušíme, jak naše diagramy integrovat s vývojovým portály (Backstage) a nástroji pro observability, tak aby jsme si nejdříve naše architektonické C4 diagramy validovali a posléze i automaticky udržovali.

Témata školení

Témata školení:

  1. Co je to architektura softwaru a proč ji potřebuji
    • Role architektury v agilním vývoji
    • Co je dobrý architektura
    • Jak měřit architekturu
  2. Praktické cvičení:
    • Jak (ne)funguje vývoj bez architektury
  3. Architektura jako kód a role C4 modelu
    • Úvod do C4 modelu: Kontext, kontejnery, komponenty a kódové diagramy.
    • Vhodné nástroje pro C4 modely a jejich vlastnosti (Structurizr, Mermaid, …).
    • Architecture Decision Record – jak zdokumentovat jen to podstatné
  4. Praktické cvičení:
    • Vytvoření C4 modelu pro několik jednoduchých aplikací.
    • Definice SLI/SLO metrik pro naše aplikace.
    • Tvorba týmového Architecture Decision Record
  5. Role Backstage v architektuře a propojení s C4 modelem
    • Úvod do Backstage: Co je Backstage a jak podporuje katalogizaci služeb a vývojářské workflow.
    • Použití Backstage pro správu služeb a komponent: Jak Backstage pomáhá při organizaci a správě projektů.
    • Integrace Backstage s observability a SLO nástroji: Jak propojit Backstage s nástroji jako Prometheus, Grafana a Jaeger pro sledování výkonnostních cílů a kontrolu vazeb.
  6. Praktické cvičení:
    • Nastavení Backstage a registrace služeb.
    • Propojení C4 modelu a Backstage pro kontrolu definice služeb.
    • Propojení C4 modelu s Backstage a nastavení automatizovaných kontrol pro sledování konzistence mezi návrhem a implementací.
  7. Observability a architektura
    • Co je observability? Metriky, logy a trasování, jejich role v udržování kvality při rychlém vývoji.
    • Vazba mezi observability a C4 modelem: Jak observability poskytuje kontrolu nad vazbami mezi komponentami a kontejnery.
    • Jak využít C4 pro identifikaci míst v infrastruktuře, do kterých nemáme dostatečný vhled.
  8. Praktické cvičení:
    • Implementace základního observability stacku se zaměřením na tracing
    • Jak observability umožňuje sledovat a ověřovat vazby mezi systémy a kontejnery podle C4 modelu.
    • Využití observability nástrojů pro automatickou úpravu C4 modelů
  9. Diskuze, Q&A a závěr:
    • Diskuze nad konkrétními problémy účastníků: Odpovědi na otázky a sdílení zkušeností.
    • Shrnutí kurzu a doporučení pro další kroky: Jak pokračovat v aplikaci naučených principů ve vlastní práci.
Pro koho je školení určené

Kdo by se měl zúčastnit:

Tento program je ideální pro vývojáře, softwarové architekty a technické lídry, kteří chtějí zvládnout architekturu software nejen na papíře, ale i v každodenní praxi. Vhodné i pro ty, kdo hledají moderní a efektivní přístup k návrhu systémů, který propojuje modelování s realitou provozu.

Beanz logo
Přehled ochrany osobních údajů

Tyto webové stránky používají soubory cookies, abychom vám mohli poskytnout co nejlepší uživatelský zážitek. Informace o souborech cookie se ukládají ve vašem prohlížeči a plní funkce, jako je rozpoznání, když se na naše webové stránky vrátíte, a pomáhají našemu týmu pochopit, které části webových stránek považujete za nejzajímavější a nejužitečnější.