Agility with Microservices Programming 2022
Agile architecture does not necessarily emerge from the use of agile development practices, it needs to be deliberately sought after. This often means creating systems as sets of small, independent components that collaborate to provide the desired functionality. Such components are usually loosely-coupled and expose well-defined APIs that are accessible over standard communication protocols and data formats – they can be individually developed and tested, they can be easily replaced by alternative implementations if needed, and they provide great flexibility when deploying and scaling the system.
This style of architecture is often described as microservices. Essentially, microservices decompose a system into an architecture of standalone modules that 1) are simpler to maintain and evolve, 2) scale efficiently, and 3) can be reused as building blocks for other architectures. Transitioning to a microservice architecture is crucial for companies in highly-competing markets, where agility and flexibility of software systems become a critical asset to establish leadership.
While microservices are a solution for maintainability, evolvability, and scalability, they come at a cost: an increased complexity that calls for an improvement of the current techniques for software construction and advanced engineering practices.
Like its predecessors, AMP 2020 and AMP 2021, the upcoming third instance of the AMP workshop series aims at collecting original work on the science and engineering of Microservices Programming using Agile principles and practices and/or with the goal of supporting Agility. The topics include (but are not limited to):
- Using microservices to enable an evolutive and agile architecture.
- Software engineering methods and tools for microservices.
- Patterns for microservices design and development.
- Operations practises for microservices and DevOps support.
- Impact of microservices’ usage on agile teams and processes.
- Programming languages and techniques for microservices.
- Combining microservices with other architectural styles.
- Achieving software qualities, e.g., security, maintainability, and deployability.
- Metrics and software analytics in microservices architectures.
- Verification of microservice architectures.
- Test-driven approaches and testing in microservices development.
- Refactoring in the context of microservices architectures.
- Empirical studies on microservices.
- Experience reports on microservice adoption and teaching.