Modularny Monolit

Poznaj techniki implementacji modularnych aplikacji poprzez wertykalny podział solucji, pozwalający na tworzenie autonomicznych modułów

Czas: 2 dni
Uczestnicy: do 16 osób (1-2 trenerów)

O szkoleniu

Dzięki tym warsztatom zrozumiesz, czym są aplikacje modularne, jak rozwiązanie monolityczne można podzielić na zestaw autonomicznych modułów i jakie strategie można zastosować, aby płynnie przejść z architektury modularnego monolitu na mikroserwisową. Zaczynając od fundamentalnych zagadnień związanych z architekturą oprogramowania i podziałem pionowym (vertical slice), przejdziemy do bardziej zaawansowanych tematów takich jak czysta architektura, komunikacja międzymodułowa, architektura sterowana zdarzeniami, asynchroniczne przetwarzanie wiadomości, wzorce transakcyjne, wykorzystanie lokalnych kontraktów do zwiększenia niezależności modułów, a także radzenia sobie z transakcjami rozproszonymi z wykorzystaniem wzorca Saga. Finalnie, omówimy strategię tranzycji mikroserwisowej.

Warsztaty mają podział 30/70 pomiędzy teorią a praktyką. Wiele z wymienionych aspektów jest przećwiczonych w praktyce, ponieważ ważne jest, aby zarówno zdobyć wymaganą wiedzę teoretyczną, jak i zaimplementować działający kod.

Czego nauczy się uczestnik?

  • Jak implementować autonomiczne moduły
  • Kiedy wykorzystać dany styl architektury w zależności od modułu
  • Jak komunikować oraz integrować niezależne moduły
  • Czym są lokalne kontrakty i jak pomagają w uzyskaniu autonomiczności
  • Czym jest architektura oparta na asynchronicznych zdarzeniach
  • Jakie wzorce transakcyjne zaaplikować do obsługi wiadomości
  • Jak obsłużyć rozbudowane procesy biznesowe używając wzorca Saga

Program szkolenia

Dzień 1

  • Fundamentalne zagadnienia
  • Architektura modularnego monolitu
  • Współdzielone abstrakcje oraz infrastruktura
  • Wewnętrzna komunikacja międzymodułowa
  • Architektura sterowana zdarzeniami

Dzień 2

  • Asynchroniczne przetwarzanie zdarzeń
  • Wzorce transakcyjne
  • Korelacja wiadomości
  • Saga — rozbudowane procesy biznesowe
  • Przejście na mikroserwisy

Grupa Docelowa

Każdy programista skorzysta z tych warsztatów! Zaczynając od fundamentalnych koncepcji, przechodzimy przez implementację, integrację i testowanie modularnego monolitu. Przykładowy kod będzie wymagać średnio-zaawansowanej znajomości C#/ASP.NET Core.

Trenerzy

Dariusz Pawlukiewicz

Współzałożyciel DevMentors.io, konsultant, inżynier oprogramowania, architekt w EcoVadis. Entuzjasta Domain-Driven Design oraz systemów rozproszonych. Ex-Microsof MVP oraz prelegent na konferencjach branżowych.

Piotr Gankiewicz

Współzałożyciel DevMentors.io, inżynier oprogramowania w Tickmill pracujący nad systemami tradingowymi, a po godzinach kontrybutor open source rozwijający Iggy.rs (message streaming w Rust). Ex-Microsof MVP oraz prelegent na konferencjach branżowych.