Finch, projekt open source AWS dla kontenerów Linux 

Zięba

Finch, narzędzie programistyczne wiersza poleceń do tworzenia, uruchamiania i publikowania kontenerów Linux

Kilka dni temu firma Amazon ogłosiła w poście na blogu start swojego projektu open source „Finch”, w ramach którego opracowywany jest zestaw narzędzi do budowania, publikowania i uruchamiania kontenerów Linux w formacie OCI (Open Container Initiative).

Wspomniano, że głównym celem projektu „Finch” jest uproszczenie pracy z kontenerami Linux na systemach hostujących innych niż Linux.

Finch to klient typu open source do tworzenia kontenerów. Jego prosty instalator zapewnia minimalnego klienta natywnego wraz z obiektywną dystrybucją innych komponentów open source. Zamiast tworzyć jeszcze więcej opcji do rozważenia i wyboru, Finch ma na celu pomóc w promowaniu innych projektów, ułatwiając ich instalację i obsługę, oferując jednocześnie prostego natywnego klienta, który łączy to wszystko w całość.

O Finchu

Projekt Finch opiera się na kilku projektach open source, takich jak nerdctl, containerd, BuildKit i Lima. Pozwala to na natychmiastowe rozpoczęcie pracy bez konieczności zrozumienia i oddzielnej konfiguracji wszystkich tych komponentów (uruchamianie kontenerów w systemach Linux nie jest łatwym zadaniem, ale stworzenie środowiska do uruchamiania kontenerów Linux w systemach Windows i macOS już nie).

Do pracy oferujemy własne narzędzie Finch, które ukrywa szczegóły pracy z każdym komponentem za ujednoliconym interfejsem. Aby rozpocząć, po prostu zainstaluj dostarczony pakiet, który zawiera wszystko, czego potrzebujesz, po czym możesz natychmiast tworzyć i uruchamiać kontenery.

Do zbudowania interfejsu wiersza poleceń w Finchu wykorzystano rozwój projektu nerdctl, który udostępnia zestaw poleceń zgodnych z Dockerem do budowania, uruchamiania, publikowania i ładowania kontenerów (kompilowanie, uruchamianie, wypychanie, ściąganie itp.), takich jak a także dodatkowe opcjonalne funkcje, takie jak działanie bez rootowania, szyfrowanie obrazu, dystrybucja obrazu P2P przy użyciu protokołu IPFS i certyfikacja obrazu podpisanego cyfrowo.

Ponadto wspomniano, że Containerd służy jako środowisko uruchomieniowe do zarządzania kontenerami, zestaw narzędzi BuildKit służy do tworzenia obrazów w formacie OCI, a Lima służy do uruchamiania maszyn wirtualnych z systemem Linux, konfigurowania udostępniania plików i przekazywania portów sieciowych.

Wśród funkcji Finch można wymienić obsługę dysków trwałych, usprawnienia czasu inicjalizacji maszyn wirtualnych, skrócenie o połowę czasu uruchamiania dla deweloperów, eksperymentalną obsługę infrastruktury wirtualizacji Apple, zapewnienie dodatkowych przyspieszeń wydajności w maszynie wirtualnej Finch oraz narzędzie testowe uruchamiane przy każdym zatwierdzeniu w celu weryfikacji istniejących wskaźników wydajności.

Aktualnie Finch jest w wersji 1.0, która jest oznaczona jako pierwsza wersja stabilna, odpowiednia do wdrożeń produkcyjnych i codziennego użytku na platformie macOS. W przyszłych wersjach planowane jest dodanie obsługi klientów dla systemów Linux i Windows.

Chcemy, aby Finch był stabilnym i wydajnym narzędziem programistycznym w środowisku wykonawczym, które ułatwi użytkownikom wykonywanie zadań programistycznych poprzez tworzenie i uruchamianie kontenerów lokalnie oraz interakcję z rejestrami kontenerów. Ta wersja 1.0 odzwierciedla nasze przekonanie, że Finch jest gotowy do użytku produkcyjnego jako codzienne narzędzie programistów kontenerów w systemie macOS.

W ramach projektu Amazon przygotował także kilka rozszerzeń, które zostały przeniesione do głównej części projektu nerdctl. W szczególności przygotowano komponenty do cyfrowego podpisywania obrazów, a także obsługę tworzenia i uruchamiania obrazów z wykorzystaniem technologii SOCI (Seekable OCI), stworzonej oryginalnie dla AWS i umożliwiającej znacznie szybsze ładowanie obrazów kontenerów (SOCI pozwala na rozpoczęcie uruchamiania bez oczekiwanie na pełne załadowanie obrazu i ładowanie części niezbędnych do zadania w miarę ich potrzeb).

Dla zainteresowanych projektem: kod Fincha jest napisany w Go i udostępniany na licencji Apache 2.0 w serwisie GitHub . Szczegóły wydania można znaleźć w oryginalnym ogłoszeniu na blogu AWS.


Dodaj jako preferowane źródło w Google