bottlerocket-os / bottlerocket-os/bottlerocket

Support for SOCI containerd plugin

Open
#3,017 2 comments 88 reactions 0 assignees View on GitHub
area/core status/icebox type/enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.