3 ms·
Your viewpoint gives me pause because you aren’t acknowledging the fundamental tradeoffs. Microservices give you flexibility and resiliency but are inherently
by dasil003 8y ago
Your viewpoint gives me pause because you aren’t acknowledging the fundamental tradeoffs. Microservices give you flexibility and resiliency but are inherently more complex than the equivalent monolith. Debugging systemic issues across distributed systems is automatically one or more orders of magnitude more difficult.
The elephant in the room is the problem domain. If your domain doesn’t decompose cleanly into services then your base maintenance costs skyrocket. I hate these discussions on HN because there’s so much generalization and opinionated arrogance, when in reality the particulars of a given situation matter far more than high level principles or dev ideology.
- staticassertion 8y ago> you aren’t acknowledging the fundamental tradeoffs. Well, the post that I was responding to stated the tradeoffs (complexity). And I was responding by saying that 'complexity' is a bit nebulous - and, in my experience, is reduced in some areas (very easy to reason about independent microservices without having to consider dependencies). > Debugging systemic issues across distributed systems is automatically one or more orders of magnitude more difficult. Sure, I guess. I haven't really run into issues that good correlation ids + instrumentation can't help with. Also, I find it really easy to target metrics and 'smoke alerts' to small services. Ideally, in a distributed system, you aren't worrying too much about distributed debugging so much as a single service failure. > I hate these discussions on HN because there’s so much generalization and opinionated arrogance Whoof. Let's take a step back here. I shared my experience and opinion, I don't think I'm being arrogant by doing so. I stated that microservice-first is not always the way to go, but that it can work - and I pointed to an area in the article that I thought really highlighted this point (the need to build features rapidly).