2021-11-09 –, Room 4
Containers and software packages share many traits, but there are also many key attributes lacking in the container management ecosystem that are otherwise present in the package management ecosystem. The popular thinking is that containers do not need package management as those tasks either don’t apply or can be delegated to a higher level orchestrator. The consequence of missing patterns from the packaging community is a less robust and less consistent user experience in distributed cloud compared to what we experience in other domains. This talk will discuss similarities (eg: state management, configuration, and organization of packages into meta-packages) and differences (eg: weak versioning, metadata inclusion, and build determinism) in the container ecosystem compared with familiar package management ecosystems and propose potential improvements to container management inspired by learnings from the package management space.
The container build and distribution ecosystem is the foundation for cloud native applications. Containers are built in the same way that one would configure their desktop to run an application, ie: There isn’t much thought given to the packaging aspects of the container ecosystem such as build repeatability, dependency management, and compatibility solving. These topics are “managed by the orchestrator”, but this is actually implemented with arcane layers of multiple nested orchestrators in control loops, with nesting config and config file generators. This is complicated, indirect, and brittle.
Package management patterns exist today and already solve most of the problems containers are facing. The patterns may need to be applied slightly differently of course as containers are a new type of package. As noted in the abstract this talk will discuss key attributes from the state of the art of packaging and package management systems which are present in the containers ecosystem and other missing attributes. Finally, we explore some opportunities present in the gap between the current container build and distribution ecosystem and the state of the art in packaging, and how bridging this gap will result in a more coherent user experience at the orchestration level and beyond.
Nisha is a Senior Open Source Engineer at VMware. She works on tools to improve the container build and distribution ecosystem. You can follow her on Twitter @nishakmr.