Hacker News new | ask | show | jobs
by Gasp0de 1095 days ago
I think technology choices should be made depending on the team. If you have 5 teams with 10 people each, then it is a great idea if your service is comprised of 5 microservices that talk to each other across team borders through well defined APIs. If it takes you 3 days to run your microservice locally, then you somehow didn't set up your development environment when you should have.
3 comments

> If it takes you 3 days to run your microservice locally, then you somehow didn't set up your development environment when you should have.

The fact that setting up your dev env takes such complex rituals and incantations that need to be prepacked in a spellbook is itself a red flag.

A well-tooled development environment takes minutes to set up.
A well-tooled environment does not just spring out of an ether. Maintaining proper tooling in a distributed system often requires more work than the system itself. In a lot of cases, the business does not even consider this kind of time commitment, pushing the team to churn out features, and who eventually just bog down in insane complexity.
This strikes me as a, "poor carpenter blames his tools" situation. Obviously if a business does a bad job considering the needs of their engineers then the needs of their engineers won't be met, but that doesn't mean that the modern development environment is the problem.
Well, if the tool is a Swiss Army Chainsaw and you just need to cut a piece of paper, just maybe the carpenter is not fully to blame.
> then you somehow didn't set up your development environment when you should have.

This is great! ...in theory. But why do so many teams seem to have these kinds of problems? I think we have to come into these conversations with an over abundance of good faith that people are trying their best. Something in this microservice architecture conversation of the past decade isn't working as elegantly for a huge portion of the devshops that try it.

People should do lots of things, but that doesn't mean they always get done. There is merit to the argument that you may do things in a simpler way and adopt a different approach to cross team communication and complexity management. Your final sentence reads as a moral judgement equivalent to "your doing it wrong" without offering a solution.

We've had a decade of telling people they're doing it wrong and it's still being done with the same problems over and over and over again.

> If you have 5 teams with 10 people each, then it is a great idea if your service is comprised of 5 microservices

i've always thought a micro-service architecture should be decided and defined by the org chart and not technology.