Mikrousługi i wzorce architektury rozproszonej

Słowo mikroserwisy padło w tym roku na konferencjach i portalach branżowych w liczbie, która powinna znaleźć się w Księdze Guinessa. Czy ten nowy, eksplodujący na naszych oczach trend zmienia na zawsze naszą branżę, czy też przeminie jak wiele innych rozwiązań z kategorii „silver bullet”. Postaramy się podczas tego szkolenia odpowiedzieć na wiele pytań, wprowadzić podstawowe wzorce i przedstawić techniki projektowania mikrousług. Podzielimy się z Wami naszym doświadczeniami i obserwacjami z implementacji mikrousług i przestrzec przed czającymi się niebezpieczeństwami, a przede wszystkim wywołać dyskusję, która pozwoli odnaleźć Wam Waszą własną drogę w tej nowej architekturze.

Dzień 1

Wprowadzenie do pojęcia architektura oprogramowania

  • Czym jest architektura aplikacji, oprogramowania i korporacyjna?
  • Czym różni się architektura od projektu (ang. design)
  • Jakie można wyróżnić kluczowe elementy architektury aplikacyjnej

Dekompozycja domeny wykorzystując Domain-Driven Design

  • Różne podejścia do strukturyzowania architektury
  • Ubiquitous language – baza komunikacji między programistami i ekspertami dziedzinowymi
  • Bloki budujące w DDD i ich odpowiedzialności
  • Strategiczny rozwój systemu (ang. strategic design)

Część praktyczna
Analiza zadania projektowego, przygotowanie projektu aplikacji (z podziałem na moduły, usługi)
oraz dobór odpowiednich narzędzi.

Dzień 2

Micro Services

  • Monolityczne aplikacje i Micro Services
  • Architektura wokół funkcjonalności biznesowych
  • Smart endpoints and dumb pipes
  • Decentralizacja zarządzania
  • Decentralizacja danych
  • Podział na Micro Services

Usługi RESTful Web Services

  • Konfiguracja aplikacji i podstawowe usługi: praca z parametrami
  • Content negotiation
  • Projektowanie URLi
  • Wykorzystanie parametrów i metod HTTP
  • Wersjonowanie i zarządzanie zasobami
  • Hypermedia as the Engine of Application State (HATEOAS)

Część praktyczna
Praktyka budowy mikro usług oraz ich wzajemnej komunikacji.

Dzień 3

Produkcyjne wdrożenie mikro usług

  • Testowanie akceptacyjne serwisów (Consumer Driven Contracts)
  • Infrastruktura jako kod
  • Modelowanie procesów w obrębie serwisów (orkiestracja i choreografia)
  • Bezpieczeństwo i ograniczanie dostępu poprzez SSO i JSON Web Token
  • Monitoring usług
  • Minimalizacja zasięgu problemów (Cache, Circuit Breaker)

Część praktyczna
Produkcyjne wdrożenie utworzonych usług wraz z wymaganymi zabezpieczeniami oraz
monitoringiem.

Dzień 4

Nierelacyjne bazy danych (noSQL)

  • Dostępne bazy noSQL; kiedy warto i do czego
  • Wolumen, szybkość, spójność – w odniesieniu do dostępnych źródeł danych
  • CAP theorem w praktyce
  • Projektowanie modeli pod kątem odczytu

Część praktyczna
Wykorzystanie bazy MongoDB w środowisku mikro usług

Zapytaj o szkolenie