top of page
  • Zdjęcie autoraKarol Pietruszka

Monorepo - zalety i wady w architekturze serverless


Webchefs_Software _for_humans_monorepo_article

Jeśli interesujesz się programowaniem, pojęcie architektury serverless z pewnością nie jest Ci obce. Technologia bezserwerowego przetwarzania danych stale zdobywa coraz większą popularność. Decydując się na serverless, do wyboru mamy dwie opcje przechowywania danych: monorepo i multirepo. Wybór pomiędzy nimi od dawna stanowi ciężki dylemat wśród programistów. Mimo to pierwsza opcja, czyli monorepo, cieszy się wzrastającym powodzeniem.

Korzysta z niej już wielu ważnych graczy rynkowych: Google, Facebook czy Twitter. Jednak, jak to bywa, nie może być aż tak piękne – oprócz licznych korzyści tej technologii, pojawia się też kilka jej minusów. Jakie są zatem zalety i wady monorepo w architekturze serverless?



Czym jest monorepo?


Pojęcie “monorepo” pochodzi z języka angielskiego i tam też zyskało swoją popularność. Technologia ta pozwala na przechowywanie wielu kodów źródłowych do domeny – jak sama nazwa mówi – w jednym (mono) repozytorium. W przeciwieństwie do monolitu, z którym często mylone jest to pojęcie, monorepo nie polega na mieszaniu źródeł. Katalogi mogą być tutaj dowolnie organizowane w zależności od programisty. Dzięki dedykowanym narzędziom, które pozwalają dopilnować porządku i zoptymalizować strukturę repozytorium, nie musi on jednak wykonywać segregacji ręcznie.


Zalety monorepo

Koncept monorepo wykorzystuje wiele istotnych przedsiębiorstw – Google, Facebook, Twitter, Microsoft. Skoro wszyscy z nich wykorzystują właśnie monorepo, coś musi się w tym kryć. I tak właśnie jest. Monorepo stanowi obecnie jedno z najbardziej nowoczesnych podejść do zarządzania rozbudowanymi aplikacjami. Przemyślmy więc korzyści, jakie nam gwarantuje:


  • wszystko jest w jednym miejscu – nie musimy niczego kopiować i klonować; jeśli w danym miejscu przechowujemy określone ustawienia konfiguracyjne, możemy je po prostu wykorzystać, omijając próby przenoszenia i ciągłego dopasowywania do innych części systemu;

  • ułatwia dokonywanie zmian – wiele części systemu może zostać zmienione za pomocą jednego żądania,

  • zwiększa widoczność – katalogi są jasne i przejrzyste, dzięki czemu łatwo możemy znaleźć rozwiązania, które już wcześniej wykorzystywaliśmy,

  • ułatwia kolaborację pomiędzy częściami zespołu,

  • wspiera zarządzanie zależnościami,

  • ułatwia refaktoryzację.


Wady monorepo

Niestety, obok tych wszystkich atrakcyjnych zalet, które niesie ze sobą monorepo, pojawia się też parę istotnych wad, które warto wziąć pod uwagę przed podjęciem ostatecznej decyzji pomiędzy jednym a wieloma repozytoriami. Do głównych wad monorepo należy:


  • ryzyko słabej organizacji projektu spowodowane faktem, że wszystko jest w jednym miejscu – odpowiednia organizacja powinna być zatem podstawą pracy programisty w monorepo, który, zaniedbując ten obowiązek, znacznie utrudni sobie pracę;

  • problemy z dostępnością – chcąc udostępnić komuś jedynie część swojego projektu, nie mamy innej możliwości niż udostępnić wszystko, co zmniejsza poziom bezpieczeństwa,

  • możliwość wystąpienia problemów wydajnościowych – wielkie środowisko może nieco dłużej się ładować,

  • ryzyko tworzenia niepotrzebnych zależności.


Choć wybór między jednym a wieloma repozytoriami zależy od indywidualnych potrzeb danego projektu, coraz więcej firm decyduje się właśnie na monorepo. Technologia ta niesie ze sobą wiele zalet, obok których występuje też niestety parę wad. Na szczęście, na rynku znaleźć można wiele narzędzi programistycznych, które mogą pomóc w odpowiednim zarządzaniu paczkami danych w pojedynczym repozytorium. Aspekt ten znacznie usprawnia pracę i zmniejsza ryzyko wystąpienia wspomnianych wad.

3 wyświetlenia0 komentarzy

Ostatnie posty

Zobacz wszystkie

Comments


bottom of page