Spis treści:
-
- Nie tylko Azure
- System na własność
- Co zmienia wersja 4.0
- Widoki na przyszłość
- Koniec wojny
„Jeśli Microsoft kiedykolwiek zacznie tworzyć aplikacje na Linuksa, to znaczy, że wygrałem” – miał przed laty powiedzieć Linus Torvalds. Nawet jemu jednak nie śniło się, że Microsoft wyda kiedyś pełnoprawną dystrybucję Linuksa opartą na jądrze, które sam stworzył. Tymczasem tak się właśnie stało.
Na początku musimy usystematyzować wiedzę. Azure Linux to rozwijany od ponad sześciu lat twór, który jednak początkowo nazywał się Common Base Linux Mariner (CBL-Mariner). Wstępnie był traktowany jedynie jako wewnętrzna dystrybucja, swoisty backendowy system Azure. CBL-Marinera oparto na pakietach RPM zamiast DEB, ponadto zawierał tylko kernel, podstawowe narzędzia i runtime niezbędny dla usług chmurowych.
W trakcie cyklu życia wersji 2.0 projekt przemianowano na Azure Linux, który zaczął działać jako bazowy system operacyjny uruchamiany na maszynach tworzących klastry Kubernetes w usłudze Azure Kubernetes Service. Kolejna odsłona rozwijała wcześniejszą koncepcję, a cały projekt nabrał dojrzałości. Wszystko zmierzało do tego momentu – wraz z Azure Linux 4.0 Microsoft oficjalnie nie pracuje już jedynie nad wyspecjalizowanym systemem dla samego środowiska Azure. Najnowsza odsłona to pełnoprawna cloud-native serwerowa dystrybucja Linuksa.
Nie tylko Azure
Warto podkreślić, że Azure Linux 4.0 samo w sobie nie jest rewolucyjnym zwrotem Microsoftu w kierunku Linuksa. Firma już wcześniej otwierała się na projekt zapoczątkowany przez Linusa Torvaldsa. Poniżej wymieniamy kilka najważniejszych linuksowych inicjatyw w obrębie ekosystemu Microsoftu:
- Windows Subsystem for Linux (WSL) – pozwala uruchamiać pełne środowiska linuksowe bezpośrednio w Windowsie. Początkowo WSL działał jako warstwa translacji wywołań systemowych, jednak wraz z WSL2 Microsoft zaczął korzystać z własnej gałęzi prawdziwego kernela Linuksa. WSL wspiera m.in. Ubuntu, Debiana, SUSE, Arch Linuksa czy Fedorę;
- WSLg – to warstwa umożliwiająca uruchamianie graficznych, linuksowych aplikacji w Windowsie. Za jej sprawą na Windowsie 11 można korzystać z aplikacji opartych na GTK, Qt czy Waylandzie;
- SONiC (Software for Open Networking in the Cloud) – opensource’owa platforma sieciowa pełniąca rolę systemu operacyjnego dla switchy w centrach danych. Projekt oparty jest oczywiście na Linuksie, a używają go m.in. Cisco oraz NVIDIA.
Ponadto w 2009 r. pracownicy Microsoftu po raz pierwszy dołożyli swoją cegiełkę do tworzenia kernela Linuksa – 20 tys. linijek kodu sterowników Hyper-V wskazało kierunek, który firma tylko potwierdziła w 2018 r. Wówczas kupiła GitHuba, a jej CEO, Satya Nadella ogłosił, że Microsoft w pełni stawia na open source.
System na własność
Kolejny dowód na prawdziwość powyższego stwierdzenia dostaliśmy podczas tegorocznego Open Source Summit North America. Jednym z prelegentów podczas wydarzenia był Brendan Burns, współtwórca Kubernetesa, a dzisiaj wiceprezes Azure cloud-Native Open Source w Microsofcie. Podczas swojego wystąpienia powiedział on: „Kiedy zaczynałem pracę w Azure 10 lat temu, Linux nie był dominującym systemem operacyjnym działającym w naszej chmurze. W ciągu ostatniej dekady stał się jednak najczęściej wykorzystywanym OS-em. I dziś z ogromną ekscytacją ogłaszamy, że otwartoźródłowa dystrybucja Linuksa Microsoftu będzie dostępna w Azure dla każdego użytkownika”.
Dziennikarz ZDNET, Steven Vaughan-Nichols, który był obecny na wspomnianej konferencji, miał okazję porozmawiać z Lachlanem Evensonem, głównym menedżerem programu w zespole open source Azure w Microsofcie. Z konwersacji wynika, że „wraz z Azure Linux 4.0 Microsoft przekształca Azure Linux w pełnoprawną, uniwersalną dystrybucję chmurową, jednocześnie komercjalizując Flatcar Container Linux jako utwardzony, niezmienny host kontenerów pod nazwą Azure Container Linux (ACL)”. Co z tego wynika? Azure Linux 4.0 nie będzie już pozycjonowany wyłącznie jako system dla Azure Kubernetes Service. Tę funkcję w większym stopniu przejmie ACL – minimalistyczny i utwardzony system zoptymalizowany pod kontenery oraz Kubernetes.
Skąd ta zmiana? Wszystko wiąże się z próbą uzyskania większej kontroli nad własnym stosem technologicznym niż w czasach, gdy infrastruktura Azure w większym stopniu opierała się na zewnętrznych dystrybucjach, takich jak Ubuntu. Uznano ponadto, że potrzeby w obrębie Kubernetesa coraz bardziej rozjeżdżają się z tym, co niezbędne przykładowo w edge computingu i workloadach AI. Najprościej mówiąc – doszło do zmiany grupy celowej. Wersja 4.0 celuje w klientów enterprise, operatorów VM czy klastrów AI, podczas gdy wcześniej zamykała się jedynie na infrastrukturę Azure.
Warto przy tym zaznaczyć, że Microsoft wcale nie jest pionierem na tym polu – właściwie wszyscy najwięksi hyperscalerzy rozwijają już własne wyspecjalizowane systemy operacyjne oparte na Linuksie. Za przykład możemy wziąć choćby Amazon Web Services, który stworzył Bottlerocket, Photon OS autorstwa VMware czy Google rozwijające Container-Optimized OS.
Co zmienia wersja 4.0
Przyjrzyjmy się, co oznacza nowa odsłona w praktyce. Podstawowa kwestia to oczywiście fakt, że Azure Linux 4.0 przestaje być wyłącznie hostem kontenerów i staje się pełnoprawną dystrybucją serwerową. Ma działać jako uniwersalny obraz VM, system do workloadów AI, platforma dla aplikacji serwerowych czy też cloud-native Linux dla klientów Azure.
Bardzo istotną kwestią pozostaje również to, że Azure Linux 4.0 to dystrybucja Linuksa wywodząca się z Fedory, która wykorzystuje RPM. Jest otwartoźródłowa, darmowa i zoptymalizowana specjalnie pod infrastrukturę Azure. Oznacza to odejście od w pełni samodzielnej budowy systemu, na rzecz jednego z najważniejszych projektów upstreamowych w świecie Linuksa. Pozwala to liczyć na częstsze update’y, aktualne poprawki bezpieczeństwa i lepszą kompatybilność. To wszystko kwestie bardzo istotne w segmencie chmurowym, gdzie reakcja na podatności musi być bardzo szybka. Trzeba również zaznaczyć element finansowy – wykorzystanie fundamentów innej dystrybucji pozwala na znaczne ograniczenie kosztów.
Jeśli chodzi o aktualizację, to Microsoft zapowiedział comiesięczne poprawki wydawane w podobnym systemie co dotychczasowe Patch Tuesday, jednak w przypadku poważnej podatności łatki mają się pojawiać natychmiastowo. Ponadto „niezależnie od tego, czy mówimy o VM-ach, czy AKS, mamy możliwość włączenia automatycznych aktualizacji opartych na bezpieczeństwie” – miał powiedzieć Evenson w rozmowie z redaktorem wspomnianego już wcześniej portalu.
Widoki na przyszłość
Coraz większe znaczenie w Azure Linux 4.0 zyskuje sztuczna inteligencja i nic dziwnego, skoro Microsoft pragnie, by dystrybucja stała się fundamentem pod środowiska AI-native i te wykorzystujące rozwiązania agentowe. Wiąże się to z szerszą strategią firmy – Microsoft rozwija obecnie architekturę, w której pojedyncze aplikacje coraz częściej są zastępowane przez autonomiczne rozwiązania. Te zajmują się analizą danych, komunikacją między usługami w obrębie infrastruktury czy wykonują powtarzalne zadania. To wszystko – zgodnie z nadziejami giganta z Redmond – może się odbywać właśnie w obrębie ich własnego, serwerowego systemu operacyjnego. Jak wskazuje Microsoft na swoim blogu – dla deweloperów uruchamiających nowoczesne workloady w Azure warstwa systemu operacyjnego powinna być praktycznie niewidoczna: bezpieczna domyślnie, spójna pomiędzy hostami i kontenerami oraz niewymagająca ciągłej uwagi.
Bardzo istotną kwestią jest również to, czy po ogłoszeniu wydania własnego OS-u Microsoft nie zdecyduje się na ograniczenie roli Ubuntu i innych zewnętrznych dystrybucji w obrębie Azure. Do tej pory to Ubuntu było podstawowym systemem w tym środowisku. Wymagało to oczywiście współpracy z Canonicalem i tym samym uzależnienia od cudzego harmonogramu aktualizacji oraz ogólnego cyklu życia. Teraz te ograniczenia odpadają, co w dłuższej perspektywie będzie działać na korzyść Microsoftu. W tej chwili Azure Linux 4.0 to wciąż projekt młody, mający sporo ograniczeń. W rozwiązaniu części z nich – jak np. niewielkiej liczby certyfikowanych aplikacji – ma pomóc oparcie OS-u na Fedorze, jednak dojrzewanie nowej dystrybucji będzie musiało i tak trochę potrwać. Nie zmienia to faktu, że potencjalnie może oznaczać to chęć uniezależnienia się od zewnętrznych dostawców. Czy tak się stanie w rzeczywistości? Mądrzejsi będziemy dopiero za kilka lat.
Koniec wojny
„Linux to rak” – te słynne, wypowiedziane na początku tego tysiąclecia słowa byłego CEO Microsoftu, Steve’a Ballmera nie mają już racji bytu. Z całą pewnością minęły już czasy, gdy firma traktowała Linuksa jako konkurenta, a oprogramowanie otwartoźródłowe jako problem, a Azure Linux 4.0 to kolejny przykład zmiany podejścia. Linux jest zresztą fundamentem niektórych z najważniejszych usług i produktów giganta z Redmond. Musimy oczywiście zachować zdrowy rozsądek – nie mówimy o bezinteresownym ukłonie wobec środowiska open source. Z perspektywy Microsoftu może to być postrzegane jako krok w kierunku niezależności w obrębie m.in. środowiska Azure. Jak już wcześniej wspominaliśmy, trend wśród hyperscalerów jest jasny – w dobie edge computingu i obciążeń związanych z obliczeniami AI własne wyspecjalizowane systemy operacyjne oparte na Linuksie są podstawą. Dają stabilność, bezpieczeństwo, kontrolę oraz wydajność, której nie zapewni nawet najlepsza dystrybucja od zewnętrznego dostawcy.
Autor
Tomasz Lubczyński-Wojtasz