Red Hat, OpenShift i bezpieczeństwo. Kiedy proste staje się zbyt proste?

Red Hat, OpenShift i bezpieczeństwo. Kiedy proste staje się zbyt proste?19.04.2020 15:30
Kiedy proste staje się zbyt proste? (fot. )

Często pod artykułami o nowych wersjach systemu Windows padają argumenty, że jego rozwój jest w zasadzie zbędny, a wszystko co potrzebne, wymyślono ponad dekadę temu. Z podobnymi opiniami można się spoktać w dyskusjach na tematy linuksowe (system obrasta w zbędne warstwy, a freedesktop.org to imperium zła) oraz chmurowe (serverless, Kubernetes i konterneryzacja to przesada, wystarczą zwykłe maszyny wirtualne). Każde nowe API i warstwa abstrakcji dodaje tylko zbędnej złożoności, rozleniwia programistów, zmniejsza bezpieczeństwo i generuje rynek na "ekspertów" od przejściowo modnych rozwiązań.

Sam od czasu do czasu ulegam takim poglądom. Martwią mnie rozbudowane ścieżki wdrażania i duży okład infrastrukturalny. Jaki jest kontrargument na tak postawioną sprawę? W odpowiedzi na to pytanie pomógł mi Brian Gracely, dyrektor strategiczny projektu OpenShift w Red Hacie. Oto odmienny punkt widzenia na owe zagadnienia.

*Kamil Dudek, dobreprogramy: W jaki sposób najłatwiej obronić się przed zarzutem zbędnego wzrostu złożoności i wytłumaczyć zjawisko rozbudowy warstw abstrakcji przez takie rozwiązania jak OpenShift, oddalające nas od systemu operacyjnego? Dlaczego po prostu nie używać samych maszyn wirtualnych? OpenShift jest wszak warstwą "nad" systemami operacyjnymi wdrożonymi w środowisku chmurowym. Dodaje to złożoności, dodatkowe warstwy wymagają opieki, skąd przekonanie, że sumaryczny poziom bezpieczeństwa jest wystarczający? *

Brian Gracely, Red Hat: Żeby odpowiedzieć na to pytanie rzetelnie, musimy umieścić je w odpowiednim kontekście. To znaczy, jeżeli bezpieczeństwo jest kluczową i niemal jedyną rzeczą, która nas interesuje podczas wdrożenia, to musimy pamiętać, że "bezpieczne" systemy nie są bezpieczne przez cały swój cykl życia. Ponieważ świat się zmienia, a nowe podatności są wciąż odkrywane, konieczne jest znalezienie balansu między nowymi funkcjami, bezpieczeństwem a szybkimi aktualizacjami. Te cechy są potrzebami biznesowymi, na które trzeba odpowiadać. Nowe warstwy adresują ten problem, a nie tylko dodają złożoność .

**K. D.: Zatem jeżeli nawet zastosujemy mniej warstw, zwiększamy zakres odpowiedzialności wdrożeniowców. Czy w domyśle oznacza to, że użycie starego podejścia również skutkowałoby wzrostem złożoności, ale na innym polu?B. G.: Postaram się przedstawić, w jaki sposób zdecydowaliśmy się podejść do tego zagadnienia w platformie OpenShift u jej zarania. Było to w okolicach roku 2012. Wtedy powszechnie stosowano wirtualne maszyny, a np. Azure nie istniał. Chmura publiczna zaczęła osiągać swoją popularność, ponieważ środowiska dotychczas wymagające zestawienia i zarządzania przez zespoły IT stawały się dostępne na wyciągnięcie ręki u dostawców infrastruktury.

Z perspektywy programistów tworzących oprogramowanie, sprawa wyglądała tak, że oni w zasadzie też nie chcieli maszyn wirtualnych, a jedynie zamkniętego, podlegającego kontroli środowiska do uruchamiania i testowania swoich aplikacji.

Odbiorcy oczekiwali zatem godnej zaufania platformy, dostarczanej jako usługa. Nie chcieli się przejmować kwestią obsługi sieci, bezpieczeństwem i tak dalej, ale nie dlatego, że były to dla nich kwestie w jakiś sposób nieważne. Zatem musieliśmy się tym zająć za nich.

Nauczyliśmy się dzięki temu, że uruchamianie kompletnych maszyn wirtualnych tylko po to, by oferować PaaS, było to obliczeniowo drogie i ciężkie. Stąd pojawiły się kontenery, większość dostawców zaczęło je stosować. Nie były to nowe warstwy dodawane z powodu mody i chęci dostarczenia łatwości za wszelką cenę, bez względu na koszt.

Te dodatkowe warstwy stały się zatem metodą dostarczania bezpiecznych ustawień domyślnych. Oferowanie ludziom mniejszej liczby wyborów pozwala im się nie zajmować rzeczami, które w ich rękach stałyby się w konsekwencji mniej bezpieczne.

K. D.: Platforma jako usługa zmniejsza wobec tego wymaganie, by twórca oprogramowania był odpowiedzialny za bezpieczeństwo i opiekę nad całym stosem technologicznym. Czy oznacza to zatem, że to nieprawda, że wszystkie nowe warstwy abstrakcji to tylko samonapędzający się biznes? Czy może jednak wymusza to kształcenie kolejnych fachowców od zbędnej acz powszechnej metodyki? Pół żartem-pół serio mawia się tak dziś na przykład o IPv6 i nowych frameworkach JavaScriptu.

B. G.: Zawsze ktoś będzie uważał, że nowe produkty są tworzone tylko po to, by definiować branżę modnych ekspertów. Z tym, że pogląd o którym mowa wziął się skądinąd. To efekt własnościowych rozwiązań przed dekady-dwóch, które kupione raz wymagały brnięcia w kapitał intelektualny, kształcąc inżynierów "tylko od" dedykowanych produktów. Dziś zwiększył się nacisk na przenośność między platformami. Dlatego tyle współpracujemy z open source. Więc istotnie nie zgadzam się z poglądem, że OpenShift powstał by nakręcić popyt na inżynierów OpenShifta.

LinkedIn pokazuje 161 ofert pracy związanych z OpenShiftem. W czasie, gdy rekrutacje niemal stoją w miejscu.
LinkedIn pokazuje 161 ofert pracy związanych z OpenShiftem. W czasie, gdy rekrutacje niemal stoją w miejscu.

Opisywany model wdrażania może się nieco kłócić z charakterystyką systemów specjalnego przeznaczenia, jak krytyczna infrastruktura dla systemów łączności lub sterowania. Czy nowe mechanizmy szyfrowania i zgodności z FIPS zostały wprowadzone po to, by spróbować zaoferować OpenShifta i w takich scenariuszach, czy może powody tej rozbudowy są inne?

Powyższe funkcje są oczywiście dostępne dla każdego. Każdy, kto ma wewnętrzne regulacje lub oczekiwania, może z nich skorzystać, nie istnieje wymagany przepis wdrożenia, bez którego nie działają. Nie trzeba być armią. Ale właśnie na przykład sektor rządowy będzie oczekiwać takich funkcji wprost.

Jeżeli natomiast chodzi o telekomunikację, pojawiają się przykłady, gdzie chmurowe wdrożenie jest niemożliwe, a infrastruktura pozwala na użycie zredukowanej ilości sprzętu. Nie da się zastosować wytycznych dobrych praktyk, mówiących że potrzebne jest kilka węzłów oraz spory narzut sprzętowy, by zapewnić bezbolesne skalowanie. Jak się pomieścić w czymś takim? Staramy się wtedy adaptować rozwiązania tak, by spełnić wymagania konkretnej specyfiki.

Kubernetes on Windows. Dużo i mało jednocześnie
Kubernetes on Windows. Dużo i mało jednocześnie

Dużo osób nas pyta "czym się różni Kubernetes od OpenShifta?". Tłumaczymy wtedy, że Kubernetes nie zawiera systemu, domyślnej konfiguracji sieci i wielu innych rzeczy, które dalej trzeba samemu dostarczyć.

K. D.: Na koniec nawiążmy do flagowego przykładu ciężkich, monolitycznych wdrożeń odpornych na chmurę: scentralizowane zarządzanie tożsamością - czy jest skazane na wymarcie? Czy stare monolity zostaną zastąpione przez wdrożenia typu OpenShifta?

B. G.: To jest ponadczasowe pytanie. Dużo osób ma tendencje do binarnego patrzenia na rzeczywistość i chciałoby prostej recepty i odpowiedzi, że "nowa rzecz" jest lepsza, przez co można się w całości pozbyć starej, żeby było lżej. Stąd zagadnienie "kontenery vs maszyny wirtualne" bywa rozpatrywane jako "nie potrzebuję maszyn wirtualnych, użyję kontenerów". Często potem pada "kontenerów też nie potrzebuję, pójdę w serverless" i tak dalej. Nie da się na takie pytania jednoznaczne odpowiedzieć.

Zawsze trzeba patrzeć na potrzeby i na budżet. Migracja na OpenShifta ma zdjąć obciążenie starymi rozwiązaniami, z którymi nie da się iść do przodu, a nie zastąpić wszystko, co dawne.

K. D.: Dziękuję za rozmowę.

Konkluzja: wiedza kosztuje

Zwrócono tu uwagę na istotną kwestię, jaką jest czynnik ludzki. Zapotrzebowanie na złożone systemy informatyczne przekracza możliwości kadrowe, związane z zatrudnianiem administratorów-wdrożeniowców. Nie tylko jest ich za mało, ale także nie wszędzie są "zakontraktowani". W konsekwencji, opieka nad prostszymi strukturalnie, acz trudniejszymi w konserwacji środowiskami, skutkuje obniżeniem bezpieczeństwa. Przy takich kadrach, teoretycznie bardziej złożone narzędzia, efektywnie stają się bezpieczniejsze.

Naturalnie, Red Hat jest bardzo dumny ze swoich rozwiązań. Trudno oczekiwać prezentacji produktu w postaci nieprzefiltrowanej marketingową optykę. Pada tu jednak rzeczowy argument dotyczący ukrytych kosztów utrzymywania infrastruktury. Czy Red Hat jest w owej kwestii przekonujący? Dajcie nam znać w komentarzach.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.