APLIKACJE W CHMURZE INFRASTRUKTURA

CEO pyta CTO o Kubernetes. Po co nam kontenery i czy podkręcą wydajność biznesu?

Mówi się, że we współczesnej gospodarce każda firma to firma software’owa, a w konsekwencji od każdego CIO czy CTO oczekuje się, że jego zespół będzie dorównywał szybkością wdrożeń aplikacji, jakością i doświadczeniem użytkownika tym z Amazona, Google czy Netflixa.

O ile jednak korzyści biznesowe wynikające z innowacji IT są dość szeroko rozumiane, to rzeczywistość technologiczna, związana z ich zapewnieniem, jest bardziej złożona (wysoki stopień dostosowania, nieskończona pojemność systemów, płynna skalowalność, bezpieczne bezpieczeństwo, optymalizacja kosztów i wiele innych). Skuteczny sposób, aby sprostać tym wyzwaniom wciąż ewoluuje, ponieważ organizacje niezmiennie starają się zdobyć przewagę rynkową w tym cyfrowym świecie.

Kubernetes – natywnie chmurowy

Kubernetes, platforma open source do orkiestracji kontenerów, stała się de facto standardem, umożliwiającym departamentom IT tworzenie nowoczesnej architektury wspierającej realizację celów biznesowych w zakresie cyfryzacji. W zasadzie jest to obowiązkowy już element architektury – niezależnie od poziomu dojrzałości cyfrowej organizacji.

Zdolność przedsiębiorstwa do transformacji w kierunku biznesu natywnie chmurowego (Cloud Native – CN) czy natywnie cyfrowego (Digitally Native – DN) wiąże się z koniecznością wypracowania nowych kompetencji technologicznych, a przede wszystkim zmian kulturowych i musi wspierać dwa cele:

  • po pierwsze, IT dostosowuje się do biznesu i reaguje na jego potrzeby;
  • po drugie, IT bierze na siebie ciężar wpajania kultury ciągłych innowacji biznesowych.

Biorąc pod uwagę te realia, duże i złożone przedsiębiorstwa, które zainwestowały w funkcje DN, często mają trudności z określeniem priorytetowych obszarów biznesu, na których powinny się skupić. Wraz z rozwojem aplikacji natywnych w chmurze, które stają się kluczowym trendem na platformach cyfrowych, kontenery oferują naturalny wybór z różnych powodów w procesie rozwoju.

Przychodzi CEO do CTO…

… i zadaje kluczowe pytanie – po co nam Kubernetes? Po co nam usługa zarządzanego Kubernetesa? Nie oczekuje, że CTO roztoczy przed nim wizję Netflixa, ale na pewno chciałby widzieć realne korzyści w obszarach efektywności kosztowej, operacyjnej, jakości i doświadczenia klienta. Jego klienta.

Maxime Hurtrel jest w OVH odpowiedzialny za rozwój produktu Managed Kubernetes oraz planowane wkrótce wdrożenie funkcjonalności Private Registry.

W rolę CTO odpowiadającego na trudne pytania wcielił się Maxime HurtrelCloud-native Product Manager w OVH.

CEO: Zacznijmy od infrastruktury. Moje dwa kluczowe KPI związane z wydajnością infrastruktury to: niezawodność, tj. reagowanie na przestoje aplikacji oraz odporność na skokowe zmiany obciążenia. Co oferuje nam Kubernetes w tych obszarach?

CTO: Chociaż Kubernetes nie zastąpi infrastruktury, to bardzo pomoże w zachowaniu ciągłości biznesu. Kubernetes zabezpiecza usługi krytyczne, czyli te o podstawowym znaczeniu dla funkcjonowania firmy, poprzez zredukowanie lub eliminację podatności aplikacji na incydent infrastruktury. Dzięki uproszczeniu dystrybucji poziomej (rozłożenia) usług krytycznych pomiędzy węzłami roboczymi, czyli pojedynczymi maszynami wirtualnymi lub fizycznymi serwerami, nieprawidłowe działanie pojedynczej instancji będzie niezauważalne dla końcowego użytkownika.

Ponadto funkcja autoskalowania węzłów może pomóc w dynamicznym dostosowywaniu liczby węzłów w czasie zbliżonym do rzeczywistego, aby np. uwzględnić nagłą zmianę w natężeniu ruchu. Zauważ, że usługi zarządzania i monitorowania kontenerów, takie jak w OVH usługa Kubernetes APIServer, są w pełni zarządzane i monitorowane przez zespół dostawcy, a zasoby wykorzystywane do hostowania aplikacji kontenerowych korzystają z monitoringu 24/7 i najwyższych poziomów SLA. Zapewniają też autoskalowanie węzłów (czyli zdolność Kubernetes do automatycznego tworzenia i usuwania węzłów w zależności od całkowitego zapotrzebowania na infrastrukturę). Można również ręcznie dodać węzeł do klastra pojedynczym poleceniem, a uruchomienie węzła zajmuje 2 minuty.

CEO: a co z kosztami infrastruktury?

CTO: Ogólnie rzecz biorąc, korzystanie z kontenerów zamiast maszyn wirtualnych do dystrybucji obciążeń pomaga osiągnąć większą gęstość infrastruktury wykorzystując mniejsze nakłady. A dokładniej powiedziałbym, że bogaty zestaw narzędzi do monitorowania Kubernetesa pozwala łączyć wskaźniki wydajności związane z infrastrukturą i oprogramowaniem we wspólną metrykę pozwalającą osiągnąć najlepsze możliwe wykorzystanie zasobów obliczeniowych i pamięci masowej z punktu widzenia biznesu.

Przyglądając się w szczególności usłudze dostępnej w OVH, usługa zarządzana Kubernetes jest dostarczana na bazie instancji chmury publicznej oraz pamięci masowej. Oferuje takie same ceny tak dla węzłów (worker nodes), jak i wolumenów pamięci. Kluczem jest przewidywalność ceny – ponieważ obejmuje ona całkowity ruch niezależnie czy w ramach klastra, czy w Internecie. To zasadnicza różnica, bo można z dużą dokładnością przewidzieć rachunek na koniec miesiąca. Z kolei główne usługi, jak apiserver i scheduler, są hostowane za darmo.

CEO: potrzebujemy elastyczności w wyborze pomiędzy dostawcami chmury publicznej i środowiskiem lokalnym, w jaki sposób zarządzany Kubernetes może wesprzeć naszą strategię dotyczącą chmury hybrydowej?

CTO: Kubernetes to w tej chwili de facto standard w portfolio usług większości dostawców chmury publicznej. Jest też dostępny w wersjach komercyjnych i w modelu open source dla środowisk lokalnych. Spora tu zasługa Cloud Native Compute Foundation, która tworząc program Certified Kubernetes Conformance, zadbała o promowanie zgodności oprogramowania w hostowanych usługach i udostępnianych dystrybucjach.

Konfrontując to z rzeczywistością, niektórzy klienci narzekali na problemy z zarządzaniem rolami u jednego z dostawców chmury publicznej w środowisku chmury hybrydowej. Stąd OVH wdrożyła standardową funkcjonalności RBAC (Role-Based Access Control), dzięki temu my, jako klient, mamy do dyspozycji dokładnie te same funkcje, które oferuje Kubernetes w środowisku lokalnym lub u innego dostawcy.

Społeczność Kubernetes rozwija również projekt Federation v2, który ma ułatwić zarządzanie wieloma klastrami Kubernetes. OVH planuje oferować tę funkcjonalność i kierować ją do najbardziej dojrzałych klientów korzystających z tego rozwiązania.

CEO: Czy Twoim zdaniem korzystanie z usługi zarządzanej oznacza potrzebę zwiększenia zespołu operacyjnego IT? Pytam, bo dążę do obniżenia kosztów operacyjnych na rzecz skupienia się na rozwoju produktu.

CTO: Kluczową zaletą Kubernetesa jest powtarzalność – zapewnienie, że zarządzanie środowiskiem w fazie tworzenia, harmonogramowania oraz (być może rozproszonego) wdrożenia produkcyjnego odbywa się w ten sam sposób. Może to pomóc usprawnić operacje. Podobnie jak w przypadku każdej zmiany technologicznej, konteneryzacja ma wiele zalet, ale także wnosi kilka nowych schematów do wdrożenia w architekturze oprogramowania.

Dobrą wiadomością jest to, że społeczność wokół Kubernetes dokumentuje najlepsze praktyki. Na przykład wiele poradników i gotowych do użycia pakietów Helm (charts) może pomóc we wdrożeniu pierwszych aplikacji i zdobyciu doświadczenia.

CEO: Jak wiesz, jesteśmy silnie zorientowani na klienta. To podstawa. Nieustannie poszukujemy najlepszych sposobów reagowania na jego oczekiwania i staramy się jak najszybciej dostarczać nowe produkty lub doskonalić istniejące. Czy korzystając z Kubernetesa udoskonalimy procesy związane z doświadczeniem klienta?

CTO: Zdecydowanie. Sam Kubernetes, jak i zbudowane na nim oprogramowanie zarządzania usługami (service mesh), takie jak Istio, są natywnie zaprojektowane, aby ułatwić cykliczne aktualizacje czy też procesy utrzymania dwóch środowisk produkcyjnych (blue-green deployment) dla wszystkich kluczowych aplikacji. To oraz ułatwiony monitoring, o którym mówiliśmy wcześniej, pozwolą częściej wdrażać nowe wersje w bardziej kontrolowany sposób, podnosząc jakość doświadczenia użytkownika.

Obserwujemy wielu nowych użytkowników, którzy rozpoczynają tworzenie łańcucha ciągłej integracji, dostarczenia i wdrożenia (CI (Continuous Integration) / CD (Continuous Delivery) pipeline), korzystając z Kubernetesa, i poszukują razem z deweloperami sposobów na skrócenie Time-to-Market, czyli tego, czym jest zainteresowany chyba każdy CEO.

Obserwuj cloud forum na youtube

Chmura w Polsce: Dołącz do nas

Cloud computing w Polsce