HostGator Web Hosting
HostGator Web Hosting

[ad_1]

Is there any place for monoliths in 2020?

[ad_2]

View Reddit by holyknight00View Source

Categories: PROGRAMMING

11 Comments

dopatraman · September 8, 2020 at 6:07 pm

yes

historybuffjb · September 8, 2020 at 6:10 pm

Yes obviously.

chucker23n · September 8, 2020 at 6:29 pm

The article starts out provocatively, meanders a bit, and ultimately comes to the right conclusion, so… 🤷🏻‍♂️

NBehrends · September 8, 2020 at 6:31 pm

Would someone mind actually defining a monolith for me? Is a project a monolith if all the code is in one assembly or when it’s not mirco-service oriented.

gjosifov · September 8, 2020 at 6:58 pm

Monoliths – Baba Yaga
Micro-service – ! Baba Yaga

coterminous_regret · September 8, 2020 at 7:12 pm

Feels like a pretty low effort article to me. State a question with an obvious answer, state the obvious answer. Collect resume fodder blog web dev points.

suhcoR · September 8, 2020 at 7:20 pm

It is all a question of perspective. If you are far enough away, even a micro service system looks like a monolyth.

Skithiryx · September 8, 2020 at 7:47 pm

I don’t agree with some of the article’s claims about testing. It seems to say that microservices are harder to test than a monolithic service.

In my experience that is not the case. A monolith that does a lot of things can be an absolute pain to test. Often trying to black box test at the monolith level means dealing with the entire system’s intercoupling all at once, while with microservices you can take a single service and black box test it and only deal with the things it depends on. Some services will be harder to test than others, but there’s usually source services that very easy to test, and no service will ever be harder to test than the entire system.

Also, I feel that this article really underestimates the human scaling costs of a monolithic architecture. When your organization grows large enough you need to invest in good CI/CD with either architecture, but I’d argue it’s actually more important with a monolithic architecture because bad changes going out and being reverted will start to block your good changes from going out and slow down your entire development process. And the blast radius of a bad change is way more likely to be large in a monolithic service as well. A bug that fills up the disk could conceivably kill your entire functionality, where maybe in a microservice world it only kills the particular functionality it was responsible for.

ImperiumOriginsDev · September 8, 2020 at 8:29 pm

> Loads of buzzwords thrown every five minutes: scalability, ownership, devops, redundancy

These are buzzwords?

overclocked_my_pc · September 8, 2020 at 9:40 pm

There are many places for monoliths in 2020

Off the top of my head
* fintech / anywhere ultra low latency matters
* small dev team
* simplicity of deployment

In fact, Istio, a technology I use at work recently refactored their microservices architecture into a monolithic (Istio 1.4 -> 1.5)

Most of the places I’ve worked who bought into microservices ended up turning their monolith into effectively a distributed monolith.

Multiple microservices needed to be released together rather than independently (making for a long night when it’s deployment time)

Awful dependency graph (microservice A calls B in some cases but B calls A in others — this but with 20-30 microservices)

Databases become the point of integration (microservice A needs to know about users, but so does microservice B so they both manipulate a user db table. now anytime either service needs to modify schema, can potentially break the other)

​

You need a very mature tech organization and a really good justification for moving to microservices for it to not just blow up in your face.

AttackOfTheThumbs · September 9, 2020 at 4:25 pm

Yes. Odds of you needing micro services are comparatively slim. Either way, you’re better of building a modular monolith you can break up later if needed.

Leave a Reply