Współczesne systemy informatyczne, napędzane przez rozwój autonomicznych agentów AI oraz zaawansowane uczenie przez wzmacnianie, wymagają tworzenia milionów odizolowanych środowisk uruchomieniowych, czyli tzw. piaskownic (sandboxes). Wymagania te rosną w tempie, któremu tradycyjne platformy kontenerowe nie są w stanie sprostać. Aby sprostać wyzwaniom związanym z ogromną skalą i szybkością tworzenia nowych instancji, konieczne było całkowite przebudowanie architektury systemu zarządzania kontenerami.
Ograniczenia tradycyjnych rozwiązań
Standardowe platformy, takie jak Kubernetes, zostały zaprojektowane w sposób, który przy ekstremalnych obciążeniach staje się wąskim gardłem. Problemy wynikają głównie z przyjętych założeń dotyczących spójności danych oraz sposobu zarządzania stanem klastra:
Wcześniejsza architektura systemu również opierała się na centralnym magazynie danych (Postgres), co przy dużej liczbie operacji tworzyło nieusuwalne wąskie gardła. Każde zadanie wymagało globalnej koordynacji, co uniemożliwiało osiągnięcie wydajności rzędu dziesiątek tysięcy uruchomień na sekundę.
Nowa architektura: Skalowalność bez kompromisów
Aby wyeliminować ograniczenia, zdecydowano się na odejście od centralnego modelu zarządzania na rzecz systemu rozproszonego, w którym każdy węzeł obliczeniowy jest samodzielnym źródłem prawdy. Kluczowe założenia nowej architektury to:
Dzięki takiemu podejściu proces tworzenia piaskownicy wymaga jedynie dwóch przeskoków sieciowych i jednej prostej operacji procesora. Brak centralnych punktów koordynacji sprawia, że system nie posiada praktycznych limitów skalowania – w razie potrzeby można po prostu dodać kolejne serwery szeregujące lub węzły obliczeniowe.
Wydajność w praktyce
Przeprowadzone testy obciążeniowe potwierdziły skuteczność nowego podejścia. System jest w stanie uruchomić milion piaskownic w czasie krótszym niż jedna minuta. Poniższa tabela przedstawia kluczowe parametry wydajnościowe:
Warto zauważyć, że proces budowy systemu wymagał nie tylko zmian w logice szeregowania, ale również optymalizacji na poziomie jądra systemu operacyjnego. Przykładowo, masowe uruchamianie kontenerów powodowało rywalizację o blokadę rtnl w jądrze Linux, co wymusiło zmianę sposobu konfiguracji sieciowej kontenerów. Obecnie system jest dostępny w wersji beta i stanowi fundament dla przyszłych, jeszcze bardziej wymagających zastosowań w obszarze agentów AI.