Live data from Hacker News

Microservices Are Something You Grow Into, Not Begin With

nickjanetakis.com

111–120 of 159 posts

Re: Microservices Are Something You Grow Into, Not Begin With

#111
post #18

Earlier quoted context omitted.

Indeed. It just replaces internal calls between services of your monolith with flaky and slower network calls.

Counterpoint: if network calls weren’t flaky and slow would it make a difference in deciding whether to separate modules via a physical machine boundary?

But network calls ARE inherently flakier and slower. What good does it to imagine they weren't?

Re: Microservices Are Something You Grow Into, Not Begin With

#112
post #11

I agree that microservices is the new "must have" technology but actually it isn't a great deal different from a monolith. The monolith can have separation between services and still requires interfaces to work between them. As others have said, microservices bring a lot of baggage that you might never have seen before (i.e. big learning curve) and the myth of isolated changes is just that, a myth. Unless it is some…

Isolated changes aren't a myth. FAANG and others leverage the isolation brought by service separation every day. For very large services, a monolith makes it difficult to test services independently. I personally don't like the word "microservices" since it implies that services have to be micro. For the last few years I have worked on service oriented systems where the individual components are sometimes pretty big…

As you correctly point out, microservices != SOA. So, a critique of microservices doesn't imply a critique of SOA.

Re: Microservices Are Something You Grow Into, Not Begin With

#113
post #93

Most of the time, I've found a push to microservices within an organization to be due to some combination of: 1) Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system (derogatory name: monolith) and present microservices as solution. Note, this is the same tired argument from years ago when people would refer to legacy systems/legacy code as the reason for not being able t…

Reality is also confusing. People can see that in a one day hackathon, the same bunch of people can produce more stuff than they do in a year otherwise. Why? Are they lazy? Did they use better tools? My niece Shelly added address book integration to her hobby app in an afternoon, while drunk. WhyTF are we 640 man hours deep into "identity architecture coordination" meetings?!! Just do with Shelly did! Those things do…

> My niece Shelly added address book integration to her hobby app in an afternoon, while drunk.

We shouldn't downplay this achievement. That is impressive!

I agree with you that reality is very confusing. I think much suffering is caused by not fully embracing this fact. I don't mean to be defeatist. On the contrary, this great confusion presents a vast landscape for potential improvements.

Re: Microservices Are Something You Grow Into, Not Begin With

#114
post #18

Earlier quoted context omitted.

Indeed. It just replaces internal calls between services of your monolith with flaky and slower network calls.

It occurred to me a couple years ago when designing my deployment architecture that the majority of the complexity was just this. Instead of letting linkers/module systems do the work, I was doing all that stuff first by hand and then basically writing my own form of linking logic to solve a problem we created ourselves. Reminded me of when I read about the old ways people used to link code by hand... And yes we were…

If it only forces clean boundaries then I agree, you shouldn’t be using microservices. The main benefits of microservices are things like fault isolation and better security, since you can run different components with different privileges.

Re: Microservices Are Something You Grow Into, Not Begin With

#115

Most of the time, I've found a push to microservices within an organization to be due to some combination of: 1) Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system (derogatory name: monolith) and present microservices as solution. Note, this is the same tired argument from years ago when people would refer to legacy systems/legacy code as the reason for not being able t…

+1 to noob engineers pushing it. It’s what we did at my last startup. It was a headache.

Re: Microservices Are Something You Grow Into, Not Begin With

#116

Most of the time, I've found a push to microservices within an organization to be due to some combination of: 1) Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system (derogatory name: monolith) and present microservices as solution. Note, this is the same tired argument from years ago when people would refer to legacy systems/legacy code as the reason for not being able t…

This sounds sanctimonious and rife with the exact same inexperience and overly brittle purist attitudes you are criticizing. It really is true that huge monolith legacy systems might prevent dev teams focused on product growth from even being capable of doing their jobs, let alone meeting aggressive deadlines. It doesn’t always mean microservices or heavy re-architecture is the right choice, but sometimes it absolute…

Isn't the argument that is being made that you did things exactly right. That microservices are a great architecture to migrate to when you feel the need. But aren't a great to start a project.

Re: Microservices Are Something You Grow Into, Not Begin With

#117

Interesting that the article mentions Shopify supporting over 600,000 users with a Rails monolith. At my day job, one of the justifications for us adopting microservices is that we want to horizontally scale. We have fewer than 8,000 users. Hubris, eh?

Absolutely, and hubris of the worst kind...it's the company killing kind before it can even get started.

Re: Microservices Are Something You Grow Into, Not Begin With

#118

Most of the time, I've found a push to microservices within an organization to be due to some combination of: 1) Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system (derogatory name: monolith) and present microservices as solution. Note, this is the same tired argument from years ago when people would refer to legacy systems/legacy code as the reason for not being able t…

> Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system (derogatory name: monolith)

They are not wrong though, monoliths cannot give you fast delivery. Fast delivery implies at least expressive dynamically typed languages with some resilience to bugs, which in turn requires limiting the scope of bugs and therefore decoupling and isolating everything as much as possible. This is very different architecture from monoliths. Microservices are a first step there, but of course not a substitute for lightweight isolated processes and supervision trees. Still, monoliths are definitely bad choices in every way possible if you can split them into isolated services.

Re: Microservices Are Something You Grow Into, Not Begin With

#119
post #32
post #18

Earlier quoted context omitted.

Indeed. It just replaces internal calls between services of your monolith with flaky and slower network calls.

This is exactly how I view microservies (assuming that you know how to build a monolith in a modular way). At the end of the day its only going to increase complexity.

I think what you said is true even if you don't know hot build a monolith in a modular way.

Re: Microservices Are Something You Grow Into, Not Begin With

#120

Most of the time, I've found a push to microservices within an organization to be due to some combination of: 1) Business is pressuring tech teams to deliver faster, and they cannot, so they blame current system (derogatory name: monolith) and present microservices as solution. Note, this is the same tired argument from years ago when people would refer to legacy systems/legacy code as the reason for not being able t…

In my experience microservices have been prescribed as a sales bullet point instead of a software architecture decision.

Every time it's resulted in insane low traffic bottlenecks all over the place as services chatter away or separately need to look at he same file data so all request a copy etc.

Any architecture has tradeoffs and it's poor form to pick one before you've even described what the software is for.

Post reply on HN