A little bit about microservices — Part 2
When we talk about microservices, we talked before about the possibility of having various teams that work using different technologies. Still, if that happens, now you are facing a problem where everything that is written has to work together.
How are we going to solve this problem?
Everything that you are going to do is a decision; try to make the better decision possible.
Think about the construction of the software as the construction of a building, and your job as an architect, engineer, developer, coder, etc., is to make that “that building” does not fall in time and remains stable.
The first thing is to ensure that you are going to be able to deliver things fast.
To deliver things fast, it is necessary that every team can upload new features of their microservices without having to compromise the work of other teams or even the whole application. To do this, each microservice has to be independent and self-sufficient from the whole system.
It is required that you define a standard to work with inside your application.
- What problem am I trying to solve?
- How am I going to solve it?
- What thing are common characteristics?
- What is different?
Once you have this thing in mind, you can now find the balance between optimizing the individual microservice's autonomy without losing the bigger picture.
It is important to have in your team someone who can see the bigger picture of everything, the goal of the application, and make the bigger decisions. It is important that this person can communicate to others what we are trying to build.
At this time in history, we can focus on developing good software without worrying about the technologies involved; choosing the right technology for the job. We can hire nice persons for our teams without worrying about the stack that this person uses.