
Finch, narzędzie programistyczne wiersza poleceń do tworzenia, uruchamiania i publikowania kontenerów Linux
Kilka dni temu Amazon ogłosił, poprzez post na blogu, uruchomienie jego Projekt open source „Finch”. która opracowuje zestaw narzędzi do tworzenia, publikowania i uruchamiaj kontenery Linux w formacie OCI (Inicjatywa Otwartego Kontenera).
Wspomina się, że Głównym celem projektu „Finch” jest uproszczenie pracy z kontenerami systemu Linux na systemach hostów 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 zależy od kilku projektów open source, w zestawie nerdctl, kontenerd, BuildKit i Lima, Dzięki temu można zacząć od razu, bez konieczności rozumienia i konfigurowania wszystkich tych komponentów osobno (jeśli nie ma problemów z uruchomieniem kontenerów na systemach Linux, to stworzenie środowiska do uruchamiania kontenerów Linux na Windows i macOS nie jest zadaniem trywialnym).
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.
Ze strony cech firmy Finch podkreśla obsługę dysków trwałych, ulepszenia czasu inicjalizacji maszyny wirtualnej, skrócenie czasu uruchamiania o połowę dla programistów, eksperymentalne wsparcie dla platformy wirtualizacji Apple, zapewnienie dodatkowego zwiększenia wydajności w Finch VM oraz narzędzie testowe działające przy każdym zatwierdzeniu w celu sprawdzenia 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 zainteresowany projektem, Powinieneś wiedzieć, że kod Fincha jest napisany w Go i jest rozpowszechniany na licencji Apache 2.0 w serwisie GitHub. Szczegóły publikacji można sprawdzić w oryginalnym ogłoszeniu w zakładce Blog AWS-a.