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.
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: How to evaluate and ensure the applicability of a software artifact management strategy before the start of a project, especially for the microservices architecture. Specifically, the paper explains and tests its applicability and advantages in the microservices concept by applying the ßMACH method, in order to provide a unified, complete and easy - to - apply software guidance method.
### Problem Background
1. **Importance of Software Artifact Management**
- Managing software artifacts is one of the most important aspects in computer science, which enables software development, operation and maintenance to be carried out like engineering projects.
- Different projects require different management strategies, which must be appropriate, efficient, applicable and effective.
2. **Existing Challenges**
- Currently, there is no unified solution or description language to manage specific software projects.
- Different management strategies cover different aspects, but what the project needs to manage are the specific aspects of the project itself.
- All relevant personnel must understand their roles in the whole process, and the creation and transfer of information (through people, documents and software artifacts) must be clear for easy management.
3. **Particularities of Microservices Architecture**
- Microservices is a concept to deal with various scalability challenges. It supports large - scale and complex systems by increasing the number of services and development teams.
- Each microservice is managed by an independent small team. These teams can work independently, reducing management overhead and increasing productivity.
- However, microservices also need certain rules to ensure the overall consistency of the system, such as interface definition and communication between teams.
### The Role of the ßMACH Method
- **Unified Description**: The ßMACH method provides a knowledge - based unified description strategy, which is applicable to all software management strategies.
- **Check Completeness**: It can help check and specify specific management strategies, ensuring that all relevant aspects are covered and unnecessary management is avoided.
- **Improve Understanding**: It enables programmers, project managers, engineers, testers, etc. to easily understand the management strategy.
- **Promote Improvement**: It provides a basis for reviewing strategies, promoting academic discussions and systematic comparisons.
### Specific Objectives of the Paper
- **Apply the ßMACH Method**: By applying ßMACH to the microservices concept, explain its usage method and test its applicability and advantages.
- **Define Microservices**: Provide a strict definition of microservices and analyze how to use the ßMACH method to ensure that all aspects of microservice management are fully considered.
- **Actual Case Analysis**: Through specific use cases, show how the ßMACH protocol helps development teams make informed decisions, such as handling the use of external artifacts and relationships with other microservices.
Through these efforts, the paper aims to provide a systematic and structured tool for the management and development of microservices architecture, ensuring that the project has a clear and complete management strategy from the very beginning.