Tworzenie złożonych systemów w architekturze mikroserwisowej

by:
Czas trwania 5 dni

Najbliższe terminy tego szkolenia

09.06 13.06 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się
13.10 17.10 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się

Szkolenie
dedykowane
dla Twojego
zespołu

Cena szkolenia 3500 PLN (netto)

Standardy JSystems

  1. Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
  2. Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
  3. Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
  4. Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Zapisz się
Program szkolenia
  1. Wstęp - co zamierzamy osiągnąć
    • Dzielenie modularnego monolitu na mikroserwisy
    • Komunikacja synchroniczna i asynchroniczna w architekturze mikroserwisowej
  2. Architektura aplikacji
    • Zapoznanie z domeną systemu
    • Bounded Context
    • Model C4
  3. Drivery architektoniczne
  4. Przygotowanie środowiska pracy
    • Instalacja środowiska deweloperskiego (IDE)
    • Instalacja Javy
    • Instalacja MySQL
    • Zbudowanie projektu szkieletowego na podstawie szablonu z repozytorium
  5. Architektura mikroserwisowa
    • Zalety mikroserwisów
    • Wyzwania systemów rozproszonych
    • Monolit vs Mikroserwisy
    • Refaktoring systemów typu legacy za pomocą architektury mikroserwisowej
    • SLA
  6. Integracja mikroserwisów
    • API niezależne od technologii
    • Wspólna baza danych
    • Komunikacja synchroniczna vs asynchroniczna
    • Zdalne wywołania procedur (RPC)
    • REST
      • Protokół HTTP
      • JSON
      • Zasoby
        • Metody HTTP
        • Kody odpowiedzi
        • Reprezentacje
      • Domena
        • CRUD vs domena
        • Mapowanie domeny na REST
      • HATEOAS - maszyna stanów
      • Cache
      • Wersjonowanie API
    • Ten sam kod w wielu usługach
    • Service Discovery
    • Load balancing
    • Retryable
    • Grodzie
    • Circuit breaker
    • Rozproszone logowanie
    • Serwer konfiguracyjny
  7. Dzielimy monolit
    • Powody dzielenia
      • Nierównomierny rozwój systemu
      • Struktura zespołu
      • Technologia
      • Bezpieczeństwo
    • Splątane zależności
    • Problem wspólnej bazy danych
      • Eliminowanie relacji kluczy obcych
      • Wspólne dane
      • Współdzielone dane
      • Wspólne tabele
    • Problem transakcji
      • Odrzucanie całej operacji
      • Transakcje rozproszone
    • Wysoko wydajne raporty danych - implementacja wzorca CQRS poziom 2
      • Problem wydajności
      • Widoki zmaterializowane
  8. Testowanie mikroserwisów
    • Piramida testów
    • Testy E2E i ich wady
      • Zależność od środowisk wdrożeniowych
      • Niedeterministyczność
    • Testy kontraktowe
      • Provider
      • Consumer
      • Biblioteka PACT
    • Testowanie na produkcji
      • Deployment vs Release
      • Wdrożenia kanarkowe
      • Monitoring
  9. Bezpieczeństwo
    • Wprowadzenie
    • SSO
    • OAuth 2.0
    • JWT
  10. Podsumowanie

Opis szkolenia

Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!


O szkoleniu

Kompleksowe szkolenie pokazujące proces budowania złożonego systemu informatycznego w architekturze rozproszonej (mikroserwisy). Zalety i wyzwania stojące podczas wykorzystania takiej architektury oraz sprawne przejście od monolitu, poprzez modularny monolit do klasycznych mikroserwisów na przykładzie prawdziwej aplikacji.



Cel szkolenia

Zrozumiesz, że mikroserwisy to nie tylko modny zwrot, przyciągający uwagę programistów w ofertach pracy, przygotujesz się na wyzwania idące za wdrożeniem architektury mikroserwisowej, a także zobaczysz jak najlepiej wykorzystywać zalety takiego podejścia. Zrozumiesz jak dobrze wyznaczać granice serwisów oraz jak zadbać o poprawną i bezawaryjną komunikację między nimi. Na koniec pochylimy się nad kwestiami bezpieczeństwa i testowania rozproszonych usług.



Dla kogo?

Adresatami są osoby pracujące na codzień, lub mające zamiar pracować ze złożonymi systemami informatycznymi w architekturze rozproszonej. Wymagane umiejętności to znajomość języka programowania Java, przynajmniej na średnim poziomie, podstawowa znajomość SQL oraz Spring Boot.



Co usprawnisz w swojej pracy?

Jeżeli w Twoim projekcie macie zamiar podjąć decyzję o wykorzystaniu mikroserwisów to dużym plusem będzie zdobycie umiejetności prawidłowego podzielenia obecnego monolitu, a następnie wdrożenie zdobytej na kursie wiedzy jak zrobić to najefektywniej.



Gdzie użyjesz nabytą wiedzę?

Szkolenie przyda Ci się podczas pracy z aplikacjami w architekturze rozproszonej. Pozwoli Ci wprowadzić całą gamę usprawnień do projektu, którego zdecydowanie wpłyną na jego jakość. Jeżeli dopiero zamierzasz wdrożyć podział na mikroserwisy to dzięki kursowi zrobisz to dobrze i bezpiecznie.



Czego się nauczysz?

Poznasz techniki projektowania aplikacji w architekturze mikroserwisowej oraz dzielenia na niezależne usługi istniejących aplikacji w formie monolitu. Poznasz techniki zapewnienia bezawaryjnej i bezpiecznej komunikacji pomiędzy usługami oraz wykorzystania największych zalet architektury.



Prework - jak przygotować się do szkolenia?

  1. Przypomnienie najważniejszych aspektów programowania w języku Java
    • Podstawowe kontrukcje typu warunek, pętla itd.
    • Programowanie obiektowe w Java
    • Kolekcje
    • Stream API
  2. Przypomnienie czym jest Spring Boot jako framework do tworzenia nowoczesnych aplikacji
    • Beany/wstrzykiwanie zależności
    • 3-warstwowa architektura
    • Podstawy REST API
    • Komunikacja z bazą danych
  3. Powtórka podstawowych informacji o bazach danych i języku SQL:
    • Co to jest baza danych?
    • Co to jest tabela?
    • SELECT ... FROM ... WHERE .... ORDER BY
    • INSERT/UPDATE/DELETE

Spring BOOT

Nowoczesny framework do szybkiego tworzenia aplikacji webowych. Pozwala w łatwy sposób udostępnić aplikację za pomocą wbudowanego serwera HTTP w postaci REST API. Umożliwia szybką implementację najbardziej potrzebnych funkcjonalności aplikacji, takich jak połączenie z bazą danych czy wysyłkę emaili.

MySQL

Jedna z najbardziej popularnych, relacyjnych baz danych. Bardzo dobrze wspiera język SQL (Structure Query Language). Jest wykorzystywana zarówno w małych jak i dużych projektach. Cechuje się wysoką niezawodnością i szybkością działania.



Prowadzący szkolenie:
Marcin Nowak



Architekt oprogramowania i lider techniczny z 11-letnim doświadczeniem w programowaniu w technologii Java i tworzeniu systemów klasy Enterprise. Posiada wieloletnie doświadczenie w pracy z systemami zarówno legacy jaki i greenfield, posiadającymi bardzo złożoną i trudną w zrozumieniu domenę biznesową (life science, farmacja, procesy produkcji, energetyka zawodowa). Wielki entuzjasta Domain Driven Design, architektury zdarzeniowej (EDA) oraz mikroserwisowej. Zwolennik dzielenia się wiedzą (https://appsynergy.pl) i przekazywania jej w jak najprostszy sposób, najlepiej na przykładach zaczerpniętych z prawdziwych projektów. Widział pracę z obu stron projektu (biznes i developerzy), więc bardzo dobrze rozumie potrzebę grania obu ekip do jednej bramki. Prywatnie szczęśliwy mąż i ojciec dwójki synów.


Stanowisko robocze


Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Terminy gwarantowane

Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.

Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.

Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje. Ewentualne ryzyko ponosimy my jako organizator.

Przejdź do terminów tego szkolenia

Szkolenia online Szkolenia online odbywają się na żywo z udziałem trenera. Uczestniczy łączą się na szkolenie za pomocą platfomy ZOOM. Informacje o wymaganym niezbędnym oprogramowaniu oraz informacje organizacyjne uczestnicy otrzymują na 7 dni przed datą rozpoczęcia szkolenia.
Inne szkolenia tej kategorii Sprawdź pozostałe    szkolenia Architektura oprogramowania!

Sprawdź, co mówią o nas ci, którzy nam zaufali

  • 4.81/5

    Architektura oprogramowania

    29-03-2025 Ogrom wiedzy przekazany w przystępny sposób. Bardzo dużo poruszanych tematów. Otwiera głowę niezależnie od dziedziny w IT. Wojciech Bonicki, NASK S.A.
  • 5.0/5

    Architektura oprogramowania

    01-02-2025 Dużo wiedzy w przystępnej formie - polecam. Jarosław Słabik, DMT Software House Sp. z o.o.
  • 5.0/5

    Architektura oprogramowania

    01-02-2025 Świetne zaangażowanie i energia prowadzącego. Wysoki poziom i tempo utrzymane przez całe szkolenie. Miłosz Kinel, Asseco Poland SA
  • 5.0/5

    Architektura oprogramowania

    14-12-2024 Szkolenie dobrze przemyślane, widać ciąg myślowy dzięki czemu łatwo powiązać kolejne elementy przedstawiane w szkoleniu. Otwartość na dyskusje i rozwijanie tematów, które nie są ujęte na slajdach. Polecam :) Mariusz Wyszomierski, Centralny Ośrodek Informatyki
  • 5.0/5

    Architektura oprogramowania

    14-12-2024 Bardzo dobre wprowadzenie, podsumowanie i uzupełnienie wiedzy z zakresu architektury IT (w zależności od własnego poziomu wejściowego), obejmujące zarówno mocne teoretyczne podstawy, jak i praktyczne rozwiązania, przedstawione w zrozumiały i zwyczajnie - atrakcyjny - sposób. Michał Kaczmarski, OSOBA PRYWATNA
  • 5.0/5

    Architektura oprogramowania

    14-12-2024 Mega fajne szkolenie, ogromna piguła wiedzy podana w przystępny i ciekawy sposób. Trenerowi zależy, żebyś widział i zrozumiał. :) Michał Olszak, EMPLOYER BRANDING EVENTS Ewelina Gwizdowska
  • 5.0/5

    Architektura oprogramowania

    07-12-2024 Dużo wiedzy praktycznej. Bardzo dobra atmosfera. Super wykładowca Bogdan Wilk, Narodowy Fundusz Zdrowia
  • 5.0/5

    Architektura oprogramowania

    07-12-2024 Szkolenie było przeprowadzone na najwyższym poziomie – bardzo profesjonalne i dobrze zorganizowane. Dużym atutem była ogromna ilość praktycznych informacji oraz nacisk na zastosowanie zdobytej wiedzy w rzeczywistych projektach. Poruszane zagadnienia były szczegółowo omówione, co pozwoliło na głębokie zrozumienie kluczowych tematów związanych z architekturą oprogramowania. Całość dostarczyła nie tylko solidnej dawki wiedzy teoretycznej, ale również inspiracji do wdrażania nowych rozwiązań w codziennej pracy. Polecam każdemu, kto szuka praktycznego i merytorycznego szkolenia! Piotr Zwoliński, Novomatic Technologies Poland Sp. z o.o.
  • 4.81/5

    Architektura oprogramowania

    07-12-2024 Świetne szkolenie, doskonały prowadzący! Zakres szkolenia porządkuje wiele spraw i otwiera na nowe spojrzenie na temat architektury systemów. Jan Ulatowski, Narodowy Fundusz Zdrowia
  • 4.81/5

    Architektura oprogramowania

    30-11-2024 Przekrój przez architekturę systemów. Polecam jako pierwsze szkolenie z architektury. Jarosław Pleskot, Redge Technologies Sp. z o.o.
  • 5.0/5

    Architektura oprogramowania

    26-10-2024 Całe szkolenie było przeprowadzone w sposób angażujący, Prowadzący zachęcał do dzielenia się własnymi doświadczeniami oraz wyczerpująco odpowiadał na zadawane pytania. Ciekawy sposób przedstawienia teorii, liczne przykłady oraz praktyczne ćwiczenia sprawiły, że każdy mógł wynieść coś wartościowego. Karolina Mioduszewska, Tide Software Sp. z.o.o.
  • 5.0/5

    Architektura oprogramowania

    12-10-2024 Bardzo ciekawe, merytoryczne szkolenie. Poprowadzone w ciekawy i profesjonalny sposób. Monika Zakrzewska, Benefit Systems S.A.
  • 5.0/5

    Architektura oprogramowania

    12-10-2024 Polecam szkolenie, jego program. Polecam trenera Michała Podbielskiego, pasjonata i profesjonalistę w swojej dziedzinie Maciej Boryś, Benefit Systems S.A.

Trenerzy kategorii Architektura oprogramowania

Marcin Nowak
Michał Podbielski
Zapisz się

Masz jakieś pytania? Skontaktuj się z nami!

Odpowiadamy na telefony i maile w godzinach 9:00-17:00 od poniedziałku do piątku.

Telefon 22 299 53 69
Napisz do nas

Potrzebujesz więcej informacji?

Wiadomość wysłana

Przyjęliśmy Twoją wiadomość i skontaktujemy się z Tobą w tej sprawie

Klikając OK wrócisz do formularza

Nasza strona korzysta z plików cookie. Możesz zmienić zasady ich używania lub zablokować pliki cookie w ustawieniach przeglądarki. Więcej informacji można znaleźć w Polityce prywatności. Kontynuując korzystanie ze strony, wyrażasz zgodę na używanie plików cookie.