Agility with Microservices Programming 2021
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, scalability, and reuse, they come at a cost: an increased complexity that calls for an improvement of the current techniques for software construction and advanced engineering practices.
The AMP workshop 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:
- Software engineering methods and tools for microservices;
- Operations practices for microservices and support for DevOps;
- Programming languages and techniques for microservices;
- Achieving software qualities, from security to maintainability and deployability;
- Modeling approaches for microservice-based systems;
- Verification and Testing of microservice systems;
- Education research of microservices-related topics.