- Define a scope
- Combine loose coupling with high cohesion
- Create a unique service which will act as an identifying source, much like a unique key in a database table
- Creating the correct API and take special care during integration.
- Restrict access to data and limit it to the required level
- Maintain a smooth flow between requests and response
- Automate most processes to reduce time complexity
- Keep the number of tables to a minimum level to reduce space complexity
- Monitor the architecture constantly and fix any flaw when detected.
- Data stores should be separated for each microservices.
- For each microservices, there should be an isolated build.
- Deploy microservices into containers.
- Servers should be treated as stateless.