
OpenShift w IBM Cloud – wdrożenie dzięki Opsenio
24.08.2021
Jesteś zainteresowany tematyką dotyczącą OpenShift? Z tekstu dowiesz się:
- czym jest konteneryzacja i jakie narzędzie wykorzystać, aby z nią pracować?
- jakie są zalety OpenShift?
- dlaczego warto wybrać OpenShift zamiast Kubernetes?
- w czym tkwi przewaga IBM Cloud?
Czym jest konteneryzacja?
Tworząc oprogramowanie dedykowane, które ma rozwiązać bardzo trudny problem, stosuje się technikę dekompozycji problemu na mniejsze. Tak aż do momentu, kiedy złożoność zadania jest na tyle mała, że możemy je skutecznie rozwiązać. Stosując odpowiednie języki programowania, zbiór narzędzi i technologii oraz dobre praktyki, implementuje się abstrakcyjny model biznesowy, który realizuje wymagania i cele biznesowe postawione przed systemem.
Ten sam punkt widzenia wykorzystali pomysłodawcy konteneryzacji, mierząc się z zagadnieniami infrastruktury oraz zarządzania oprogramowaniem. Wyzwań było wiele, między innymi:
- optymalizacja złożonej architektury,
- ułatwienie zarządzania zasobami sprzętowymi (CPU, RAM, HD),
- umożliwienie łatwego tworzenia środowisk (developerskich, testowych, UAT, produkcyjnych),
- usprawnienie procesu wytwarzania i aktualizowania oprogramowania,
- zwiększenie możliwości skalowania usług a nawet całych systemów
Odpowiedzią na powyższe była decyzja o budowie odpowiedniej warstwy abstrakcji, która spełni oczekiwania środowiska IT. Tak powstał proces nazywany konkretyzacją.
Każdy kontener zawiera ściśle sprecyzowany zbiór zależności, pozwalający zrealizować powierzone mu zadanie. Przykładowo, prosty sklep internetowy, powinien posiadać: mikroserwis odpowiedzialny za przechowywanie i wyszukiwanie dostępnych produktów.
Jeśli wydajność jednego kontenera wykorzystującego określone zasoby sprzętowe, pozwala zaspokoić jednoczesne wyszukiwanie przez 5 000 klientów, to w przypadku dużego sklepu, gdzie jednocześnie korzysta z wyszukiwania 20 000 klientów, potrzebujemy uruchomić (zreplikować) minimum 4 kontenery zawierające mikrosewis „produktowy”.
W przypadku tworzenia systemu e-commerce, oprócz mikroserwisu „produktowego” będziemy potrzebowali innych kontenerów zawierających mikrousługi, np. klientów, dostawców, zamówień, faktur, itd. Ostateczna liczba różnych rodzajów kontenerów będzie rosła wraz ze zwiększającą się liczbą wymagań, a co za tym idzie odpowiednim podziałem systemu. Ogólna liczba kontenerów będzie wypadkową wynikającą z bieżącego obciążenia sklepu oraz zasobów udostępnionych do wykorzystania.
Konteneryzacja – przydatne narzędzia
Konteneryzacja sama w sobie jest swojego rodzaju ideą, która tworzy potencjał do wykorzystania. Obrazy Docker umożliwiają usunięcie powtarzających się zadań konfiguracyjnych w całym cyklu wytwarzania oraz użytkowania oprogramowania. Aby ten potencjał w pełni wykorzystać konieczna jest automatyzacja działań związanych z obsługą tej abstrakcyjnej architektury.
By sprostać wyzwaniom z pomocą przychodzi platforma Red Hat OpenShift. Wchodząc w techniczne aspekty należy w ramach OpenShift wyróżnić takie elementy jak:
- POD – podstawowa jednostka. Jest to warstwa abstrakcji, w której umieszczane są kontenery. W celu zwiększenia wydajności możliwe jest replikowanie (zwiększanie ich liczby) – wystarczy w panelu UI OpenShift zwiększyć liczbę POD-ów jednym przyciskiem lub wprowadzić konfigurację, która automatycznie balansuje liczbą POD-ów w zależności od obciążenia
- services – elementy odpowiedzialne za ciągłość działania, poprzez powiązanie stałego identyfikatora z dynamicznie zmieniającą się liczbą POD-ów danego typu, w celu skomunikowania ze sobą mikroserwisów;
- routes – mechanizm umożliwiający powiązanie serwisów z zewnętrznymi punktami końcowymi (endpoints) w celu zapewnienia dostępu do usług i aplikacji umieszczonych w POD-ach dla zewnętrznych użytkowników;
- Source To Image – ciekawym rozwiązaniem jest mechanizm Source To Image, umożliwiający tworzenie obrazów Docker na podstawie skompilowanych źródeł. Eliminuje ono konieczność używania klasycznego pliku konfiguracyjnego (DockerFile) co w znacznym stopniu ogranicza możliwości popełnienia błędów. Dodatkowo, mechanizm ten pozwala na ciągły, przyrostowy rozwój obrazu, dzięki czemu znacznie łatwiej i szybciej można wprowadzać poprawki bezpieczeństwa do istniejących aplikacji;
- image stream – niezwykle ważnym elementem całości jest niniejsza usługa pozwalająca w sposób automatyczny aktualizować kontenery, gdy tylko odstępna jest nowa wersja obrazu, z którego powstały.
Usprawnienie pracy nad konteneryzacją jest proste i osiągalne dla każdego. Wszystko dzięki platformie w modelu PaaS – OpenShift. Platforma ta umożliwia bardzo kompleksowe podejście zarówno do deploymentu jak i zarządzania kontenerami. OpenShift, zdecydowanie mocniej niż standardowy Kubernetes optymalizuje procesy zarządzania samymi kontenerami oraz procesami ich tworzenia.

Zalety OpenShift
OpenShift to wydajne rozwiązanie, idealnie sprawdzające się w przypadku osób, którym zależy na efektywnym wykorzystaniu potencjału kontenerów. W czym tkwi siła tej platformy?
- intuicyjna obsługa platformy – dopracowany UI z licznymi przykładami i podpowiedziami
- wdrożone mechanizmy zapewniające Continous Delivery – m.in.: mechanizm deploymentu oraz Image Stream
- rozbudowana dokumentacja i wsparcie społeczności OpenShift
- możliwość budowania kontenerów wprost ze źródeł – Source To Image
- efektywne zarządzanie dostępem pracowników do konkretnych projektów – serwer OAuth
- własne repozytorium obrazów Docker
- możliwość podziału kontenerów na projekty za pomocą przestrzeni nazw Kubernetes
- opcja pełnego wydzielenia projektów i zasobów sprzętowych – multi-tenancy
- wbudowany serwer metryk
OpenShift vs Kubernetes – co wybrać?
OpenShift i Kubernetes to dwie, bardzo popularne platformy, których celem jest ułatwienie procesów zarządzania kontenerami. W praktyce można stwierdzić, że rozwiązania te są do siebie bardzo zbliżone. Różnic jest jednak sporo, OpenShift to w praktyce wszystko to co Kubernetes, ale z dodatkowymi funkcjonalnościami. Można wyodrębnić 5 podstawowych różnic między OpenShift i Kubernetes:
- OpenShift to produkt, a Kubernetes to projekt – przewaga OpenShift tkwi w tym, że pozwala użytkownikom zainstalować gotowy produkt oferujący płatne wsparcie wraz z subskrypcją. Tworzony jest on i utrzymywany częściowo przez społeczność, a przede wszystkim przez Red Hat-a. Z drugiej strony Kubernetes to ciągle rozwijający się framework Wsparcie społeczności jest spore, natomiast nie zawiera wielu udogodnień w stosunku do OpenShift, które pozwalają obniżyć próg wdrożenia i użycia w organizacji.
- poziom bezpieczeństwa OpenShift jest wyższy niż Kubernetes – w aspekcie bezpieczeństwa przewaga OpenShift jest spora, ponieważ ma on domyślnie włączone bardziej rygorystyczne zasady i polityki. Dodatkowo OpenShift oferuje zintegrowany serwer uwierzytelniania. Obie platformy zapewniają autoryzację za pośrednictwem kontroli dostępu opartej na rolach (RBAC). OpenShift traktuje je jako integralną swoją część, w Kubernetes jest to tylko opcją do konfiguracji.
- podejście do wdrożenia – OpenShift oferuje mechanizm Deployment Configuration, który posiada więcej opcji konfiguracyjnych oraz możliwość wykorzystania usługi Image Stream. Podejście to dodaje rozszerzoną obsługę cyklu rozwoju oprogramowania względem Kubernetes.
- łatwość zarządzania OpenShift jest większa od Kubernetes – ImageStream oferowany przez OpenShift ułatwia zarządzanie obrazami kontenerów, zmianę tagów obrazów w rejestrze, a także daje możliwość pobrania całych obrazów i ich automatyczną zmianę.
- przewaga OpenShift widoczna jest również w kilku innych aspektach – OpenShift oferuje wsparcie przez wbudowany i konfigurowalny moduł logowania. Składa się on ze stosu EFK (Elasticsearch, Fluent.d, Kibana). Dodatkowo posiada zintegrowany mechanizm zbierania metryk. Dzięki OpenShift przełączanie między projektami jest bardzo proste. Kubernetes, w tym przypadku wymaga skorzystania z dodatkowych narzędzi. W OpenShift użytkownik za pomocom pojedynczego polecenia jest w stanie tworzyć obrazy kontenerów i używać ich w różnych środowiskach. W przypadku Kubernetes-a jest to nieco trudniejsze.
OpenShift w IBM Cloud – dlaczego warto?
IBM Cloud to kompleksowa platforma, obejmująca ponad 170 produktów i usług z zakresu: sztucznej inteligencji, danych i kontenerów, technologii blockchain oraz Internetu rzeczy. OpenShift w chmurze IBM Cloud został zaprojektowany w taki sposób, by wspierać przedsiębiorstwa nawet na wczesnych etapach migracji do chmury. Staje się to łatwe i intuicyjne dzięki możliwości tworzenia oprogramowania niezależnego od chmury. Dodatkowym profitem jest zapewnienie programistom dostępu do platformy umożliwiającej konteneryzację oraz efektywne wdrażanie nawet bardzo obciążonych usług. Łącząc te funkcjonalności z chmurą, zapewniamy sobie szybkość i niezawodność działania systemów. Dzięki IBM Cloud użytkownicy mogą zarządzać kontenerami w dowolnej lokalizacji na świecie i bezproblemowo tworzyć oraz wdrażać nowe aplikacje. Wszystko to z gwarancją pełnego bezpieczeństwa danych.
OpenShift w IBM Cloud – wdrożenie dzięki Opsenio
Opsenio skutecznie realizuje wdrożenia oparte na technologii OpenShift. Wybierając nas stawiasz na doświadczonego partnera, który dokładnie zaplanuje działania i zagwarantuje szybki czas realizacji zadań. Realizując ustalone kamienie milowe projektu gwarantujemy pełna kontrolę nad przebiegiem wdrożenia. Tworzymy rozwiązania dla klientów nastawionych na sukces z wykorzystaniem IT. Nasze produkty i usługi znajdują zastosowania w sektorach:
- Finansowym
- Transportowym (logistyka, motoryzacja, porty, kolej, lotnictwo)
- Utilities (energetyka, wodociągi, gazownictwo)
- Produkcja (chemia, przemysł ciężki, przemysł wydobywczy)
Dlaczego warto działać z nami?

Zapraszamy do kontaktu!
Opsenio Sp. z o.o.
ul. Parkowa 11
30-528 Kraków