Kurzy a certifikace Microservices
Microservices – návrh architektury a principy distribuovaných aplikací
Cena (bez DPH)
Microservice architektura umožňuje vytvářet flexibilní, škálovatelné a nezávisle rozvíjené aplikace. Její úspěšné využití však vyžaduje nejen správný návrh jednotlivých služeb, ale také vhodně nastavené vývojové a provozní procesy a jasně definované odpovědnosti týmů.
V kurzu se seznámíte s principy návrhu distribuovaných aplikací, klíčovými návrhovými vzory a osvědčenými postupy z praxe. Na základě zkušeností lektora z malých firem i velkých korporací pochopíte, kdy je microservice architektura vhodným řešením, jak správně navrhnout jednotlivé služby a jak předcházet typickým chybám. Na reálných příkladech si představíme různá architektonická řešení – od menších aplikací až po rozsáhlé podnikové systémy, včetně konceptu Domain-Oriented Microservice Architecture (DOMA).
Pozornost věnujeme také souvisejícím IT procesům a technologiím, jako jsou DevOps, Service Ownership, automatizované testování a nasazování (CI/CD), API management, monitoring a observabilita. Ukážeme si, jak navrhovat systémy odolné vůči výpadkům a zajistit jejich dlouhodobý rozvoj a škálovatelnost.
Kurz je zaměřen na pochopení architektury, návrhových rozhodnutí a souvisejících procesů, nikoli na programování. Obsah je přizpůsobován potřebám účastníků a velikosti jejich IT prostředí.
Lektor kurzu

Jindřich započal svou kariéru jako backend vývojář v malé garážové společnosti, když slovo „startup“ bylo neznámý pojem. Většinu své dosavadní kariéry má spojenou se společností Internet Mall, kde vyrostl z vývojáře až do vedoucího oddělení vývoje.
Více o lektorovi
V Mallu, mimo jiné, pomohl zavést Agilní vývoj, DevOps kulturu, přechod na Mikroslužby a také pomohl mnoha chytrým lidem vyrůst do seniorních technických, nebo management rolí. Ve svém volném čase pomáhá společnostem s přechodem na mikroslužby ve spolupráci s Datascriptem. Jindřich má odškoleno desítky kurzů s vynikajícím průměrným hodnocením a pomáhal několika společnostem s miliardovými obraty.
Cílová skupina
- Vývojáři aplikací
- Systémoví architekti
- Vedoucí IT
- IT profesionálové
Cíle kurzu
- Seznámení s MS architekturou
- Pochopení vývoje distribuované aplikace
- Postupy jak zavést CI/CD, Agilní vývoj, Monitoring, Service Discovery
- Od vývoje aplikace, přes testování až po nasazení a reálný provoz
- Best practice při provozování kritické aplikace, která musí fungovat non-stop
Osnova
Monolitická architektura
- Popis výhod a nevýhod
- Definování bodu, kdy je vhodné začít přemýšlet o Microservices
- Best practice pro efektivní vývoj
Microservice architektura
- Základní popis konceptu microservices
- Popis výhod a nevýhod
- Typické příklady
- Dekompozice monolitického systému
- Transakce v distribuovaném systému
- Bezpečnost mikroslužeb
- Pokročilé problémy během vývoje
- CQRS a Event Soursing
- DOMA – Domain-Oriented Microservice Architecture
Komunikační paterny
- REST
- Události
- GraphQL
- gRPC
API Management
- Verzování API
- HATEOAS
- API Gateways
- Service mesh
Koncept DevOps
- Odpovědnost vývoje a operations
- Automatizace prostředí
- Technické prostředky vs Mindset
- Praktické zkušenosti ze zavádění DevOps
Testování aplikace
- Doporučené testy pro mikroslužby
- Integrace testů do deployment procesu
- Automatizace testů
Continuous delivery
- Jak začít s CI / CD
- Best practice / Bad practice
- Různé způsoby deploymentu
- Bezvýpadkové nasazování
Monitoring
- Jak efektivně monitorovat mikroslužby
- Observabilita vs Monitoring
- Alerting
- Zkušenosti se zaváděním detailního aplikačního monitoringu
Service Discovery
- Důležitost SD v rámci vývoje mikroslužeb
- SD jako středobod ekosystému mikroslužeb
Patterny při budování odolného software proti selhání jednotlivých komponent
Technické specifikace
- Preferovaný program na poznámky, nebo poznámkový blok
- Obecné znalosti programování (kurz není zaměřen na specifický programovací jazyk)
- Obecné znalosti návrhu informačních systémů
- Obecné znalosti metodik vývoje (Waterfall, Agile)
- Během kurzu nebudeme programovat.
- Během kurzu můžete (záleží na složení účastníků) malovat jednoduché diagramy návrhu architektury, nebo IS.
Předpoklady účastníka
- Obecná znalost databázových systémů
- Znalost protokolu HTTP
- Znalost formátu JSON
- Znalost agilního vývoje