Szybsze uruchamianie kontenerów w AWS Fargate z Seekable OCI

AWS niedawno ogłosił wsparcie dla Seekable Open Container Initiative (SOCI) z AWS Fargate. SOCI umożliwia leniwe ładowanie (ang. lazy-loading) obrazów, co skraca czas uruchamiania kontenerów w usłudze Amazon Elastic Container Service (ECS). Ponadto AWS udostępnił dwa narzędzia, SOCI Index Builder i SOCI Snapshotter, aby pomóc swoim klientom w wykorzystaniu tej nowej funkcjonalności.

SOCI to technologia typu open source wydana przez AWS w 2022 roku. Została opracowana, aby umożliwić lazy-loading warstw obrazu Open Container Initiative (OCI), ale bez modyfikowania ostatecznego artefaktu obrazu. SOCI działa poprzez wysyłanie oddzielnego artefaktu indeksu, indeksu SOCI, wraz z wbudowanym obrazem OCI do rejestru zgodnego z OCI. Indeks SOCI zawiera tablicę zawartości  skompresowanych warstw, który umożliwia niezależne pobieranie ich zawartości za pośrednictwem żądania dystansowego do rejestru, umożliwiając środowiskom wykonawczym kontenerów dostęp do określonych plików bez pobierania całej warstwy. Aby ułatwić tworzenie indeksów SOCI, AWS udostępnił również SOCI Snapshotter.

SOCI Snapshotter to kontenerowa wtyczka do tworzenia migawek (ang. snapshot). Containerd to środowisko wykonawcze, które zarządza cyklem życia kontenera i wykorzystuje migawki do zarządzania systemami plików kontenerów. W przeciwieństwie do domyślnego systemu do tworzenia migawek, OverlayFS, migawka SOCI pobiera indeks SOCI i używa go do pobierania określonych sekcji, zwanych zakresami (spans), ze skompresowanej warstwy obrazu. Aby skorzystać z tej funkcjonalności, klienci muszą korzystać z Amazon ECS i AWS Fargate.

Począwszy od wydania, zadania Amazon ECS na AWS Fargate korzystające z platformy Linux w wersji 1.4.0 i na architekturach X86_64 automatycznie domyślnie będą używać SOCI Snapshotter, jeśli wszystkie obrazy w zadaniu mają indeksy SOCI. Ponadto obrazy muszą być przechowywane w rejestrze obsługującym indeksy SOCI, który jest obecnie ograniczony do prywatnych rejestrów Amazon ECR. Dzięki Amazon ECR indeksy SOCI można dodawać jednocześnie z oryginalnym artefaktem obrazu OCI, za pośrednictwem CLI lub tworzyć asynchronicznie po przesłaniu oryginalnego artefaktu za pomocą narzędzia AWS SOCI Index Builder.

AWS SOCI Index Builder to wstępnie skonfigurowany AWS Cloudformation Stack, który nasłuchuje zdarzeń push Amazon ECR za pośrednictwem EventBridge i asynchronicznie generuje indeks SOCI dla oryginalnego przesłanego obrazu.

Biorąc pod uwagę, że indeksy SOCI są obecnie obsługiwane tylko przez prywatne rejestry ECR, korzyści z tej możliwości są ograniczone do ekosystemu AWS i tylko dla obrazów większych niż 250 MB. Alternatywami dla SOCI Snapshotter dla ładowanych z opóźnieniem obrazów OCI poza AWS są Nydus, OverlayBD i Stargz. Wyżej wymienione wtyczki są utworzonymi projektami niezwiązanymi z głownym projektem, a Stargz kładzie podwaliny pod projekt SOCI Snapshotter.

Źródło: https://www.infoq.com/