Architecture: The Hard Parts
- How do I determine the appropriate level of service granularity?
- How do I achieve high semantic coupling and low implementation coupling?
- How do I create bounded contexts and access data I don’t own?
- How do I decide between synchronous versus asynchronous communication?
- How do I choose between choreography and orchestration for my workflow?
- How do I manage a distributed transaction in microservices?
Architecture vs design
axioms:
- service is tested as a single unit
- service is deployed as a single unit
- service that writes data, owns it
- deploying often?/larger-services? is a risk
Mark Richardson’s website about architecture https://www.developertoarchitect.com/ https://www.developertoarchitect.com/lessons/