Table of Contents
Fetching ...

Microservices a Definition Analyzed by ßMACH

Marcus Hilbrich, Ninon De Mecquenem

TL;DR

The paper introduces the ßMACH protocol as a unifying, knowledge-based framework for software artifact management and demonstrates its application to the microservice architectural style. By defining a strict microservice concept and walking through a ßMACH-filled use case, the authors illustrate how management processes, roles, and interfaces can be described, analyzed, and propagated across teams. Key contributions include a compact, easily implementable protocol, explicit handling of external artifacts, and insights into how isolation impacts management overhead and knowledge transfer. The work offers a practical method for teams to formalize management strategies, compare approaches, and identify gaps, with potential impact on how large-scale microservice systems are planned and governed.

Abstract

Managing software artifacts is one of the most essential aspects of computer science. It enables to develop, operate, and maintain software in an engineer-like manner. Therefore, numerous concrete strategies, methods, best practices, and concepts are available. A combination of such methods must be adequate, efficient, applicable, and effective for a concrete project. Eelsewise, the developers, managers, and testers should understand it to avoid chaos. Therefore, we exemplify the ßMACH method that provides software guidance. The method can point out missing management aspects (e.g., the V-model is not usable for software operation), identify problems of knowledge transfer (e.g., how is responsible for requirements), provide an understandable management description (e.g., the developers describe what they do), and some more. The method provides a unified, knowledge-based description strategy applicable to all software management strategies. It provides a method to create a minimal but complete description. In this paper, we apply ßMACH to the microservice concept to explain both and to test the applicability and the advantages of ßMACH.

Microservices a Definition Analyzed by ßMACH

TL;DR

The paper introduces the ßMACH protocol as a unifying, knowledge-based framework for software artifact management and demonstrates its application to the microservice architectural style. By defining a strict microservice concept and walking through a ßMACH-filled use case, the authors illustrate how management processes, roles, and interfaces can be described, analyzed, and propagated across teams. Key contributions include a compact, easily implementable protocol, explicit handling of external artifacts, and insights into how isolation impacts management overhead and knowledge transfer. The work offers a practical method for teams to formalize management strategies, compare approaches, and identify gaps, with potential impact on how large-scale microservice systems are planned and governed.

Abstract

Managing software artifacts is one of the most essential aspects of computer science. It enables to develop, operate, and maintain software in an engineer-like manner. Therefore, numerous concrete strategies, methods, best practices, and concepts are available. A combination of such methods must be adequate, efficient, applicable, and effective for a concrete project. Eelsewise, the developers, managers, and testers should understand it to avoid chaos. Therefore, we exemplify the ßMACH method that provides software guidance. The method can point out missing management aspects (e.g., the V-model is not usable for software operation), identify problems of knowledge transfer (e.g., how is responsible for requirements), provide an understandable management description (e.g., the developers describe what they do), and some more. The method provides a unified, knowledge-based description strategy applicable to all software management strategies. It provides a method to create a minimal but complete description. In this paper, we apply ßMACH to the microservice concept to explain both and to test the applicability and the advantages of ßMACH.
Paper Structure (17 sections, 10 figures)

This paper contains 17 sections, 10 figures.

Figures (10)

  • Figure 1: Definition of microservices in the ßMACH protocol. The definition gives the numbers of the bullet points/parts. (See Fig. \ref{['fig:ssmach:table']} and https://doi.org/10.5281/zenodo.10992169 for more details.)
  • Figure 2: Context or meta-data of the definition of microservices in the ßMACH protocol. (See Fig. \ref{['fig:ssmach:table']} and https://doi.org/10.5281/zenodo.10992169 for more details.)
  • Figure 3: Description of microservices based on the ßMACH protocol. ßMACH describes a set of key aspects. Each cell of the table represents an aspect. The right part of each cell holds the references to the definition in the ßMACH protocol (Fig. \ref{['pic:ssmach:definition']}). ßMACH defines coloring. Based on the management process, we use light green in the right part of a cell for aspects that do not need active management. Active management means that an aspect is realized without a need for action. The darker green indicates that an aspect is also performed without needing active management but is provided by another. We use violet for aspects used or required by additional ones. Such an aspect indicates a special interest. Arrows with a peak-end describe a provides-relation. The aspect on the peak is provided by the other. A round end arrow gives a demand relation. The other aspect needs the one at the rounded end. The left part of the call can be colored, too. If the left part of multiple cells uses the same color, the cell's descriptions are equal or very similar. The described aspects in this figure are all based on the other parts of the ßMACH protocol, provided in Fig. \ref{['pic:ssmach:definition']} and \ref{['pic:ssmach:context']}. Download the ßMACH protocol as PDF to zoom in and explore the protocol (https://doi.org/10.5281/zenodo.10992169).
  • Figure 4: Definition of software development toy example in the ßMACH protocol. The definition gives the numbers of the bullet points/parts. (See Fig. \ref{['pic:ssmach:toy:keyExp']} and https://doi.org/10.5281/zenodo.10992007 for more details.)
  • Figure 5: Context or meta-data of software development toy example in the ßMACH protocol. (See Fig. \ref{['pic:ssmach:toy:keyExp']} and https://doi.org/10.5281/zenodo.10992007 for more details.)
  • ...and 5 more figures