Projektowanie microservisów z użyciem DDD

Warsztat ekspercki to coś więcej niż szkolenie. To praca w kontekście konkretnych problemów.

Kod: arch-ms-ddd
Kategoria: Microservices
Forma: 40% wykłady / 60% warsztaty
Czas trwania: 3 dni
Odbiorcy: architekci, developerzy, analitycy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Warsztat jest przeznaczony dla uczestników, którzy zastanawiają się jak pogodzić zrozumienie dziedziny problemu z decyzjami technicznymi. Nieodpowiednie ustalenie granic, odpowiedzialności i hermetyzacji usług prowadzi w krótkim czasie do katastrofy całego systemu.

Mikrousługi zamiast pomagać i spełniać składane obietnice powodują dodatkowy narzut złożoności technicznej i chaos organizacyjny. Dzięki zastosowaniu strategicznych wzorców DDD oraz analizy Event Storming zorientowanej na zachowania i reguły jesteśmy w stanie racjonalnie podejść do wymienionych problemów i przygotować się na większość typowych sytuacji, które naruszają architekturę rozwiązania.

Warsztat prezentuje spójną metodykę, która integruje rzetelną analizę, sprawdzone style architektoniczne i najlepsze wzorce implementacyjne.

Wyróżniki warsztatu

  • Dobre określenie granic i odpowiedzialności microservices
  • Strategiczne podejście do integracji usług - ich zależności i api
  • Wyłanianie serwisów poprzez zachowania i spójność procesu dzięki Event Stormingowi

Program Warsztatu eksperckiego

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Wstęp do Event Stormingu
    1. Problem jaki chcemy rozwiązać
    2. Stosowalność
    3. Metodyka
      1. Mechanika
      2. Role i odpowiedzialność
  2. Sesja strategiczna - demonstracja z udziałem uczestników
    1. Łagodne wejście w nomenklaturę poprzez stopniowe wprowadzanie notacji
    2. Odkrycie procesów biznesowych
    3. Wstępna destylacja Bounded Context
    4. Określanie klasy problemu z jakim mamy do czynienia w każdym BC
      1. Szacowanie ryzyk
      2. Drivery architektoniczne
    5. Odkrywanie ukrytych Bounded Context
      1. Conway's Law vs SOA:Single Source of Truth
      2. Destylacja dziedziny kontekstów tak aby były reużywalne
    6. Opracowanie strategii integracji BC
      1. PublishedLanguage
      2. OpenHost
      3. SharedKernel
      4. AnticorruptionLayer
      5. Customer-Supplier
      6. Conformist
    7. Propozycja modułów technicznych na podstawie granic BC (jeden BC to potencjalnie kilka modułów)
      1. Przygotowanie modułów do życia w izolacji jako microservices
      2. Destylacja API
  3. Sesja taktyczna - demonstracja z udziałem uczestników lub praca własna
    1. Kryteria wyboru kontekstów, w których będziemy stosować DDD
    2. Sesja ES z pogłębionym poszukiwaniem reguł domenowych
      1. Określanie granic agregatów - reguły i heurystyki
        1. Typowe problemy
        2. Źle obrany korzeń
        3. Zbyt duży agregat - brak kohezji
        4. Mylenie obiektów biznesowych z widokami (projekcjami)
      2. Najlepsze praktyki
    3. Przykład implementacji kilku agregatów
      1. Testowanie
      2. Mapowanie relacyjno-obiektowe
      3. Optimistic Locking
  4. Architektura systemu - przegląd podejść
    1. Modularyzacja
      1. Poziomy separacji
      2. Techniki integracji modułów
    2. Command + Command Handler
    3. Ports and Adapters
    4. Restful
      1. Poziomy dojrzałości
      2. Rest jako protokół aplikacyjny a nie transportowy
    5. Event Driven Architecture
      1. Architektury oparte o zdarzenia
        1. Events broker
        2. Events Bus
        3. Eventual Consistency
      2. Zależności czasowe pomiędzy zdarzeniami
      3. Sagi – orkiestracja zdarzeń
  5. Command-query Responsibility Segregation – rozszerzona architektura warstwowa
    1. Rozwiązanie problemów z niedopasowaniem ORM do przeglądu danych w Gridach
    2. Zorientowanie na skalowanie i rozszerzalność
    3. Tworzenie dedykowanych modeli: do odczytu, do operacji biznesowych
      1. Rozwiązanie problemów z wydajnością
      2. Architektura zewnętrznego indeksu z użyciem noSQL


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twój Warsztat.

Materiały związane z warsztatem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów warsztat

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.