3 ms·
I know a few people who work at a place where they stuffed all their databases on the same server, and all their systems just write to whatever database they fe
by VincentEvans 3y ago
I know a few people who work at a place where they stuffed all their databases on the same server, and all their systems just write to whatever database they feel like on that same server, share data via database, join data across databases etc. And they use upvoted cynical memes like this comment to justify their “architecture” because “microservices are a fad”.
So as one might expect - various automated reports and actions routinely fail with deadlocks and timeouts, any change anywhere has a pretty big chance of screwing some other distant part of another system, all services need full unrestricted access to all databases, and off course nothing can really be tested because you need to run practically every database and service on the same machine to even try to test.
Naturally the pace of work is glacial, and bugs are blamed on individual intellectual failing of lesser tenured developers not having the experience and the vast system trivia knowledge of “lifers” who secured their guaranteed employment this way.
You might even be those people for all i know.
- exabrial 3y agoThe advantage is you know quickly rather than slowly that it’s broken.
- VincentEvans 3y agoIt’s great! Abundant and regular opportunities to step in and heroically fix various fires that routinely start to smolder in surprising and unexpected places.
- baz00 3y agoThis is how you end up bald very quickly.
- z3t4 3y agoHaving everything on the same computer will save many network rountrips
- JamesBarney 3y agoHaving multiple systems managed by different teams sharing a database is not a monolith. I've seen that idea brought up multiple times by microservices enthusiasts as a way to route around the difficulty of transactions. Most monolith enthusiasts like myself would build one service on top of one database.
- danpalmer 3y agoBoth of these things can be true. I worked on a monolith with one database and boring, correct, transactions, and it was a joy for almost all the time. Productivity was high. We went through a few growing pains when we had some big reports, but the first pass just moved them to a ~100 line batch reporting system, that solved it for another 2 years. Then we hit growing pains again but by that time had a shiny new data warehouse and just moved them to use the data warehouse instead. There's truth to both sides of this, but optimising for where most engineering is happening, keeping developers productive, and simple solutions that everyone understands, have always paid off well in my experience.
- VincentEvans 3y agoIts almost as if people work on different kind of systems, and each problem and solution requires context and nuance, and when you come across an academic article describing a complex solution to a complex problem in complex system that has complex operating requirements that you have never encountered professionally and don’t have any experience with - it would be best to file it away for later, or just move on. But maybe posting a snarky meme about it isn’t constructive.
- baz00 3y agoNot one of those. They got the microservice database isolation correct. But nothing else. Well the coffee is good and the toilets are clean. As for lifers, everyone I work with knows how many days until retirement. Sad sad people. I am merely hopping between frying pans until I can slide out into academia and get old and rot somewhere hopefully with tenure.
- ngc248 3y agoExactly, a monolith is suitable for small orgs or companies which deliver one thing. Microservices are not a fad and they solve a real world problem where you need to deliver for ex: something like a cloud platform. 10s of orgs cannot work on a monolith without stepping over each other, just the communicatin over. Also microservice enable you to scale (scale-out) the parts of the system that need scaling. At scale microservices do help, but you get into unnecessary problems when you don't have scale and use microservices.
- baz00 3y agoMicroservices are just monoliths…