Prof. Dr. Cesare Pautasso

Cargo-Cult Containerization: A Critical View of Containers in Modern Software Development

Tommi Mikkonen, Cesare Pautasso, Kari Systa, Antero Taivalsaari

16th International Conference on Service-Oriented System Engineering (SOSE 2022), San Francisco, USA, pp. 93-98

August 2022

Abstract

Software is increasingly developed and deployed using containers. While the concept of a container is conceptually straightforward, there are various issues to be considered while using them, ranging from technical details inside containers to the orchestration of containers that jointly form a meaningful application. In recent years, the use of containers has become so prevalent that developers have a tendency to resort to cargo-cult containerization – ritual adherence to the use of containers just because so many others are doing the same thing. In this paper, we study advantages and downsides of containers in modern- day software development. We foresee the use of containers to spread into new areas, including IoT systems and embedded devices. At the same time, we caution against indiscriminate use of containers, since excessive containerization can have adverse impacts on software maintenance and overall complexity of a system architecture.

Download

DOI: 10.1109/SOSE55356.2022.00017

PDF: ▼sose2022-ccc.pdf (146KB)

Citation

Bibtex

@inproceedings{2022:sose:ccc,
	author = {Tommi Mikkonen and Cesare Pautasso and Kari Systa and Antero Taivalsaari},
	title = {Cargo-Cult Containerization: A Critical View of Containers in Modern Software Development},
	booktitle = {16th International Conference on Service-Oriented System Engineering (SOSE 2022)},
	year = {2022},
	month = {August},
	publisher = {IEEE},
	address = {San Francisco, USA},
	pages = {93-98},
	doi = {10.1109/SOSE55356.2022.00017},
	abstract = {Software is increasingly developed and deployed using containers. While the concept of a container is conceptually straightforward, there are various issues to be considered while using them, ranging from technical details inside containers to the orchestration of containers that jointly form a meaningful application. In recent years, the use of containers has become so prevalent that developers have a tendency to resort to cargo-cult containerization \textendash ritual adherence to the use of containers just because so many others are doing the same thing. In this paper, we study advantages and downsides of containers in modern- day software development. We foresee the use of containers to spread into new areas, including IoT systems and embedded devices. At the same time, we caution against indiscriminate use of containers, since excessive containerization can have adverse impacts on software maintenance and overall complexity of a system architecture.},
	keywords = {containers, software architecture}
}