Soci Snapshotter banner
awslabs awslabs

Soci Snapshotter

Productivity community

Description

A containerd snapshotter plugin which enables standard OCI images to be lazily loaded without requiring a build-time conversion step.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

SOCI Snapshotter

[![PkgGoDev](https://pkg.go.dev/badge/github.com/awslabs/soci-snapshotter)](https://pkg.go.dev/github.com/awslabs/soci-snapshotter) [![Go Report Card](https://goreportcard.com/badge/github.com/awslabs/soci-snapshotter)](https://goreportcard.com/report/github.com/awslabs/soci-snapshotter) [![Build](https://github.com/awslabs/soci-snapshotter/actions/workflows/build.yml/badge.svg)](https://github.com/awslabs/soci-snapshotter/actions/workflows/build.yml) [![Static Badge](https://img.shields.io/badge/Website-Benchmarks-blue)](https://awslabs.github.io/soci-snapshotter/dev/benchmarks/)

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. "SOCI" is short for "Seekable OCI", and is pronounced "so-CHEE".

The standard method for launching containers starts with a setup phase during which the container image data is completely downloaded from a remote registry and a filesystem is assembled. The application is not launched until this process is complete. 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.

One approach for addressing this is to eliminate the need to download the entire image before launching the container, and to instead lazily load data on demand, and also prefetch data in the background.

Design considerations

No image conversion

**NOTE** This section describes SOCI Index Manifest v1. While the lack of an image conversion step is appealing, for production scenarios it also creates the potential for performance changes across multiple dimensions if an index is added to or removed from an existing image that is widely deployed. To address these downsides, we int