Polyglot microservices: additional things to consider

In this article, I will explain why, even when you have the option to use different languages across your microservices architecture, this is not always a good idea.

Category

Microservices

Related tags

microservices, programming languages

Introduction

One of the characteristics of microservices is the ability to use different programming languages depending on the microservice and the business and technical requirements you have. This is a huge advantage and is part of the reasons why companies use microservices. But there are also some drawbacks. Do you want to read more?

Advantages of the polyglot quality of the microservices

First, we should talk about the advantages:

  • If you can use more than one programming language -in opposition as with the monoliths- you can choose the best language for each use case, which is obviously good.
  • If you are not restricted to a single programming language, hiring developers should be easier, as the group you are targeting is bigger.
  • You can move developers from one language to another in case they want to grow in different directions. This uses to be nice for them.
  • If you can choose, maybe you can consider non-technical things like the cost.

But, obviously, we have some disadvantages we need to also consider.

Disadvantages of the polyglot quality of the microservices

Even when having the ability to choose a different programming language for each microservice is not an obligation -so we can choose always the same- we need to consider the disadvantages of using several different ones:

  • If you divide your developer base into several different languages, you have fewer developers per language, so sometimes it can be difficult to plan resources.
  • If you have different languages, you have different infrastructure needs. Even when most of the time you can achieve an agnostic infrastructure, you are going to have different testing and building process at least.
  • Your recruiters are going to have a bad time: they need to know the ecosystem for each language they need to find people for, and having several different ones is more knowledge to have.

Conclusion

This is one of these situations where apparently all is good but, at the end of the day, there are some disadvantages you need to consider. Be aware of it and choose wisely.

Not another newsletter

  • A montly summary of everything new in the blog: So you can consume the content at your own pace.
  • Discounts on my books or courses: You will have exclusive discounts on books, courses or any other pay material I build in the future.
  • Books recommendations: I will recommend you books time to time, only the best of the best.

Join to get more like this

Only one email per month, period. Unsubscribe any time.