D do wersji LTS, która stworzyła niepotrzebne trudności i ograniczenia dla naszych użytkowników.

Model zwalniający się

Aby zająć się tymi wyzwaniami i poprawić ogólne doświadczenie dla naszych pracowników, postanowiliśmy przejść z modelu LTS do modelu zwolnienia. Model Rolling Release pozwala na ciągłe aktualizacje i eliminuje potrzebę głównych skoków wersji co dwa lata. Zamiast tego aktualizacje są dostarczane stopniowo, zapewniając, że wszystkie maszyny są zawsze aktualne z najnowszymi wersjami oprogramowania i łatami bezpieczeństwa. To nie tylko oszczędza czas i wysiłek pod względem aktualizacji, ale także poprawia stabilność i bezpieczeństwo w naszej flocie.

Przechodząc do modelu uwalniania toczenia, byliśmy w stanie rozwiązać kilka punktów bólu, które były obecne w modelu LTS. Po pierwsze, inżynierowie nie musieli już ręcznie ulepszać swoich maszyn, ponowne zainstalowanie i konfigurowanie ich od zera. Przyrostowe aktualizacje pozwoliły na bezproblemowe przejście przy minimalnym zakłóceniu. Po drugie, kompleksowe testy procesu aktualizacji zapewniło, że wszystkie główne pakiety nadal działały skutecznie, zmniejszając szanse na wszelkie problemy z kompatybilnością. Wreszcie, będąc na bieżąco z najnowszymi wersjami oprogramowania, byliśmy w stanie skorzystać z poprawek i ulepszeń błędów, które nie zostały wycofane do wydania LTS, zwiększając ogólną wydajność naszych systemów.

Korzyści

Przejście do modelu Rolling Release przyniosło wiele korzyści dla naszej organizacji. Po pierwsze, poprawiło to wydajność naszych inżynierów, eliminując potrzebę poświęcenia znacznego czasu i wysiłku na modernizację swoich maszyn. To pozwoliło im bardziej skupić się na ich pracy i przyczynić się do rozwoju innowacyjnych rozwiązań. Po drugie, ciągłe aktualizacje zapewniły, że nasze systemy są zawsze wyposażone w najnowsze łatki bezpieczeństwa, zmniejszając ryzyko luk i potencjalnych zagrożeń. Co więcej, przyrostowe aktualizacje sprawiły, że ogólny proces zarządzania naszą flotą jest znacznie gładszy i bardziej wydajny, zmniejszając obciążenie naszym zespołem i minimalizując szanse na błędy lub zakłócenia. Ogólnie rzecz biorąc, model zwolnienia, okazał się cennym podejściem pod względem stabilności, bezpieczeństwa i wydajności.

Wniosek

Przejście z modelu LTS do modelu Rolling Release było znaczącym kamieniem milowym w naszej podróży, aby zoptymalizować naszą dystrybucję Linux dla różnorodnych potrzeb naszej organizacji. Uwzględniając ciągłe aktualizacje i eliminując główne skoki wersji, byliśmy w stanie zwiększyć wydajność, stabilność i bezpieczeństwo naszych systemów. To przejście nie tylko przyniosło korzyści naszym inżynierom, ale także poprawiło ogólne doświadczenie dla wszystkich pracowników Google, którzy polegają na środowisku Linux. Będziemy nadal ewoluować i wprowadzać innowacje w naszym dystrybucji Linux, aby zapewnić, że pozostaje on najnowocześniejszą platformą dla naszej organizacji.

1. Dlaczego Google przeszedł do modelu zwalniającego się do dystrybucji Linux?

Google przeszedł do modelu zwolnienia, aby rozwiązać wyzwania i ograniczenia modelu LTS. Model LTS wymagał głównej wersji skacze co dwa lata, powodując znaczny wysiłek, czas i zakłócenia dla inżynierów. Przejście do modelu zwalniającego zwolnienia pozwala na ciągłe aktualizacje, eliminując potrzebę głównych aktualizacji i zapewnienie, że wszystkie maszyny są zawsze aktualne z najnowszymi wersjami oprogramowania i łatami bezpieczeństwa.

2. Jakie były wyzwania, przed którymi stoi model LTS?

Model LTS przedstawił kilka wyzwań dla Google. Jednym z głównych wyzwań była potrzeba ręcznego aktualizacji maszyn poprzez ponowne zainstalowanie i konfigurowanie ich od zera co dwa lata. Proces ten był czasochłonny i zakłócający. Ponadto duża wersja przeskakuje w głównych pakietach podczas każdego cyklu systemu operacyjnego wymagały kompleksowych testów i problemów z kompatybilnością. Ograniczenia modelu LTS uniemożliwiły Google dostęp do najnowszych poprawek błędów i ulepszeń, które nie zostały wycofane do wydania LTS.

3. W jaki sposób model uwalniania Rolling poprawił proces aktualizacji?

Model Rolling Release poprawił proces aktualizacji, eliminując potrzebę ręcznej ponownej instalacji i konfiguracji maszyn. Przyrostowe aktualizacje były dostarczane w sposób ciągły, zapewniając bezproblemowe przejście i minimalizując zakłócenia. Kompleksowe testowanie procesu aktualizacji zapewniło, że wszystkie główne pakiety nadal działały skutecznie, zmniejszając problemy z kompatybilnością. Będąc na bieżąco z najnowszymi wersjami oprogramowania, Google był w stanie skorzystać z poprawek błędów i ulepszeń, które nie były dostępne w wersji LTS.

4. Jakie korzyści przejściowe do modelu Rolling Release przyniesione dla Google?

Przejście do modelu Rolling Release przyniosło kilka korzyści dla Google. Po pierwsze, poprawił wydajność inżynierów, oszczędzając czas i wysiłek wcześniej wydawany na modernizację maszyn. To pozwala inżynierom bardziej skupić się na pracy i przyczynić się do innowacyjnych rozwiązań. Po drugie, ciągłe aktualizacje zapewniają, że systemy Google są zawsze wyposażone w najnowsze łatki bezpieczeństwa, zmniejszając ryzyko luk w zabezpieczeniach. Wreszcie, przyrostowe aktualizacje sprawiły, że zarządzanie flotą były płynniejsze i bardziej wydajne, zmniejszając obciążenie zespołem i minimalizując błędy lub zakłócenia.

5. W jaki sposób model Rolling Release poprawia stabilność i bezpieczeństwo?

Model Rolling Release zwiększa stabilność i bezpieczeństwo, zapewniając, że wszystkie maszyny są zawsze aktualne w najnowszych wersjach oprogramowania i łatkach bezpieczeństwa. Dzięki ciągłym aktualizacjom systemy Google są stale zoptymalizowane i chronione przed potencjalnymi lukami i zagrożeniami. Pozostając na bieżąco z poprawkami i ulepszeniami błędów, ogólna wydajność systemów jest ulepszona, zapewniając bardziej stabilne i bezpieczne środowisko dla użytkowników.

6. Na podstawie poprzedniej wewnętrznej dystrybucji Linux Google na podstawie?

Poprzednia wewnętrzna dystrybucja Linux, Goobuntu, była oparta na wydaniach Ubuntu LTS.

7. Ile urządzeń jest we flocie korporacyjnej Google?

Flota korporacyjna Google składa się z setek tysięcy urządzeń na wielu platformach, modelach i lokalizacjach.

8. Dlaczego Ubuntu został wybrany jako podstawa wewnętrznej dystrybucji Linux Google?

Ubuntu został wybrany jako baza wewnętrznej dystrybucji Linux Google, ponieważ była przyjazna dla użytkownika, łatwa w użyciu i oferowała dodatkowe funkcje i aktualizacje bezpieczeństwa za pośrednictwem długoterminowych komunikatów obsługi (LTS).

9. Jakie wyzwania wywarły główna wersja podczas obecności cyklu systemu operacyjnego?

Główna wersja przeskakuje podczas cyklu systemu operacyjnego przedstawione wyzwania związane z konfiguracją oprogramowania. Inżynierowie musieli podejmować decyzje, jak iść naprzód w obliczu amortyzacji i upewnić się, że wszystkie konfiguracje oprogramowania były kompatybilne z nowymi wersjami. Wymagało to kompleksowych testów, a czasem trudności w zapewnianiu automatyzacji.

10. Jak proces aktualizacji wpłynął na zespół pracujący w Goobuntu?

Proces aktualizacji był stresujący dla zespołu pracującego nad Goobuntu. Otrzymali setki błędów i prośby o pomoc, szczególnie w sprawach narożnych. Ciągły cykl aktualizacji bez wystarczającej ilości czasu powrotu do zdrowia stworzył poczucie bliska wypalenia w zespole.

11. W jaki sposób Google zapewnia integralność ich pakietów Linux?

Pakiety Google Linux są podpisywane z klucze GNU Prywatność (GPG). Klawisze te są automatycznie konfigurowane w menedżerze pakietów w celu weryfikacji aktualizacji produktu. Jednak użytkownicy mogą również wybrać instalację klawiszy osobno, aby ręcznie zweryfikować integralność wstępnych pobierania pakietów.

12. Jakie jest znaczenie, jakie dystrybucja Linux Google jest oparta na Debian Now?

Dystrybucja Google Linux jest teraz oparta na Debian, co pozwala na toczyń. Oznacza to, że aktualizacje są dostarczane w sposób ciągły, eliminując potrzebę głównych skoków wersji co dwa lata. Zwiększa to stabilność, bezpieczeństwo i wydajność organizacji.

13. W jaki sposób systemy oparte na APT mogą zainstalować klucz do podpisywania pakietów Google Linux?

W systemach opartych na APT, takich jak Debian lub Ubuntu, użytkownicy mogą pobrać klucz za pomocą polecenia:

wget -q -o -https: // dl.Google.com/linux/linux_signing_key.pub | sudo apt-key add -

14. W jaki sposób systemy oparte na RPM mogą zainstalować klucz do podpisywania pakietu Google Linux?

W systemach opartych na RPM, takich jak Fedora lub SUSE, użytkownicy mogą pobrać klucz za pomocą polecenia:

wget https: // dl.Google.com/linux/linux_signing_key.pub
Sudo RPM -Import Linux_Signing_Key.pub

15. Jak można zweryfikować instalację klawisza RPM?

Instalację klawisza RPM można zweryfikować, uruchamiając polecenie:

RPM -QI GPG-pubkey-7fac5991-*

Jak Google dostał się do Rolling Linux Wydania na komputery stacjonarne

I tu’S Coś innego-Linux Hat Enterprise dla SAP Solutions w Google Cloud to platforma o wysokiej wydajności dla operacji bazy danych, która obejmuje treść i funkcje specyficzne dla SAP i umożliwia organizacjom wdrażanie SAP w hybrydowych środowiskach chmurowych. Red Hat Enterprise Linux to jedna z dwóch dystrybucji Linux certyfikowanych do użytku z SAP HANA® i SAP S/4HANA®.

Repozytoria oprogramowania Linux

Google’S Pakiety oprogramowania Linux automatycznie skonfigurują ustawienia repozytorium niezbędne do aktualizacji aplikacji Google Linux. Pobierz i zainstaluj pakiety z odpowiednich stron produktów.

  • Google Chrome
  • Google Earth
  • Google Music Manager
  • Google Voice i wideo
  • mod_pagespeed dla apache
  • Google Web Designer

Klawisze podpisujące pakiet Linux

Google’Pakiety S Linux są podpisywane z klawiszami GNU Privacy Guard (GPG). Google’Pakiety S automatycznie skonfigurują menedżera pakietów tak, aby weryfikacji aktualizacji produktu za pomocą publicznego klucza podpisywania, ale możesz również zainstalować je osobno, jeśli na przykład chcesz zweryfikować integralność początkowego pobierania pakietu. Postępuj zgodnie z poniższymi instrukcjami, aby ręcznie skonfigurować menedżera pakietów, aby używać klawiszy.

Kluczowe szczegóły

  • Pobierz: https: // dl.Google.com/linux/linux_signing_key.pub
  • Kluczowy identyfikator: Google, Inc. Klucz podpisywania pakietu Linux
    Odcisk palca: 4CCA 1EAF 950C EE4A B839 76DC A040 830F 7FAC 5991
  • Google Inc. (Urząd podpisywania pakietów Linux)
    Odcisk palca: EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796

Instalacja klawisza wiersza poleceń dla APT

W systemie opartym na APT (Debian, Ubuntu itp.), pobierz klucz, a następnie użyj APT, aby go zainstalować.

wget -q -o -https: // dl.Google.com/linux/linux_signing_key.pub | sudo apt-key add -

Ostatnie wersje apt-get automatycznie próbują zweryfikować pakiety podczas pobierania. Jeśli odpowiedni klucz nie zostanie znaleziony lub jeśli pakiet jest uszkodzony, otrzymasz wiadomość taką jak:

OSTRZEŻENIE: Nie można uwierzytelnić następujących pakietów!
Packagename

Instalacja klawisza wiersza poleceń dla RPM

W systemie opartym na RPM (Fedora, Suse, Mandriva, Rhel itp.), pobierz klucz, a następnie użyj RPM, aby go zainstalować.

wget https: // dl.Google.com/linux/linux_signing_key.pub
Sudo RPM -Import Linux_Signing_Key.pub

Możesz zweryfikować instalację kluczową, uruchamiając:

RPM -QI GPG-pubkey-7fac5991-*

Aby ręcznie zweryfikować pakiet RPM, możesz uruchomić polecenie:

RPM -CheckSig -v Packagename.RPM

Czy Google działa na Linux?

Obraz bohatera Kredyt: Markus Teich

W Google prowadzimy duże floty produkcyjne, które obsługują produkty Google, takie jak YouTube i Gmail. Aby wesprzeć wszystkich naszych pracowników, w tym inżynierów, prowadzimy również sporą flotę korporacyjną z setkami tysięcy urządzeń na wielu platformach, modelach i lokalizacjach. Aby każdy Googler pracował w środowisku, w którym są najbardziej produktywne, obsługujemy wiele platform OS, w tym system Linux. Przez długi czas nasz wewnętrzny dystrybucja Linux, Goobuntu, była oparta na wydaniach Ubuntu LTS. W 2018 roku zakończyliśmy przeprowadzkę do modelu zwolnienia na oparciu o Debiana.

Uaktualnij trudu

Ponad 15 lat temu Ubuntu został wybrany jako podstawa wewnętrznej dystrybucji Linuksa, ponieważ była przyjazna dla użytkownika, łatwa w użyciu, i miała wiele fantazyjnych dodatków. Wydania długoterminowe (LTS) zostały wybrane, ponieważ ceniono, że kanonika zapewniała ponad 2 lata aktualizacji bezpieczeństwa.

Jednak ten dwuletni cykl premiery wydawnictw LTS oznaczał również, że musieliśmy ulepszyć każdą maszynę w naszej flocie ponad 100.000 urządzeń przed datą życia systemu operacyjnego. Złożony charakter obciążeń pracujących na maszynach korporacyjnych oznaczało, że ponowna instalacja i w pełni dostosowywanie maszyn może być trudną i czasochłonną operacją. Wydajność polegająca na konfigurowaniu wszystkich inżynierów od zera co dwa lata nie była opcją odpowiedzialną finansowo.

Dla każdego cyklu systemu operacyjnego mieliśmy dość duży skok wersji w głównych pakietach, które mogą wymagać znacznych zmian w konfiguracji oprogramowania. Aby zautomatyzować ten proces, napisaliśmy bez opieki narzędzia do aktualizacji, które zadbało o wiele wspólnych problemów. To podejście skoncentrowane na automatyzacji oznaczało, że większość pracowników Google nie musiała ręcznie zaktualizować swoich maszyn, ponownie instalując je i odtwarzając całą ich konfigurację. Aby to umożliwić, musieliśmy jednak przeprowadzić kompleksowe testowanie procesu aktualizacji i sprawdzić, czy wszystkie główne pakiety, które się zmieniły, działają (w Ubuntu może to być nawet kilka tysięcy pakietów, aby uaktualnić główne wersje). Czasami trudno było zapewnić automatyzację w przypadkach, w których zdarzały się amortyzacje, a inżynierowie musieli podejmować decyzje, jak iść naprzód.

Wysiłki w celu ulepszenia naszej floty Goobuntu zwykle trwało większa część roku. Z dwuletnim oknem wsparcia pozostało tylko rok, dopóki nie musieliśmy ponownie przejść przez ten sam proces na następne LTS. Cały ten proces był ogromnym czynnikiem stresowym dla naszego zespołu, ponieważ otrzymaliśmy setki błędów z prośbami o pomoc w sprawach narożnych. Po wykonaniu jednego ulepszenia było ogólne poczucie bycia “blisko wypalenia” w zespole, z którego ledwo mogliśmy się wyzdrowieć, dopóki nie pojawiła się następna runda aktualizacji. Wykonanie wersji LTS oznaczało również, że niektóre błędy napotykane przez użytkowników naszej dystrybucji mogą’został już ustalony w górę, ale te ulepszenia mogą’nigdy nie został zapisany do wersji LTS.

Był też długi ogon ulepszeń specjalnych, które czasami mogłyby ciągnąć się przez kilka lat. Obsługa tego procesu było ogromnym wyzwaniem związanym z zarządzaniem zmianami, aby inżynierowie uaktualnili maszyny, które Dane Dane’t Pracuj w procesie automatycznym. Staliśmy się kreatywni, motywując naszych użytkowników do aktualizacji ich maszyn. Środki wahały się od dokuczania wiadomości w interfejsie użytkownika, maili, zaplanowanych ponownych uruchamiania, a nawet zamykania maszyn, aby zwiększyć świadomość, że nadal istniały pewne maszyny w trującym potrzebie aktualizacji. Czasami złowiło to maszyny, o których ludzie całkowicie zapomnieli, jak ta jedna maszyna pod biurkiem, która działała na temat krytycznego rurociągu dla czegoś ważnego, jak się okazało.

Rolling Empleases

Kiedy zaprojektowaliśmy Glinux Rodete (Rolling Debian Testing), staraliśmy się usunąć dwuletni cykl aktualizacji i zamiast tego rozłożyliśmy obciążenie zespołowi przez cały czas. Ogólne przejście do CI/CD w branży wykazało, że mniejsze zmiany przyrostowe są łatwiejsze do kontrolowania i wycofania. Rolling Remeases z dzisiejszymi rozkładami Linux stają się coraz bardziej powszechne (Arch Linux, Nixos).

Zastanawialiśmy się nad innymi dystrybucjami Linux, ale ostatecznie wybrali Debiana, ponieważ ponownie chcieliśmy zaoferować płynną migrację na miejscu. Obejmowało to rozważania dotyczące dostępności pakietów w Debian, dużej społeczności Debian, a także istniejących pakietów wewnętrznych i oprzyrządowania, które korzystały z formatu Debiana. Podczas gdy stabilny tor debian podąża mniej więcej dwuletni skok między wydawnictwem, tor testujący Debian działa jako wydanie toczące się, ponieważ jest to pula wszystkich pakietów połknięta i zbudowana z Upstream, czekając na następną stabilną wersję.

Czas od wydania upstream do dostępności w testowaniu wynosi często zaledwie kilka dni (chociaż w okresach zamrażania przed stabilnym wydaniem Debiana może czasem opóźnić się kilka miesięcy). Oznacza to, że możemy ogólnie wprowadzić znacznie więcej szczegółowych zmian i zapewnić najnowsze oprogramowanie dla naszych inżynierów w Google bez konieczności oczekiwania dłuższych okresów.

Ta częstotliwość aktualizacji wymagała od nas przeprojektowania wielu systemów i procesów. Choć pierwotnie zamierzając częściej wydawania, stwierdziliśmy, że dla nas cotygodniowe wydania były słodkim miejscem między szybkim ruchem a umożliwieniem właściwej kwalifikacji uwalniania, ograniczając zakłócenia dla wydajności programistów.

Za każdym razem, gdy zaczynamy nową wersję, robimy migawkę wszystkich pakietów połkniętych w tym czasie Debiana. Po niektórych testach akceptacyjnych nowy kandydat do wydania hermetycznego zostaje następnie ostrożnie wdrażany z dedykowaną flotą testową i 1% kanałów z szerokości floty. Kanary odbywa się celowo w ciągu kilku dni, aby wykryć wszelkie problemy z pakietami Debian lub pakietami wewnętrznymi Google, zanim przejdzie do całej floty.

Przedstawiamy sito

Aby zarządzać wszystkimi tymi złożonymi zadaniami z budowania wszystkich pakietów w górę od źródła, zbudowaliśmy system przepływu pracy o nazwie Sieto. Ilekroć widzimy jakąkolwiek nową wersję pakietu Debiana, rozpoczynamy nową kompilację. Budujemy pakiety w grupach pakietów, aby wziąć pod uwagę osobne pakiety, które należy zmodernizować. Po zbudowaniu całej grupy uruchamiamy zwirtualizowany pakiet testowy, aby upewnić się, że żaden z naszych podstawowych komponentów i przepływów pracy programistów nie jest zepsuty. Każda grupa jest testowana osobno za pomocą pełnej instalacji systemowej, rozruchu i lokalnego pakietu testowego uruchomionego w tej wersji systemu operacyjnego. Podczas gdy kompilacje poszczególnych pakietów zwykle zakończyły się w ciągu kilku minut, testy te mogą potrwać do godziny, biorąc pod uwagę złożoność grupy pakietów.

Po zbudowaniu pakietów i wszystkich testach, łączymy wszystkie nowe pakiety z naszą najnowszą pulą pakietów. Kiedy wycinamy nową wersję, migawkujemy tę pulę z każdą wersją pakietu zablokowaną do tej wersji. Następnie przystępujemy do starannego prowadzenia tego wydania do floty, wykorzystując zasady SRE, takie jak przyrostowy kanary i monitorując zdrowie floty.

Ale nie wszystkie kompilacje odniosły sukces w pierwszej próbie. Jeśli pakiet nie zbuduje się, zwykle sprawdzamy jakiekolwiek znane błędy z debian Bug Tracker i potencjalnie go zgłaszamy, jeśli jeszcze nie będzie znany. Czasami nasi inżynierowie wydawani muszą stać się kreatywni i zastosować lokalne obejścia/łatki, aby uzyskać pakiet do zbudowania w naszym ekosystemie, a później upuść te obejścia, gdy Upstream wydało poprawkę.

Jednym z problemów, na przykład, na przykład, jest to, że w Upstream Debian pakiety są zwykle budowane w niestabilnym debian. Po kilku dniach te już zbudowane pakiety migrują do testów Debian. W niektórych przypadkach jest jednak możliwe, że zależność od kompilacji utknęła w niestabilnym, a zatem budowanie w ramach testowania może nie być (jeszcze) wykonalne. Na ogół staramy się najpierw pracować w tych przypadkach w górę, więc zmniejszamy złożoność i obciążenie konserwacyjne, aby zachować te lokalne plamy, a jednocześnie zwrócić się do społeczności.

Jeśli którykolwiek z kroków się nie powiedzie, Sieve ma zestaw narzędzi do ponownego ponownego wyposażenia kompilacji. Na przykład, gdy rozpocznie początkową wersję grupy pakietów, system składa wykształcony domyślnie. Ale czasami informacje o wersji podane w pakietach źródłowych Debian mogą być niekompletne, a to przypuszczenie jest złe. Z tego powodu Sive okresowo odzyskuje grupy budowlane, które zawiodły. Ponieważ najnowsza migawka naszych pakietów jest ruchomy cel, może się zdarzyć, że po dodaniu pozornie niezależnej grupy pakietów zostanie dodana do migawki, wcześniej zepsuta grupa nieoczekiwanie buduje i prawidłowo przechodzi testy. Wszystkie te przepływy pracy są w większości automatyczne, a to podkreśla znaczenie myślenia jako SRE w tej dziedzinie. W obliczu awarii zwykle łatwiej jest po prostu naprawić niepowodzeniem kompilacji raz, ale jeśli będziemy musieli stosować to samo obejście, umieszczenie obejścia kodu zmniejszy ogólne obciążenie na naszych inżynierach.

Istnieją również pewne korzyści bezpieczeństwa budowania wszystkich naszych plików binarnych ze źródła i dodatkowe pochodzenie kodu źródłowego, które weryfikuje pochodzenie działającego binarnego. Na przykład podczas incydentu bezpieczeństwa jesteśmy w stanie szybko odbudować i mieć zaufanie do kompilacji, pracując z tymczasową łatką, ponieważ wcześniej budowaliśmy wszystkie pakiety, te grunty w naszej dystrybucji. Ponadto zmniejszamy również kopertę zaufania, którą musimy umieścić w artefaktach Binary Bilan Build produkowanych przez ich infrastrukturę. Zamiast tego po spożyciu kodu źródłowego i binarnego weryfikowania możemy kryptograficznie potwierdzić, że działający plik binarny powstał dokładnie z tego kodu źródłowego.

Uaktualnienie do rodetu

Ostatnia wersja Goobuntu została oparta na Ubuntu 14.04 LTS (Codename Trustty). Rozwój Rodete rozpoczął się w 2015 roku i szybko było jasne, że nie możemy’T Po prostu upuść wsparcie dla zaufania i wymagaj od całej populacji inżynierii zainstalowania nowej nowej dystrybucji. Z poprzednich doświadczeń aktualizacji w miejscu między wersjami LTS mieliśmy już dobre doświadczenie, wiedząc, co czeka na nas z tą migracją. Ponieważ Ubuntu jest pochodną Debiana i używa wielu takich samych infrastruktury/formatów opakowania (APT), nie było’T całkowicie szalony pomysł na ulepszenie floty z Goobuntu 14.04 na debian na miejscu. Ponownie wykorzystaliśmy niektóre części naszego poprzedniego narzędzia aktualizacji na miejscu i pracowaliśmy, aby uczynić go bardziej niezawodnym, dodając więcej automatyzacji i dużo więcej testów.

Aby ułatwić tworzenie takiego narzędzia, przetestowanie go i utrzymanie przez czas migracji, postanowiliśmy tymczasowo zamrozić rodet Glinux jako migawkę testów Debiana w określonym dniu, w którym nazywamy linię podstawową. Możemy rozwinąć tę linię bazową we własnym wyborze, aby zrównoważyć to, co pakiety Sieve Plants. Aby zmniejszyć tarcie, celowo ustawiliśmy linię bazową Rodete w bieżącym wydaniu stajni Debian w 2016 r. W ten sposób moglibyśmy oddzielić aktualizację od zaufania do Debiana i dużych zmian w wersji pakietowej, które miały miejsce w Debian w późniejszym terminie.

W 2017 r. Zaczęliśmy migrować maszyny do Rodete i ukończyliśmy ostatnie migracje do końca 2018 r. Wciąż jednak mieliśmy podstawę pakietów, które w tym momencie w przeszłości w przeszłości. Aby nadrobić zaległości w testach Debiana, rozpoczęliśmy szeroki wysiłek w zespole, aby skoncentrować się na optymalizacji zachowań sitowych i przyspieszeniu czasu potrzebnego na budowę pakietów. Odtwarzanie aktualizacji w ten przyrostowy sposób i posiadanie ruchomego celu zwolnienia, który kontrolujemy, złagodziło obciążenie dla inżynierów Google i naszego zespołu.

Na początku 2019 roku zaczęliśmy zamykać ostatnie pozostałości maszyn Goobuntu. Nasza linia odniesienia również zaczęła się pozostać w tyle o ~ 250 dni, co w tym czasie oznaczało, że używaliśmy większości wersji pakietów, które były częścią Buster. W połowie 2020 roku w końcu w pełni dogonowaliśmy w tym samym czasie, gdy Debian Bullseye został wydany. Kontynuujemy naszą linię bazową i prawdopodobnie będziemy już korzystać z podobnej wersji następnej wersji Stable Debian, przed jego wydaniem w połowie 2023 roku.

Docierając do Zen

Dziś życie członka zespołu Glinux wygląda zupełnie inaczej. Zmniejszyliśmy ilość czasu inżynierii i energii wymaganej do wydania do jednego inżyniera zwolnienia na Duty, który obraca się między członkami zespołu. Nie mamy już dużego nacisku na ulepszenie całej naszej floty. Nigdy więcej potrzeby wieloetapowej alfa, beas i gazu do nowych wydawnictw LTS, jednocześnie ścigając starsze maszyny, które nadal działały Ubuntu.

Dramatycznie poprawiliśmy również nasze stanowisko bezpieczeństwa, obsługując naszą flotę bliżej wydawnictw w górę. Podczas gdy Debian stanowi dobre źródło łatek bezpieczeństwa dla stabilnych i starszych utworów, zdaliśmy sobie sprawę, że nie każda dziura bezpieczeństwa, która otrzymuje łatki, koniecznie ma doradztwo w zakresie bezpieczeństwa debian (DSA) lub numer CVE. Nasz harmonogram wydawnictwa upewnia się, że szybko załatujemy otwory bezpieczeństwa na całej flocie bez kompromisu w zakresie stabilności, podczas gdy wcześniej inżynierowie bezpieczeństwa musieli dokładnie przejrzeć każdy DSA i upewnić się, że poprawka dotarła do naszej floty.

Nasze ulepszone testy testowe i testy integracji z kluczowymi zespołami partnerskimi, które uruchamiają krytyczne systemy programistów, również dały bardziej stabilne wrażenia przy użyciu dystrybucji Linuksa, który zapewnia najnowsze wersje jądra Linux. Nasza silna tęsknota za automatyzacją wszystkiego w rurociągu znacznie zmniejszyła trud i stres w zespole. Możliwe jest również zgłaszanie błędów i niezgodności z innymi wersjami biblioteki, jednocześnie upewniając się, że narzędzia Google działają lepiej w ekosystemie Linux.

Jeśli jesteś zainteresowany powodzeniem zwalniania w swojej firmie, rozważ zrównoważenie potrzeb firmy z aktualizacją zwinności. Kontrola naszego ruchomego celu i linii bazowej pomogła zwolnić, gdy napotkaliśmy zbyt wiele problemów i złamaliśmy którykolwiek z naszych zespołów SLO. Nasza podróż ostatecznie wzmocniła nasze przekonanie, że zmiany przyrostowe są lepsze niż wydawania Wielkiego Wybuchu.

Jeśli jesteś w stanie kontrolować napływ nowej pracy i zachować to przewidywalne, stworzyliśmy doświadczenie, że nasi inżynierowie pozostają szczęśliwsi i są mniej zestresowani. To ostatecznie obniżyło zespół zespołu i upewniło się, że możemy zbudować wiedzę zamiast radzić sobie z wieloma płonącymi pożarami w tym samym czasie.

W przyszłości planujemy jeszcze bardziej współpracować z Upstream Debian i wnieść więcej naszych wewnętrznych łat, aby utrzymać ekosystem pakietu Debian.

  • Deweloperzy i praktycy
  • Systemy
  • DevOps & Sre

Historia Google’s wewnętrzny komputer stacjonarny Linux

Logo Linux

Jeśli rozejrzysz się po Google’s Mountain View, Kalifornii, zobaczysz maszyny z systemem Windows, Chromebooks, Macs – i Glinux Desktops. G Co, pytasz? Cóż, oprócz polegania na Linuksie dla swoich serwerów, Google ma własną dystrybucję komputerową Linux.

Nie możesz tego dostać – cholera! – Ale od ponad dekady Google pieczy i je własną domową dystrybucję komputerową Linuks. Pierwsza wersja to Goobuntu. (Jak się domyślałoby od nazwy, oparto na Ubuntu.)

W 2018 r. Google przeniósł wewnętrzny komputer Linux z Goobuntu do nowego Linux Distro, Glinux z siedzibą w Debian. Dlaczego? Ponieważ, jak wyjaśnił Google, długoterminowe wsparcie (LTS) Ubuntu (LTS) „oznaczało, że musieliśmy zaktualizować każdą maszynę w naszej flocie ponad 100 000 urządzeń przed datą życia systemu operacyjnego.”

To był ból. Dodaj czasochłonną potrzebę w pełni dostosowywania komputerów inżynierów, a Google zdecydował, że kosztuje to zbyt wiele. Poza tym „wysiłki na rzecz ulepszenia naszej floty Goobuntu zwykle zajęło większą część roku. Z dwuletnim oknem wsparcia pozostało tylko rok, dopóki nie musieliśmy ponownie przejść przez ten sam proces na następne LTS. Cały ten proces był ogromnym czynnikiem stresowym dla naszego zespołu, ponieważ otrzymaliśmy setki błędów z prośbami o pomoc w sprawach narożnych.”

Kiedy więc Google miał tego dość, przeniósł się do Debian Linux (choć nie tylko wanilia debian). Firma stworzyła Rolling Debian Distribution: Glinux Rolling Debian Testing (Rodete). Chodzi o to, że użytkownikom i programiści najlepiej obsłużyć, podając im najnowsze aktualizacje i łatki, gdy są tworzone i uważane za gotowe do produkcji. Takie dystrybucje obejmują Arch Linux, Testowanie Debiana i OpenSuse Tumbleweed.

W przypadku Google natychmiastowym celem było zejście z dwuletniego cyklu aktualizacji. Jak pokazało przejście do ciągłego integracji/ciągłego wdrażania (CI/CD), te zmiany przyrostowe działają dobrze. Są również łatwiejsze do kontrolowania i wycofania, jeśli coś pójdzie nie tak.

Aby wszystko to działało bez dużej ilości krwi, potu i łez, Google stworzył nowy system przepływu pracy, Sieve. Ilekroć Sieve dostrzega nową wersję pakietu Debiana, rozpoczyna nową kompilację. Pakiety te są wbudowane w grupy pakietów, ponieważ oddzielne pakiety często muszą być aktualizowane razem. Po zbudowaniu całej grupy Google uruchamia zwirtualizowany pakiet testowy, aby upewnić się, że żadne podstawowe komponenty i przepływy pracy programistów nie są zepsute. Następnie każda grupa jest testowana osobno za pomocą pełnej instalacji systemowej, rozruchu i lokalnego pakietu testowego. Pakiet jest kompletny w ciągu kilku minut, ale testy mogą potrwać do godziny.

Po zakończeniu wszystkie nowe pakiety są scalone z najnowszą pulą pakietów Glinux. Następnie, gdy Google decyduje, że nadszedł czas, aby uwolnić go na produkcję, zespoły migają puli. Wreszcie, wdraża świeże wydanie floty. Oczywiście, to’S nie zamierza po prostu zrzucić użytkowników. Zamiast tego wykorzystuje zasady inżynierii niezawodności witryny (SRE), takie jak przyrostowe kanary, aby upewnić się, że nic nie będzie nie tak.

Przez lata Google stał się w tym lepszy. Dzisiaj, dzięki Sieve, cały zespół programistów Glinux składa się z pojedynczej pozycji inżyniera wydawnictwa, która obraca się między członkami zespołu. Nie ma dużych nacisków na ulepszenie floty. Brak wielostopniowych wydań alfa, beta i ogólnej dostępności (GA).

Co więcej, dzięki harmonogramowi wydawnictwu, Google może szybko łatać otwory bezpieczeństwa na całej flocie bez uszczerbku dla stabilności. Wcześniej inżynierowie ds. Bezpieczeństwa musieli dokładnie sprawdzić każde doradztwo w zakresie bezpieczeństwa debiana (DSA), aby upewnić się, że poprawka jest w.

Ponadto „Ulepszone testowanie testów i testy integracji z kluczowymi zespołami partnerskimi, które uruchamiają krytyczne systemy programistów, również zapewniły bardziej stabilne wrażenia przy użyciu dystrybucji Linux, która zapewnia najnowsze wersje jądra Linux. Nasza silna tęsknota za automatyzacją wszystkiego w rurociągu znacznie zmniejszyła trud i stres w zespole. Możliwe jest również zgłaszanie błędów i niezgodności z innymi wersjami biblioteki, jednocześnie upewniając się, że narzędzia Google działają lepiej w ekosystemie Linux.”

Patrząc w przyszłość, zespół Google oświadczył, że to’LL pracuje „ściślej z Upstream Debian i wkładaj więcej naszych wewnętrznych łat, aby utrzymać ekosystem pakietu Debian.”

To wszystko brzmi świetnie. Ale mam dwa przemyślenia do podzielenia się.

Po pierwsze, dla niektórych organizacji wydania LTS nadal mają sens. Jeśli nie potrzebujesz najnowszych, najświeższych programów dla swojej firmy, Ubuntu lub Red Hat LTS Linux nadal ma sens.

Po drugie, i to jest ważne: Sito brzmi jak miauczenie kota. Jeden program, który może zautomatyzować rurociąg produkcyjny dystrybucji do tego stopnia, że ​​zajmuje tylko jeden inżynier, aby utrzymać pulpit używany przez ponad 100 000 użytkowników? Zapisz mnie!

Jeszcze lepiej, zwolnij kod Sieto. Co powiesz na Google? Co mówisz?

  • Linux komputerowy
  • Google

Copyright © 2022 IDG Communications, Inc.

Prawda o Goobuntu: Google’s In-House Desktop Ubuntu Linux

Steven-Vaughan-Nichols

San Diego, Kalifornia: Większość ludzi Linux wie, że Google używa Linux na swoich komputerach, a także serwerach. Niektórzy wiedzą, że Ubuntu Linux jest wyborem Google i że nazywa się Goobuntu. Ale prawie nikt poza Google nie wiedział dokładnie, co jest w nim lub jakie role gra Ubuntu Linux w kampusie Google, do tej pory.

Dzisiaj, 29 sierpnia, Thomas Bushnell, prowadzący technologię grupy, która zarządza Linuksem i dystrybuuje Linuksa na komporniowe komputery Google, zaprezentował Goobuntu zza zasłony Google w Linuxcon, corocznej konferencji technicznej Linux Foundation, First Things First, czy możesz pobrać Goobuntu, aby go uruchomić sam? Cóż, tak i nie.

Bushnell to wyjaśnił “Goobuntu to po prostu jasna skóra nad standardowym Ubuntu.” W szczególności Google korzysta z najnowszej długoterminowej obsługi (LTS) Ubuntu. Oznacza to, że jeśli pobierzesz kopię najnowszej wersji Ubuntu, 12.04.1, dla najbardziej praktycznych celów będziesz prowadzić Goobuntu.

Google korzysta z wersji LTS, ponieważ dwa lata między wydawnictwem jest znacznie bardziej wykonalne niż każdy sześciomiesięczny cykl zwykłych wydań Ubuntu. Poza tym Google próbuje również aktualizować i wymieniać swój sprzęt co dwa lata, aby ładnie zsynchronizować.

Dlaczego Ubuntu, zamiast mówić Macs lub Windows? Cóż, możesz je również uruchomić. Bushnell powiedział, “Googlers [pracownicy Google] są zaproszeni do korzystania z narzędzi, które dla nich działają.. Jeśli Gmail nie chce dla nich pracy, mogą używać sosny [wczesnego klienta e-mail opartego na postaciach unixu], to jest w porządku. Ludzie nie są zobowiązani do korzystania z Ubuntu.” Ale użytkowanie goobuntu jest zachęcane i “Wszystkie nasze narzędzia programistyczne są dla Ubuntu.”

Googlers muszą poprosić o użycie systemu Windows, ponieważ “Windows jest trudniej.” Ponadto, “Narzędzia systemu Windows są zwykle ciężkie i nieelastyczne.”

To powiedziawszy, Bushnell został zapytany, dlaczego Ubuntu zamiast powiedzieć Fedorę lub OpenSuse? Odpowiedział, “Wybraliśmy Debiana, ponieważ pakiety i APT [Programy pakietów podstawowych oprogramowania Debiana] są lat świetlnymi przed RPM (domyślny system zarządzania pakietami Red Hat i Suse.]” I dlaczego Ubuntu nad innymi dystrybucjami Linux z siedzibą w Debian? “Ponieważ kadencja wydania jest niesamowita, a kanoniczna [firma macierzysta Ubuntu] oferuje dobre wsparcie.”

Tak to prawda. Google nie tylko używa Ubuntu i przyczynia się do jego rozwoju, Google jest płacącym klientem dla programu wsparcia Ubuntu Advantage Canonical. Chris Kenyon, który jest wiceprezesem ds. Sprzedaży i rozwoju biznesu Canonical, i był obecny w rozmowie Bushnell, potwierdził to i dodał to “Google nie jest naszym największym klientem biznesowym.”

A co z samym pulpitem? Czy wszyscy są zobowiązani do używania Unity, popularnego, ale kontrowersyjnego komputera Ubuntu? Nie.

Zapytany o użycie jedności, powiedział Bushnell, “Jedność? Nienawidzący będą nienawiedzieć. Nasi użytkownicy komputerów stacjonarnych są na całej mapie, jeśli chodzi o ich interfejsy. Niektórzy używają Gnome, niektóre używają KDE, niektórzy używają X-Window i X-Terms. Niektórzy chcą jedności, ponieważ przypomina im Mac. Widzimy, jak miłośnicy Mac przechodzą do Unity.” Nie ma domyślnego interfejsu Goobuntu.

Jest jednak „dziesiątki tysięcy użytkowników Goobuntu. Obejmuje to grafików, inżynierów, kierownictwa i sprzedawców. To bardzo zróżnicowana społeczność. Niektóre, jak Ken Thompson, pomogli stworzyć UNIX, a niektórzy nie wiedzą nic o komputerach oprócz tego, jak korzystać z aplikacji.”

Aby zarządzać wszystkimi tymi komputerami Goobuntu, Google korzysta z narzędzi administracyjnych appt i marionetek. Daje to zespołowi zarządzania Desktop Google moc do szybkiej kontroli i zarządzania komputerami. To ważne, ponieważ, “Pojedynczy ponowne uruchomienie może kosztować nas milion dolarów na instancję.”

To powiedziawszy, pojawią się problemy z komputerami stacjonarnymi, nawet w Linuksie. Jak powiedział Bushnell “Nadzieja nie jest strategią. Większość ludzi ma nadzieję, że wszystko się nie powiedzie. Mając nadzieję, że komputery się nie powiedzie, że pewnego dnia umrzesz. Twój komputer padnie kiedyś. Musisz zaprojektować niepowodzenie.”

Tutaj pojawia się „Specjalny sos” Goobuntu. Na komputerach Google, “Aktywne monitorowanie jest absolutnie krytyczne. W Google mamy trudne wymagania, zawsze przesuwamy stacje robocze do ich granic i pracujemy z szybko poruszającymi się cyklami rozwoju.”

Ponadto Google ma bardzo surowe wymagania bezpieczeństwa. Jak zauważa Bushnell, “Google jest celem, którego każdy chce nas zhakować.” Więc niektóre programy, które są częścią dystrybucji Ubuntu, są zakazane jako potencjalne zagrożenia bezpieczeństwa. Należą do nich każdy program “To nazywa domem” do serwera zewnętrznego. Poza tym Google korzysta z własnego zastrzeżonego wewnętrznego uwierzytelniania sieci komputerów użytkownika, które według Bushnell jest “Pchanie najnowocześniejszego uwierzytelniania sieci, ponieważ jesteśmy tak wysokim celem bezpieczeństwa.”

Załóż to wszystko: potrzeba najwyższej klasy bezpieczeństwa, wysokiej klasy wydajności komputera i elastyczności, aby zaspokoić potrzeby komputerowe zarówno genialnych programistów, jak i nowo zatrudnionych przedstawicieli handlowych, i nic dziwnego, że Google używa Ubuntu dla wybranego systemu operacyjnego komputerów stacjonarnych. Cytuj, Bushnell, “Byłbyś głupcem, aby użyć czegokolwiek oprócz Linuksa.”

Powiązane historie:

Po co uruchomić Linux w Google Cloud?

Przedsiębiorstwa w chmurze mają wiele dla nich: zwiększona zwinność, zdolność adaptacyjna, elastyczność i niezawodność – co znacznie ułatwia wyprzedzenie krzywej. Łączenie lokalnej infrastruktury z usługami w chmurze może oddychać nowe życie w istniejące procesy i zwiększyć liczbę narzędzi i technologii do Twojej dyspozycji.

Brzmi świetnie, prawda? To jest – ale po pierwsze, musisz rozważyć wybór dostawcy chmury i systemu operacyjnego. Które z nich stanowią najlepsze podstawy do budowania hybrydowego środowiska chmurowego, jednocześnie umożliwiając elastyczność w zakresie przyjmowania żądanych usług i technologii?

Linux i Google Cloud Platform to silna kombinacja, z którą można przenieść przedsiębiorstwo do chmury i w przyszłość. Pozwalać’s spójrz na każdego z nich, zanim dowie się, co sprawia, że ​​wyróżniają się jako zespół.

Jak działają Linux i Google Cloud Platform

Google Cloud Platform

Google Cloud Platform, jak Amazon’S AWS i Microsoft Azure, jest publiczną platformą chmurową i jest częścią Google Cloud, która jest zbudowana w Google’s Globalna infrastruktura. Google Cloud zapewnia usługi w chmurze i narzędzia zarządzania – via The Google Cloud Console – które dostarczają wszystko, co potrzebne do budowania efektywnych środowisk chmurowych i wielokabryczanych, wdrażania aplikacji i interfejsów API oraz obsługi obciążeń w całym środowisku.

Google Cloud Platform ma narzędzia i możliwości zorientowane na bezpieczeństwo, aby umożliwić przedsiębiorstwu skorzystać ze wszystkich korzyści z przetwarzania w chmurze z jasną strategią (Google Cloud Multicloud Solutions), podejmuj decyzje na podstawie dokładnych i aktualnych informacji o firmie i zapasach (analizy danych), a także przekształcić sposób komunikacji zespołów i pracy (Google WorksPace).

Google Cloud obejmuje Google Cloud Platform, a także pakiet produktów i narzędzi, takich jak Google Cloud Storage (pamięć obiektów), Google Cloud DataStore (baza danych NoSQL), funkcje Google Cloud (oparte na zdarzeniach platforma komputerowa-AS-A-Service), Google Compute Engine lub GCE (wirtualne maszyny działające w Google’S Data Center) i Google App Engine (platforma aplikacji Serverless) – znacznie więcej.

Linux foR Cloud Computing

Linux to system operacyjny open source. Ze względu na model rozwoju open source, Linux idealnie nadaje się do przetwarzania w chmurze, ponieważ pozwala przedsiębiorstwom wybierać platformy i technologie, które najlepiej odpowiadają ich potrzebom i celom, a także umożliwiając wybór potrzeb i dostawców, unikając w ten sposób niepotrzebnych wydatków i blokady dostawcy. Dzięki Linux do przetwarzania w chmurze otrzymujesz wszystkie zalety Linux dla tradycyjnych wdrażania IT z elastycznością do rozwoju przy użyciu nowszych technologii, takich jak Kubernetes, AI/ML i przetwarzanie krawędzi. Z tych powodów Linux pozostaje wiodącym wyborem systemu operacyjnego w przetwarzaniu w chmurze.

Lepiej razem: korzyści płynące z uruchamiania Linux na Google Cloud Platform

Google Cloud Platform jest zbudowana na Linux i działa z wieloma dystrybucjami Linux, takimi jak Centos, Ubuntu i Red Hat Enterprise Linux. Charakter open source systemu Linux z Google Cloud Platform oznacza, że ​​użytkownicy otrzymują następujące korzyści:

  • Elastyczność dostawców i usług
  • Łatwiejsza migracja aplikacji i informacji
  • Spójność informacji i procesów na śladach
  • Innowacja struktury i społeczności open source

Zasadniczo silny dostawca chmur w uznanym fundamencie Linux oznacza, że ​​Twoja strategia chmur przedsiębiorstwa zmierza we właściwym kierunku.

Korzyści z Red Hat Enterprise Linux na Google Cloud Platform

Przyjęcie podejścia hybrydowego lub multicloud może być trudne – szczególnie wtedy, gdy ty’ponownie użyte do starszego sprzętu i tradycyjnej infrastruktury. Ale odpowiedni dostawca usług w chmurze i dystrybucja Linux zapewniają solidny start. Dzięki Red Hat® Enterprise Linux® na Google Cloud Platform, masz podstawy strategii w chmurze, która zabierze Cię gdziekolwiek chcesz. A ponieważ Red Hat Enterprise Linux działa w Google, podobnie jak reszta Red Hat’Produkty s.

Red Hat Enterprise Linux i Google Cloud Platform pomogą uprościć platformę infrastruktury, przyspieszyć opracowywanie i dostarczanie aplikacji oraz uwzględniać automatyzację procesów biznesowych i zarządzania, dzięki czemu możesz szybciej wprowadzać innowacje i dostosowywać się do zmian w branży, regulacyjnych i globalnych dzięki zmianom hybrydowym środowisku chmurowym w chmurze chmury.

I tu’S Coś innego-Linux Hat Enterprise dla SAP Solutions w Google Cloud to platforma o wysokiej wydajności dla operacji bazy danych, która obejmuje treść i funkcje specyficzne dla SAP i umożliwia organizacjom wdrażanie SAP w hybrydowych środowiskach chmurowych. Red Hat Enterprise Linux to jedna z dwóch dystrybucji Linux certyfikowanych do użytku z SAP HANA® i SAP S/4HANA®.

Z elastyczną konfiguracją, podstawową i zabezpieczoną fundacją, globalną infrastrukturą sieciową oraz zaawansowaną zarządzaniem danymi i analizami, Red Hat i Google Cloud zapewniają funkcje i możliwości, których potrzebujesz do tworzenia i obsługi środowisk hybrydowych i wielokrotnie sprawnych skutecznie i wydajnie. Każdy komponent zapewnia kluczową funkcjonalność i wartość oraz niezawodne, wysokowydajne środowisko operacyjne dla obciążeń i aplikacji w ramach infrastruktury fizycznej, wirtualizowanej, kontenerowej, opartej na chmurze i krawędzi.