Domains

Issues covered

Architectural patterns/evaluation criteria

Data management

Which architecture to adopt for data management (reading, writing)?

Database per service

API Composition

SAGA

Domain Event

Event sourcing

Test management (Testing)

How to test processes involving several microservices?

Testing of service components

Service Integration Contract Testing

Deployment

How to deploy services written in different languages while ensuring devops requirements?

Multiple service instances per host

Service instance per container

Serverless deployment

Cross-cutting concerns

How to allow a service to run in multiple environments without modification?

Externalized configuration

Communication style

How to make services communicate?

Remote Procedure Invocation (RPI)

Message exchange (Messaging)

External API

How do clients access individual services?

API Gateway

Backends for frontends

Service discovery

How does the client of a service, the API gateway or another service, discover the location of a service instance?

Service Registry

Client-side service discovery

Server-side service discovery

Self-registration

Reliability

How do you prevent a network or service failure from affecting other services?

Circuit breaker

Security

How do you communicate the identity of the applicant to the departments processing the software?

Access token

Observability

How to understand the behavior of a software and solve problems?

Log aggregation

Implementation measures

Distributed tracing

API Health Check

User interface templates

How do you implement a screen or UI page that displays data from multiple services?

Composition of the page fragment on the server side

Composition of the client-side user interface