W przypadku systemów opartych na Linux trudność w wykonywaniu aktualizacji ma źródło w utrzymaniu spójności wersji oprogramowania pomiędzy systemami, które są aktualizowane w różnych terminach. Dotyczy to chociażby złożonych środowisk, w których mamy systemy deweloperskie, testowe i produkcyjne. Wówczas świadomie i skądinąd słusznie pomiędzy aktualizacjami poszczególnych środowisk występuje tzw. okres karencji, podczas którego zaktualizowany system jest objęty obserwacją stabilności działania. A zatem system produkcyjny jest aktualizowany kilka tygodni po deweloperskim, co w połączeniu z faktem, że nowe pakiety dla systemów Linux mogą pojawić się każdego dnia, prowadzi do wspomnianych różnic pakietów (zobacz diagram poniżej).

SAP na Linux – niebanalne aktualizacje
Uyuni: Szybciej, łatwiej, bezpieczniej
Wasz SAP jest oparty na Linux? Jeśli tak, to dobrze wiesz, jak niewdzięcznym i trudnym zadaniem jest aktualizacja systemów. Ale wiesz też, że updade’y są konieczne. Błędy w oprogramowaniu niosą ryzyko związane z bezpieczeństwem, chcemy mieć dostęp do nowych funkcjonalności, a do tego jesteśmy zobligowani regulacjami takimi jak RODO czy normy ISO. Dobra wiadomość jest taka, że nie musisz robić tego sam. W ramach naszej usługi administracji SAP zyskujesz dostęp do wsparcia doświadczonych specjalistów z All for One, którzy przejmą odpowiedzialność za aktualizację środowiska SAP z wykorzystaniem różnych narzędzi w tym także Uyuni.
Wasz SAP jest oparty na Linux? Jeśli tak, to dobrze wiesz, jak niewdzięcznym i trudnym zadaniem jest aktualizacja systemów. Ale wiesz też, że updade’y są konieczne. Błędy w oprogramowaniu niosą ryzyko związane z bezpieczeństwem, chcemy mieć dostęp do nowych funkcjonalności, a do tego jesteśmy zobligowani regulacjami takimi jak RODO czy normy ISO. Dobra wiadomość jest taka, że nie musisz robić tego sam. W ramach naszej usługi administracji SAP zyskujesz dostęp do wsparcia doświadczonych specjalistów z All for One, którzy przejmą odpowiedzialność za aktualizację środowiska SAP z wykorzystaniem różnych narzędzi w tym także Uyuni.
Aktulizacja bezpośrednio z repozytorium
Uyuni wspiera aktualizację
W rozwiązaniu powyższego problemu pomaga opensource’owy system Uyuni, który jest tzw. upstreamem dla SUSE Multi-Linux Manager (wcześniej SUSE Manager), czyli zawiera te same funkcjonalności, a czasem nawet więcej niż Manager, gdyż najpierw są one testowane na Uyuni, zanim trafią na swój komercyjny odpowiednik. Jedną z głównych funkcjonalności obu systemów jest możliwość stworzenie lokalnego repozytorium pakietów z pełną kontrolą nad ich wersjami. Innymi słowy, można sklonować repozytorium internetowe i na czas aktualizacji zamrozić wersje pakietów, aby wszystkie systemy, niezależnie od czasu wykonywania aktualizacji, miały te same wersje pakietów (zobacz diagram poniżej).
W odniesieniu do kompatybilności Uyuni obsługuje różne dystrybucje, w tym SUSE, RedHat, RockyLinux, Oracle Linux, Alma Linux, Debian, Ubuntu. Nie oznacza to jednak, że repozytoria muszą się ograniczać tylko do systemów operacyjnych. Nie jest problemem dodanie dowolnych repozytoriów, np. aplikacji zarządczych i monitoringowych czy baz danych. Można nawet stworzyć repozytorium z własnymi pakietami i udostępnić je na swoje systemy.
Ta wszechstronność Uyuni w zarządzaniu pakietami sprawia, że system ten świetnie się sprawdza w roli serwera pakietów dla środowisk bazujących na platformie systemów Linux o dużym stopniu zróżnicowania i wysokich wymogach, takimi jak środowiska systemów SAP. Jednocześnie doskonale się sprawdzi w mniejszych środowiskach.
Aktualizacja z Uyuni
Szeroka kompatybilność, pełna kontrola
Szeroką kompatybilność Uyuni uzyskuje poprzez agenta, za pomocą którego integruje się i jednocześnie kontroluje konfigurację systemu w oparciu o silnik Salt. Dzięki niemu nie tylko wymusza, aby menedżer pakietów korzystał z repozytoriów na Uyuni, co bezpośrednio łączy się z omawianym zagadnieniem, ale umożliwia pełną kontrolę nad konfiguracją systemu operacyjnego.
Definiując profile konfiguracyjne, administrator może zdecydować o zainstalowanym oprogramowaniu oraz zawartości poszczególnych plików konfiguracyjnych. Uzupełnieniem tych możliwości jest zbiór metod dostępnych w Salt, za pomocą których można wykonywać szereg operacji na systemach, co daje szerokie możliwości automatyzacji czynności administracyjnych.
Poza wspominanymi profilami i skryptami Uyuni umożliwia wykonanie wielu operacji na systemach, bez konieczności logowania się na nie, bezpośrednio z poziomu przeglądarkowej konsoli zarządczej aplikacji. Wśród nich jest możliwość instalacji, deinstalacji i aktualizacji pakietów, co przy operacjach na wielu systemach znacznie skraca czas potrzebny na wykonanie danego zadania.
Ponadto dzięki temu, że Uyuni posiada informację zarówno o stanie zainstalowanych pakietów na systemach, jak i dostępnych w repozytoriach danego systemu, jest w stanie wykazać pakiety osierocone (spoza repozytoriów) oraz różnice w pakietach (w tym wersjach) między wskazanymi systemami. Jest to bardzo praktyczne narzędzie umożliwiające uspójnienie stanu pakietów, który na przestrzeni lat mógł ulec odstępstwom na poszczególnych systemach. Natomiast dla systemów SUSE dostępne jest narzędzie do wykonania procesu upgrade’u do wyższego service pack w zasadzie w kilku kliknięciach.
Automatyzacja zamrażania wersji
Wracając do kwestii zarządzania repozytoriami i zagłębiając się w architekturę Uyuni, należy wspomnieć o Content Lifecycle Projects. Ta część Uyuni odpowiada za automatyzację w procesie zamrażania wersji pakietów na czas aktualizacji systemów. Za pomocą obiektów konfiguracyjnych zwanych projektami, które możemy utożsamić z pejzażami systemów SAP, np. ERP czy BW, wybiera się pożądane repozytoria, począwszy od tych związanych z daną wersją systemu operacyjnego. Po wybraniu zestawu repozytoriów należy zdefiniować środowiska (enviroments), które w ramach projektu tworzą uporządkowaną listę. Kolejność środowisk determinuje kolejność, w jakiej będzie wykonywana propagacja nowych wersji pakietów. W przypadku SAP naturalnym wyborem dla środowisk może być typ systemu, np. DEV, QAS, PRD.
Pierwsze środowisko w momencie zamrożenia wersji pakietów poprzez zbudowanie (build) projektu otrzymuje nowe wersje pakietów. Można powiedzieć, że build to taki snapshot naszych repozytoriów. Gdy zajdzie potrzeba, żeby kolejne środowisko miało tą samą wersję snapshota co poprzednie, należy wykonać tzw. promocję. Za pomocą tego mechanizmu można propagować sprawdzone wersje poprawek na kolejne środowiska.
Alternatywne wykorzystanie tego mechanizmu może polegać na utrzymywaniu w każdym środowisku innej częstotliwości aktualizacji systemów. Na przykład pierwsze środowisko może dotyczyć systemów krytycznych aktualizowanych co tydzień, co spowoduje, że projekt będzie budowany co tydzień. Następne środowisko może być aktualizowane co miesiąc, wówczas raz na miesiąc należy wykonać promocję z pierwszego środowiska, które normalnie buduje się co tydzień. Dzięki takiemu podejściu możemy zachować spójność wersji pomiędzy środowiskami z pozoru ze sobą niezwiązanymi.
Szybciej, łatwiej, bezpieczniej
Wsparcie, jakiego Uyuni dostarcza w obszarze kontroli pakietów wykorzystywanych w środowiskach Linux, jest nie do przecenienia. W większości przypadków utrzymanie spójnej wersji pakietów bez takiego narzędzia jest trudne do osiągnięcia. Należy też pamiętać o wartościach dodanych:
- wykrywanie osieroconych pakietów umożliwia wykrycie nieautoryzowanych instalacji pakietów,
- wykonywanie czynności instalacji i aktualizacji z poziomu interfejsu przeglądarkowego przyspiesza i ułatwia i pracę na systemie oraz pozytywnie wpływa na poziom bezpieczeństwa,
- centralizacja konfiguracji systemów pomaga utrzymywać standard bezpieczeństwa na systemach i zaoszczędza czasochłonne zmiany i audyty konfiguracji.
Skuteczna kontrola wersji
W zarządzaniu systemami SAP kluczowe znaczenie ma zapewnienie spójności w obrębie całego środowiska. Bez niej traci sens zarówno tworzenie i konfigurowanie oprogramowania w środowisku deweloperskim, jak i jego testowanie oraz wdrażanie na systemie produkcyjnym. Różnice w komponentach środowiska SAP prowadzą do jego rosnącej nieprzewidywalności i mogą znacznie utrudniać zarządzanie.
Podczas aktualizacji systemów SAP za pomocą narzędzia SAP Maintenance Planner generowane są pliki definiujące, które komponenty mają zostać zaktualizowane i na których systemach. Pliki te wykorzystywane są na każdym etapie procesu aktualizacji, co pozwala na pełną kontrolę nad wersjami komponentów SAP – od początku do końca operacji.
W przypadku aktualizacji baz danych korzystamy z dedykowanych instalatorów, które pozostają niezmienne w trakcie prac w obrębie jednego środowiska. Dzięki temu przy stosunkowo wąskim zakresie aplikacji łatwiej jest utrzymać spójność wersji oprogramowania.
Największym wyzwaniem pozostaje kontrola wersji oprogramowania systemów operacyjnych. Wynika to z dużej liczby ich komponentów, różnorodności systemów oraz nieregularnych cykli wydawniczych. Mając świadomość, że system operacyjny stanowi fundament całego środowiska, dobrze rozumiemy, że jego spójność jest równie istotna.
W tym kontekście kluczową rolę odgrywa Uyuni – narzędzie, które nie tylko zapewnia stabilność i spójność systemów operacyjnych, ale również umożliwia skuteczne wykrywanie i eliminowanie anomalii. Co więcej, dobrze zaprojektowane środowisko zarządzane przez Uyuni potrafi samo obronić się podczas audytów oraz daje solidną podstawę do tworzenia automatycznych scenariuszy aktualizacji systemów operacyjnych.
Szymon Grzegorek, Lider Zespołu Monitoring SAP, All for One Poland