The Cure is in the Cause: A Filesystem for Container Debloating
Huaifeng Zhang, Mohannad Alhanahnah, Philipp Leitner, Ahmed Ali-Eldin
TL;DR
This work investigates the pervasive problem of container bloat and its impact on provisioning, bandwidth, and latency, especially for serverless and edge use cases. It analyzes the top-20 DockerHub containers, demonstrates the limitations of existing debloaters, and introduces BAFFS, a Bloat-Aware Flexible Filesystem that debloats at the filesystem layer while preserving the layered structure. BAFFS supports no-sharing, fully-sharing, and semi-sharing modes, enabling per-container and cross-container optimizations, and it achieves substantial size reductions (up to 95%) with low read overhead. When combined with lazy-loading snapshotters, BAFFS further improves provisioning and conversion times (up to 93% and 19%, respectively) and reduces serverless cold-start latency (up to 68% in some benchmarks), offering a practical path to more efficient container deployments. The approach is validated across serverless platforms (OpenWhisk, AWS Lambda), multiple containers, and snapshotter integrations, and the authors provide open-source tooling to enable online debloating and broader adoption.
Abstract
Containers have become a standard for deploying applications due to their convenience, but they often suffer from significant software bloat-unused files that inflate image sizes, increase provisioning times, and waste resources. These inefficiencies are particularly problematic in serverless and edge computing scenarios, where resources are constrained, and performance is critical. Existing debloating tools are limited in scope and effectiveness, failing to address the widespread issue of container bloat at scale. In this paper, we conduct a large-scale evaluation of container bloat, analyzing the top 20 most downloaded containers on DockerHub. We evaluate two state-of-the-art debloating tools, identify their limitations, and propose a novel solution, BAFFS, which addresses bloat at the filesystem level by introducing a flexible debloating layer that preserves the layered structure of container filesystems. The debloating layer can be organized in different ways to meet diverse requirements. Our evaluation demonstrates that over 50% of the top-downloaded containers have more than 60% bloat, and BAFFS reduces container sizes significantly while maintaining functionality. For serverless functions, BAFFS reduces cold start latency by up to 68%. Additionally, when combined with lazy-loading snapshotters, BAFFS enhances provisioning efficiency, reducing conversion times by up to 93% and provisioning times by up to 19%.
