Modularny monolit – kompromis pomiędzy architekturą monolityczną a mikroserwisową

Wyzwanie

Co zrobić, gdy Microsoft Excel przestaje wystarczać? 

Zespół Digital& w PwC Polska stanął przed wyzwaniem stworzenia narzędzia, które zastąpi używany do tej pory dokument Microsoft Excel w procesie śledzenia alokacji członków zespołu na projekty. Jakie wady dotychczasowego rozwiązania skłoniły zespół do szukania nowego? Przede wszystkim mnogość skomplikowanych formuł, które nie zawsze się sprawdzają w dokumencie współdzielonym przez dużą grupę osób.

Rozproszenie dokumentów po różnych systemach

Poza samym Excelem minusem w dotychczasowym procesie był fakt rozproszenia niezbędnych do alokacji pracowników dokumentów po różnych zespołach PwC z innych krajów, a co za tym idzie również po różnych niespójnych ze sobą systemach.



 

Rozwiązanie

Rozwiązaniem okazała się platforma Talent Pool, zbudowana przez zespół Digital& w PwC Polska w celu alokacji pracowników do realizacji projektów. Jakie cechy charakteryzują Talent Pool?

  • integracja danych dotyczących osób pracujących w organizacji z systemu Workday oraz iPower,

  • możliwość szybkiego alokowania osób na projekty,

  • przetwarzanie profili członków zespołu i możliwość wyszukiwania odpowiednich osób na konkretne stanowisko.

Dowiedz się, jak pomagamy wdrażać AI

Architektura modularnego monolitu

W celu szybkiego wdrożenia aplikacji Talent Pool na środowisko produkcyjne, nie odbierając sobie możliwości skalowania systemu w przyszłości, wykorzystano architekturę modularnego monolitu. Jest to idealny kompromis pomiędzy architekturą monolityczną, a mikroserwisową. Pozwala na szybkie rozpoczęcie projektu i adaptowanie architektury do potrzeb biznesowych zmieniających się podczas rozwoju produktu.

W architekturze modularnego monolitu najczęściej stosowanym rozwiązaniem jest jedna baza danych oraz jedna jednostka wdrożeniowa, w ramach której znajdują się wydzielone moduły. Potencjalni klienci mogą komunikować się z aplikacją poprzez API.

Najważniejsze zalety rozwiązania:

  • rozdzielenie logiki biznesowej pomiędzy niezależne moduły. Otwarcie ścieżki na wyskalowanie poszczególnych elementów systemu w przyszłości,

  • niezawodna komunikacja między modułami,

  • uproszczony proces wdrożeniowy systemu w porównaniu z architekturą mikroserwisową,

  • możliwość równoległej, niezależnej pracy nad wieloma częściami systemu w tym samym czasie.

Pułapki rozwiązania:

  • ryzyko zbyt częstej komunikacji między modułami, co może skutkować problemami z wydajnością po rozproszeniu systemu,

  • możliwość skalowalności wyłącznie całego systemu, dopóki nie zastosujemy architektury rozproszonej,

  • niespodziewane zakończenie pracy jednego z modułów wpływa na stabilność całego systemu.

Przykładowe kroki tworzenia systemu od początku

  1. Rozpoczęcie od architektury modularnego monolitu.
  2. Rozwój poszczególnych modułów w ramach systemu.
  3. Wdrożenie pierwszej wersji aplikacji na środowisko produkcyjne.
  4. Telemetria, analiza obciążenia modułów. Obserwacja, czy architektura spełnia założone standardy.
  5. Adaptacja architektury w zależności od potrzeb, utrzymywanie rozwiązań celujących w serce wymagań biznesowych.

Rezultaty

Architektura modularnego monolitu podczas tego projektu okazała się być dla developerów idealnym rozwiązaniem przede wszystkim ze względu na:

  • mały zespół,

  • krótki czas na development (modularny zmniejsza czasochłonność konfiguracji infrastruktury),

  • elastyczność do dalszego rozwoju produktu.

Dzięki wdrożeniu aplikacji Talent Pool uzyskano przejrzyste spojrzenie na przydzielenie osób do zespołu oraz ułatwiono codzienną pracę osobom zarządzającym przydziałami. Dodatkowo, zrobiono krok w stronę ustandaryzowania alokacji dzięki posiadaniu jednego systemu z danymi o aktualnych projektach oraz działaniach biznesowych z nimi związanych. Co więcej, dzięki architekturze modularnego monolitu, wszystko to zrobiono nie tylko przy pomocy małego zespołu, lecz także w krótkim czasie.

piotr marczuk

Na tym projekcie pełniłem rolę architekta aplikacji. Moim zadaniem było zaprojektowanie i nadzorowanie wdrożenia architektury modularnego monolitu, która miała zapewnić elastyczność i skalowalność systemu Talent Pool. Największą satysfakcję sprawiło mi stworzenie wartościowego narzędzia, które znacząco usprawniło procesy alokacji pracowników i odnajdywania osób w organizacji. Największym wyzwaniem z kolei była koordynacja pracy wielu różnych zespołów pracujących zdalnie. Wymagało to nie tylko doskonałej organizacji, lecz także efektywnej komunikacji i współpracy, aby zapewnić spójność i jakość końcowego produktu.

- Piotr Marczuk, Architekt, PwC Polska

Na tym projekcie pełniłem rolę architekta aplikacji. Moim zadaniem było zaprojektowanie i nadzorowanie wdrożenia architektury modularnego monolitu, która miała zapewnić elastyczność i skalowalność systemu Talent Pool. Największą satysfakcję sprawiło mi stworzenie wartościowego narzędzia, które znacząco usprawniło procesy alokacji pracowników i odnajdywania osób w organizacji. Największym wyzwaniem z kolei była koordynacja pracy wielu różnych zespołów pracujących zdalnie. Wymagało to nie tylko doskonałej organizacji, lecz także efektywnej komunikacji i współpracy, aby zapewnić spójność i jakość końcowego produktu.

- Piotr Marczuk, Architekt, PwC Polska


Autor artykułu:

Piotr Marczuk
Architect, PwC Polska

Sprawdź, jakie możliwości kariery czekają na Ciebie w PwC!

Obserwuj nas