2 ms·
The monolith vs microservice debate always seemed so misguided to me. It seems exactly like vim vs emacs. Or ruby vs python. The arguments are always the same.
by phendrenad2 5y ago
The monolith vs microservice debate always seemed so misguided to me. It seems exactly like vim vs emacs. Or ruby vs python. The arguments are always the same.
* "In vim I can do this in 3 keystrokes, in emacs it takes 5!" (where "this" is some vim-idiomatic thing you'd never do in emacs).
* "Ruby leads to bad programs, I have inherited a legacy ruby codebase and you wouldn't believe what they did..." / "Python leads to bad programs, I have inherited a legacy python codebase and you wouldn't believe what they did..."
* My team took a python/ruby app and rewrote it ruby/python, and now it's 99% faster and our productivity is way higher!
What I'm hinting at is this: You can write a bad or good microservice or monolith. The rules are different. You'll have different frustrations and tradeoffs. You'll have to play to the architecture's strengths and avoid it's weaknesses. You'll NEED institutional standards to keep people from doing the wrong thing for the architecture model and making a mess.
- yCombLinks 5y agoThe big issue is microservices underwent a major recent hype cycle and are applied when they are a large net negative. All of your holy war examples mostly boil down to personal preferences. Microservices vs Monolith is a major architectural decision with widespread organizational impact. Ruby vs Python only matters if you already have a team that only knows Python for example.
- rsanek 5y agoDo people argue about productivity and performance when comparing Ruby and Python? I haven't seen that myself. Maybe for toy examples. For 10s of developers-scale applications, I sometimes see comparisons of tooling/libraries, eg Rails vs. Django. But mostly I see comparisons with Ruby/Python versus compiled/more mature languages like Java/C#. It generally doesn't make sense to contemplate a rewrite unless you're moving to something significantly different, and Ruby and Python aren't really too dissimilar.