4 ms·
> Setup went from intro chem to quantum mechanics Doesn't really seem fair. On the one hand you might need to do a bit of work so that you can say `docker-comp
by staticassertion 4y ago
> Setup went from intro chem to quantum mechanics
Doesn't really seem fair. On the one hand you might need to do a bit of work so that you can say `docker-compose up` or `nomad up` or whatever, but at the same time there are plenty of issues with running binaries/databases directly on a laptop - version skew, for instance.
> So long for understanding our systems
This is fundamental to all asynchronous systems. You don't have backtraces anymore. If your service has concurrency primitives you probably already have to solve this problem with tracing, microservices just give you another asynchronous primitive.
> If we can’t debug them, maybe we can test them
Bringing up your entire application is what you'd have to do in a monolith as well, I don't understand this criticism. Also, "teaching" your CI to do this is 0 additional work - it's gonna be another "docker-compose up" or whatever, generally speaking.
Our microservice codebase runs on laptops just as it runs in the cloud. It's pretty nice.
With regards to "That is probably a bit too much effort so we’re just going to test each piece in isolation" - again, this is the same thing with your monolith. You'll just do this at the module level.
This is really a "right tool for the job" situation. And that's hard for people to understand, since oftentimes you don't know what you're building upfront.