Closed BigVan closed 3 years ago
LGTM
LGTM
LGTM
LGTM
LGTM
LGTM
LGTM
ping @stevvooe @Random-Liu @yujuhong @dchen1107 @dims @kevpar ~
LGTM
LGTM
9 LGTMs! Thanks a lot for the voting!!!
https://github.com/containerd/accelerated-container-image https://github.com/containerd/overlaybd
The existing lazy pulling image formats are filesystem-based. However, implementing a POSIX-complaint file system interface and exposing it via the OS kernel is complex. And underlay filesystem support is restricted in current file-system-based image services.
We consider a block device to support lazy-pulling image which has fully posix-compliant and multiple filesystem supported as a supplement.
Accelerated container image is an open-source implementation of paper "DADI: Block-Level Image Service for Agile and Elastic Application Deployment. USENIX ATC'20". It contains two components:
overlaybd alibaba/overlaybd, the storage backend which provides an implementation of overlaybd by TCMU
And several features show as below:
High Performance It's a block-device-based storage of OCI image, which has much lower complexity than filesystem-based implementations
High Reliability overlaybd outputs virtual block devices through TCMU (TCM in Userspace), which is widely used and supported in most operating systems. Overlaybd backstore can recover from failures or crashes, which is difficult for FUSE-based image formats.
Efficiency virtualization supported passing a block-device from host to microVM (like kata-container) via virtio-blk is usually less performance cost. On the other hand, passing 'rootfs' from host to microVM via virtio-fs is also supported after overlaybd has been mounted.
Native Support for Writable overlaybd can be used as a writable/container layer. The end-users can build their overlaybd images naturally without conversion.
Multiple File System Supported overlaybd provide a virtual block device, which is independent of the underlay filesystem. It's convenient for users to choose their ideal image filesystem, such as xfs, btrfs, zfs even NTFS, and makes it possible to run Windows container on Linux host, or vice versa.
By now, overlaybd has been deployed at scale in the production environment of Alibaba and Alibaba Cloud Function Compute (FaaSNet: Scalable and Fast Provisioning of Custom Serverless Container Runtimes at Alibaba Cloud Function Compute. USENIX ATC'21), serving one of the world’s largest ecommerce platforms.
Furthermore, Microsoft is interested in using overlaybd to build their container ecosystem (Azure). Intel will also take some Linux kernel development work based on overlaybd.
We have prepared the 'alibaba/accelerated-container-image' and 'alibaba/overlaybd' 2 repositories for migration to the containerd organization. It will be more beneficial to other developers. This is proposed as a non-core project, @bigvan and @liulanzheng will be the initial maintainers of the repositories. 9 maintainer's LGTM required (2/3)