17 września 2024
Platforma Sahul - Mikroświat w PZU
Od początku swojego istnienia, bazową funkcjonalnością Platformy Sahul było elastyczne zarządzanie infrastrukturą na żądanie, z naciskiem na automatyzację procesów i samoobsługę przez zespoły wytwórcze.
Autor
Szymon Madej
Dlaczego to robimy?
Zacznijmy od początku, czyli w naszym przypadku od genezy nazwy. Sahul to nazwa prakontynentu, który w toku tysiącletnich procesów geologicznych podzielił się na Australię, Nową Zelandię i znaczną część wysp oceanii. Nazwa Sahul jest parafrazą rozbijania aplikacji monolitycznych na moduły, a następnie na mikroserwisy, ale dodatkowo nazwa współgra też z nazwami naszych aplikacji biznesowych.
Sahul narodził się w 2016 roku jako inicjatywa wewnętrza na potrzeby pojedynczej aplikacji biznesowej. Jej zasięg oraz możliwości do wdrażania kolejnych aplikacji opartych o mikroserwisy przez kolejne 8 lat można podsumować mianem ciągłego wzrostu. Od początku swojego istnienia, bazową funkcjonalnością Platformy Sahul było elastyczne zarządzanie infrastrukturą na żądanie, z naciskiem na automatyzację procesów i samoobsługę przez zespoły wytwórcze.
Ważnym pryncypium było dostarczenie jej użytkownikom jednolitej platformy uruchomieniowej dla wszystkich środowisk aplikacyjnych od deweloperskiego do produkcyjnego.
Jak do tego podeszliśmy?
- Platformę Sahul tworzyliśmy w latach, gdy projekty z których jest ona zbudowana, były bardzo młode i dynamicznie rozwijane.
- Podstawowym założeniem było oparcie tej platformy w całości na projektach Open Source, dobieranych i testowanych pod względem ich funkcjonalności w kolejnych etapach jej rozwoju. Przy doborze projektów, z których składa się platforma, kierujemy się stabilnością i bezpieczeństwem funkcjonalności, jakie oferowane są użytkownikowi końcowemu.
- Takie podejście, obok naturalnej ewolucji, wygenerowało konieczne do zaadresowania zmiany łamiące, w których całe podsystemy tej platformy były wymieniane na nowe rozwiązania. Zmiany te pozwoliły na dalsze podnoszenie efektywności i innowacyjności rozwiązania.
- Architektura Platformy Sahul w pełni korzysta z możliwości technologii chmury prywatnej, dostępnych w PZU (np. wirtualizacja, świadomość funkcjonowania w wielu ośrodkach przetwarzania danych), a jeśli były one niewystarczające - niejednokrotnie stanowiła impuls do dalszego rozwoju.
- Każda, nawet najlepiej rokująca platforma, sięga kiedyś kresu swoich możliwości. I tak też stało się z pierwszą wersją Platformy Sahul. Szybki wzrost ilości działających na niej aplikacji biznesowych i nowe wymagania funkcjonalne, niemożliwych do zaadresowania bez wprowadzenia wielu zmian łamiących, stało się impulsem do budowy nowej wersji platformy, tym razem w oparciu o produkty komercyjne (Enterprise Open Source Software). W bieżącym roku uruchomiliśmy produkcyjnie jej kolejną wersję - Platformę Sahul 2.0.
- Rozwiązanie jest rozwijane i utrzymywane przez jeden zespół DevOps, dla którego kluczowym aspektem jest dostarczanie produktu wysokiej jakości: stabilnego, wysokodostępnego i optymalnego kosztowo. Pracując w rozproszonym zespole, od początku istnienia tej platformy wykorzystujemy repozytoria Git do przechowywania jej konfiguracji (CaaC) i szablonów infrastruktury (IaaC).
Jakie technologie za tym stoją?
Platforma Sahul od samego początku bazuje na Kubernetes, wykorzystującym różne silniki konteneryzacji, które są otoczone przez ekosystem kilkudziesięciu współpracujących ze sobą projektów OSS.
Na bazie tych projektów zbudowane są usługi bazowe platformy, takie jak podsystem monitoringu metrycznego, podsystem logowania, warstwa kontroli dostępu, czy warstwa dostępowa do platformy i uruchomionych na niej aplikacji biznesowych.
Bazując na latach doświadczenia zdobytego podczas budowania i utrzymywania pierwszej wersji platformy jej kolejną, większą i lepszą odsłonę zbudowaliśmy od zera wykorzystując do tego celu ekosystem projektów SUSE Rancher. Pojawiło się w niej wiele nowych rozwiązań opartych m.in. o operatory zwiększających funkcjonalność i ilość dostarczanych przez platformę usług bazowych. W pełni wykorzystujemy możliwości, które daje na automatyzacja i działanie w metodyce GitOps czyli wykorzystując podejście „Git jako jedyne źródło prawdy”
Liczby tego projektu (stale idące w górę, nigdy w dół)
Zasoby fizyczne:
- ponad 8506 rdzeni CPU
- 25TB pamięci RAM
- 470TB zasobów dyskowych
Zapoznaj się z pozostałymi case studies z obszaru PZU Cloud: