bottlerocket-os / bottlerocket-os/bottlerocket
Support for SOCI containerd plugin
- Dominant language
- Rust
- Stars
- 9.7k
- Forks
- 586
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 11
Description
### What I'd like:
It'd be very cool if Bottlerocket had support for the SOCI snapshotter:
> SOCI Snapshotter is a [containerd](https://github.com/containerd/containerd) snapshotter plugin. It enables standard OCI images to be lazily loaded without requiring a build-time conversion step
https://github.com/awslabs/soci-snapshotter
Lazy loading images would be a huge benefit for container startup times and I found this stat very interesting:
> Using a representative suite of images, Harter et al [FAST '16](https://www.usenix.org/node/194431) found that image download accounts for 76% of container startup time, but on average only 6.4% of the fetched data is actually needed for the container to start doing useful work.
Since we already have `containerd`, we would just need to build and drop in the soci plugin into the containerd location and expose necessary API settings.
There has already been some discussion a few months ago about how to include SOCI: https://github.com/bottlerocket-os/bottlerocket/issues/2788 and https://github.com/bottlerocket-os/bottlerocket/issues/2408#issuecomment-1250195374
### Any alternatives you've considered:
N/a - are there other lazy loading mechanisms out there? Might also be worth investigating other solutions.
Contributor guide
Assessment
This issue has not been assessed yet.