DETAIL ŠKOLENÍ

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

TERMÍNY

30. 04. 2025Praha12 500 KčObjednat
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 softwarových systémů, zejména těch založených na mikroslužbách a distribuovaných architekturách. Ukážeme si, jak tvořit a udržovat 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 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 workshop je ideální pro vývojáře a architekty, kteří chtějí efektivně přenést teoretické znalosti do praxe. Veškeré použité nástroje a technologie jsou open source a založené na otevřených standardech, takže je můžete snadno implementovat ve vašich projektech.

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ší.