The single most important element is the capacity to deploy independently. Rule number one for creating a successful microservices system is to ensure that each microservice can operate as independently as possible from the rest. That includes development, testing, and deployment.
This is the key element that allows developing in parallel between different teams, allowing them to scale the work. This increases the speed of change in a complex system.
The team responsible for a specific microservice needs to be capable of deploying a new version of the microservice without interrupting any other teams or services. The objective is to increase the number of deployments and the speed of each of them.
The microservice architecture is strongly related to Continuous Integration and Continuous Deployment principles. Small services are easy to...