Patterns of Multi-Container Composition for Service Orchestration with Docker Compose

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Eng, Kalvin, Hindle, Abram, Stroulia, Eleni
Format: Preprint
Veröffentlicht: 2023
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866909194188226560
author Eng, Kalvin
Hindle, Abram
Stroulia, Eleni
author_facet Eng, Kalvin
Hindle, Abram
Stroulia, Eleni
contents Software design patterns present general code solutions to common software design problems. Modern software systems rely heavily on containers for running their constituent service components. Yet, despite the prevalence of ready-to-use Docker service images ready to participate in multi-container service compositions of applications, developers do not have much guidance on how to compose their own Docker service orchestrations. Thus in this work, we curate a dataset of successful projects that employ Docker Compose as an orchestration tool to run multiple service containers; then, we engage in qualitative and quantitative analysis of Docker Compose configurations. The collection of data and analysis enables the identification and naming of repeating multi-container composition patterns that are used in numerous successful open-source projects, much like software design patterns. These patterns highlight how software systems are orchestrated in the real-world and can give examples to anybody wishing to compose their own service orchestrations. These contributions also advance empirical research in software engineering patterns as evidence is provided about how Docker Compose is used.
format Preprint
id arxiv_https___arxiv_org_abs_2305_11293
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Patterns of Multi-Container Composition for Service Orchestration with Docker Compose
Eng, Kalvin
Hindle, Abram
Stroulia, Eleni
Software Engineering
Software design patterns present general code solutions to common software design problems. Modern software systems rely heavily on containers for running their constituent service components. Yet, despite the prevalence of ready-to-use Docker service images ready to participate in multi-container service compositions of applications, developers do not have much guidance on how to compose their own Docker service orchestrations. Thus in this work, we curate a dataset of successful projects that employ Docker Compose as an orchestration tool to run multiple service containers; then, we engage in qualitative and quantitative analysis of Docker Compose configurations. The collection of data and analysis enables the identification and naming of repeating multi-container composition patterns that are used in numerous successful open-source projects, much like software design patterns. These patterns highlight how software systems are orchestrated in the real-world and can give examples to anybody wishing to compose their own service orchestrations. These contributions also advance empirical research in software engineering patterns as evidence is provided about how Docker Compose is used.
title Patterns of Multi-Container Composition for Service Orchestration with Docker Compose
topic Software Engineering
url https://arxiv.org/abs/2305.11293