4 ms·
> Microservices should be small enough to be owned by a single developer This seems bad for code review, and disastrous with turnover. Whoops, now we need to f
by 0xfaded 10y ago
> Microservices should be small enough to be owned by a single developer
This seems bad for code review, and disastrous with turnover. Whoops, now we need to find a scheme engineer whose eccentricities are roughly equivalent to this last guy.
There are also ways to achieve microservice-like architectures without requiring multiple code bases. See Actors (scala akka). Streams are an extension which give automatic load balancing. And if you need it to run over the network, akka-remote has you covered.
- hinkley 10y agoI've not been happy with this kind code ownership in the past. Those who want to misbehave have a nice comfortable place to hide out while appearing relevant because they have a monopoly on an idea that they don't have the skills to be responsible for. So then you have your coworker who wrote a wrapper around the code to sanitize all of the inputs and outputs and it's bigger than the actual code and once in a while it guesses wrong about ambiguous data.
- duaneb 10y agoThis somewhat sidesteps an advantage of microservices that they are language agnostic.
- 0xfaded 10y agoI've never been convinced this is an advantage. Ryanair (the discount carrier) has a fleet of 354 boeing-737s. This means they cannot fly some routes the bigger jets can, and other routes they burn more fuel than the smaller jets would. BUUUT ... maintenance and logistics are drastically cheaper and efficient. By analogy, I would argue that costs sunk either in training or hiring for specific skills will pay off in the long run.
- twunde 10y agoI will say that it can be an advantage, but it's rare. It becomes an advantage when your primary language lacks the tools to do something well. One of my previous companies was a PHP shop and they used Python to chop up audio files, which would have been very cumbersome to do in PHP (few if any existing libraries). My current company implemented complex data pipelines in PHP, which really should have been done in a different language (python or scala would have been natural choices).
- gedrap 10y agoI am in a very similar situation right now and I totally agree with you on this one.