Release cycles
A microservices architecture embraces rapid development and helps to shorten the release cycles for applications or services. The following aspects are important to discuss when evaluating this factor:
- What is the frequency of building or releasing applications?
- Are you following any practice of releasing the application versions—that is, monthly, quarterly, half-yearly, or yearly?
- How frequently does a deployment cause an outage?
- How long does it take to recover from an outage?
- Are the new service versions following semantic versioning?
- Are the versions released first to staging and then production?
- Are the application programming interfaces (APIs) following proper version guidelines?
- What makes an API version change?
- Have you implemented versioning?
- What is your approach to handling HyperText Transfer Protocol (HTTP) API versioning?
- Uniform Resource Identifier (URI) path versioning
- Query parameter versioning
- Content...