Theme and Topics
Theme and Topics
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 (i) are simpler to maintain and evolve; (ii) scale efficiently; and (iii) 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 scalability, maintainability, and evolvability, 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 experiences on microservice adoption, reporting best practices, but also specially failure cases, so as to build community knowledge based on previous errors and successes. The workshop is open to experience reports from practitioners and academia. The fourth edition of AMP aims to continue the success of its previous editions in collecting original work on the science and engineering of programming microservices.
We seek to collect original work on the science and engineering of programming microservices which including but not limited to evolutive and agile architectures, methods and tools, patterns, operations practices and DevOps, agile teams, programming languages and techniques for microservices, software quality aspects, metrics and software analytics, verification, test-driven approaches and testing, architectural refactoring, empirical studies and experience reports on microservice adoption and teaching. 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 practices 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.