News for hackers. Stuff that matters.
Re:Biggest CPU for the Bad System by h2odragon on Monday May 13, 2024 @10:16AM (#40343662)
https://old.reddit.com/r/sysadmin/comments/1cqn3qa/whats_the...

> The whole thing is about 10k APIs that all share the same cluster of 10 databases on the backend, which was never designed to scale like this. This company did 500 million revenue 2010 and now 15 billion this year, all running on this fking sql back end. They have a team of 500 devs writing for these apps, the complexity is unbelievable. No one knows how to untangle it and scale out to micro services.

Re:Biggest CPU for the Bad System by mamcx on Monday May 13, 2024 @12:41PM (#40345230)
Adding micro-services is the way to make the company bankrupt.

"micro-services" is the worst solution to ANY problem. Is not a solution, only another way to write a problematic app.

The problem here is complexity and "micro-services" is the MOST efficient way to add complexity.

And the real problem here is complexity X scalability, which requires simplicity and tunning, stuff that "micro-services" IS NOT mean to solve.

---

I work in the enterprise space, and you bet you can cut 70%* (every time you find stuff like this) of the code and stay single-master-DB even for some very large companies if you have a half-decent architecture.

p.d: Do note that cut code does not mean the app will end with just 30%, is just that 70% is trash to be redone.

Re:Biggest CPU for the Bad System by hot_gril on Monday May 13, 2024 @12:44PM (#40345262)
Are you saying that every company up to a certain size should have a single master DB?
Re:Biggest CPU for the Bad System by shermantanktop on Monday May 13, 2024 @10:56AM (#40344063)
Unfortunately the word “microservices” on HN brings out some low-quality discourse. Maybe this time will be different?
Re:Biggest CPU for the Bad System by pixl97 on Monday May 13, 2024 @11:39AM (#40344549)
For this particular instance and company, no. Not because microservices can't work, but instead because of the coordination required between services/api/database that doesn't appear to exist at all in this company.

This said, depending on your application and how it's split up quite often there are easy wins. An example I've seen is a company that had a huge batch reporting jobs for reporting at fixed intervals. Hammered the hell of out production, so was moved to pull data from a read only replica.

Re:Biggest CPU for the Bad System by rbanffy on Monday May 13, 2024 @11:58AM (#40344751)
It really depends on what they are doing. At this stage, I'd suspect it needs some major rearchitecture, but they accumulated so much tech debt it's difficult to say what next steps could be. As was pointed out by others, starting by introducing some strong governance practices would be a good start.
Re:Biggest CPU for the Bad System by hot_gril on Monday May 13, 2024 @12:16PM (#40344932)
My department was in a bad single-DB position like this. The only way out was big rewrites, and generally each team had one service with its own DB in the end. Dunno if you'd call that microservices or not.
Re:Biggest CPU for the Bad System by rbanffy on Tuesday May 14, 2024 @08:43AM (#40354606)
I would if they can have their own release cycles.
Re:Biggest CPU for the Bad System by hot_gril on Tuesday May 14, 2024 @12:49PM (#40357226)
Then yes
Re:Biggest CPU for the Bad System by hot_gril on Wednesday May 15, 2024 @02:08PM (#40370363)
The important thing in these convos is to be clear each time what you mean by "microservices," because there isn't a solid definition for that. I've seen too many debates at work over whether we should use microservices, where both sides already agree on the actual design.