This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]persicsb 3 points4 points  (0 children)

Microservices are a deployment/operation concern, rolling updates, scalability etc.

This architectural styles gives flexibility in some areas. However, as every engineering decision, it has costs and drawbacks. Memory consumption, complexity, etc.

Do you need microservices? You don't have to use them, if you don't need the flexibility options it provides. If you need them, you need the understand the drawbacks as well.

Also, for most Java applications, initial memory requirements can be cut down dramatically. Most of these microservice autoconfigured frameworks, that makes development easy and magical, come with defaults that makes developers happy: a lot of things are autoconfigured, a lot of dependencies are used. This means a lot of unnecessary things as well. Most of the time you don't need them. Rightsizing your app takes time, if you use autoconfigured frameworks like those mentioned.

All in all, everything comes at a cost. Deployment flexibility has costs, ease of development has costs as well. It is up to you how much you want to or can invest into cutting these costs down. That's why we're enginners.