To define a technology stack with which the system can be built is one of the main parts of an architecture. For individual microservices this is likewise a very important task. However, the focus of this chapter is the microservice-based system in its entirety. Of course, a certain technology can bindingly be defined for all microservices. This has advantages: In that case the teams can exchange knowledge about the technology. Refactorings are simpler because members of one team can easily help out on other teams.
However, defining standard technologies is not mandatory: if they are not defined, there will be a plethora of different technologies and frameworks. However, since typically only one team is in contact with each technology, such an approach can be acceptable. Generally, microservice-based architectures aim for the largest possible independence. With respect to the technology stack, this independence translates into the ability to use different technology stacks and to independently make technology decisions. However, this freedom can also be restricted.