Variations

In this lesson, we'll see how implementation of Microservices can vary.

We'll cover the following

The technical micro architecture decisions can be made differently for each microservice. But there is a connection with the macro architecture.

The uniformity of the operational aspects can be enforced by the macro architecture.

If you want to implement a microservice with other technologies in a Spring Boot microservices architecture, this can lead to a lot of effort.

A macro architecture decision could be to read out configurations from an application.properties file.

This decision does not restrict the choice of implementation technologies. But for a Spring Boot application, the implementation is very simple because this mechanism is built into Spring Boot and the default for Spring Boot applications.

A Go application, on the other hand, would have to be adapted to this requirement.

This effect supports a uniform choice of technology for the microservices because implementing a microservice with Spring Boot is easier, therefore, developers would prefer Spring Boot.

A uniform choice of technology has further advantages. For example, developers are more likely to find their way around in other microservices, and developers of different microservices can help each other out with technology issues.

In order to really treat other technologies as equal, a different macro architecture decision should be made.

Spring Boot offers many more options.

For example, the configuration can be stored in environment variables, transferred via the command line or read from a configuration server.