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
Grupa docelowa: 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ń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna