Architecture Decisions
In this lesson, we'll study some key decisions and at what architecture level, micro or macro, they should be taken.
We'll cover the following...
Microservices provide technological isolation. Therefore, it is possible to extend the concept of micro and macro architecture to technical decisions.
For deployment monoliths, these decisions, inevitably, must be implemented globally.
So, only for microservices, technical decisions can be made within the framework of macro or micro architecture. However, some decisions have to be part of the macro architecture. Otherwise, the integration will be compromised.
Micro and macro architecture decisions #
Decisions can be taken in the context of either micro or macro architecture. Let’s discuss each.
Programming languages, frameworks, and infrastructure #
Programming languages, frameworks, and infrastructure can be defined for each microservice individually at the micro architecture.
- Then each microservice can also be implemented with a different language.
- Technology, such as the application server, that best suits the specific problems of each microservice can be used.
Programming languages, frameworks, and infrastructure can be defined uniformly for all microservices in the macro architecture. This is useful if:
- a company’s technology strategy allows only certain technologies
- therefore, only developers with knowledge in certain technologies are hired
Database #
At first glance, this decision seems to be comparable to the decision concerning the programming languages, frameworks, and infrastructure but databases are different because:
- They store data.
- The