Finch, an AWS open source project for Linux containers 

Finch

Finch, a command-line development tool for creating, running and publishing Linux containers

Several days ago , Amazon announced, through a blog post, the launch of its open-source project "Finch," which develops a set of tools to build, publish, and run Linux containers in OCI (Open Container Initiative) format.

It is mentioned that the main goal of the "Finch" project is to simplify working with Linux containers on non-Linux-based host systems.

Finch is an open source client for container development. Its simple installer provides a minimal native client along with an objective distribution of other open source components. Instead of creating even more options to reason and choose from, Finch aims to help promote other projects by making them easier to install and use, while offering a simple native client to tie it all together.

About Finch

The Finch project relies on several open-source projects, including nerdctl, containerd, BuildKit, and Lima. This allows you to get started immediately without needing to understand and configure all these components separately (while running containers on Linux systems is not a trivial task, creating an environment to run Linux containers on Windows and macOS is not).

For work, we offer our own Finch utility, which hides the details of working with each component behind a unified interface. To get started, simply install the provided package, which includes everything you need, after which you can create and run containers immediately.

To build the command line interface in Finch, developments from the nerdctl project are used, which provides a set of Docker-compatible commands to build, run, publish, and load containers (build, run, push, pull, etc.), such as as well as additional optional features such as rootless operation, image encryption, P2P image distribution using IPFS, and digitally signed image certification.

In addition, it is mentioned that containerd is used as a runtime for container management, while the BuildKit toolkit is used to create images in OCI format and Lima is used to start Linux virtual machines, configure file sharing and network port forwarding.

As for Finch's features, highlights include persistent disk support, improvements in VM initialization time, cutting startup time in half for developers, experimental support for Apple's virtualization framework, providing additional performance accelerations in Finch VM, and a benchmark tool that runs on every commit to validate existing performance metrics.

Currently, Finch is at version 1.0, which is marked as the first stable version, suitable for production deployments and daily use on the macOS platform. Client support for Linux and Windows is planned to be added in future releases.

We want Finch to be a stable and efficient runtime development tool that makes it easy for users to accomplish their development tasks by creating and running containers locally and interacting with container registries. This version 1.0 represents our belief that Finch is ready for production use as a container developer's everyday tool on macOS.

As part of the project, Amazon has also prepared several extensions that have been ported to the main body of the nerdctl project. In particular, components for digital signing of images have been prepared, as well as support for creating and launching images using SOCI (Seekable OCI) technology, originally created for AWS and allowing significantly faster loading of container images ( SOCI allows you to start launching without waiting for the image to be fully loaded and loading the parts necessary for the job as they are needed).

For those interested in the project, Finch's code is written in Go and distributed under the Apache 2.0 license on GitHub . You can find details of the release in the original announcement on the AWS blog.


Add as preferred source in Google