The largest benefit of microservices has always been lifecycle management, and "clear interfaces" in "modular monoliths" does not in fact solve that. If you update the logging library in a monolith, everyone takes that updates even if it breaks half the teams.
That's a "large" organization problem. But large is actually, not that big (about 5-10 scrum teams before this is a very large problem).
It also means on critical systems separating high risk and low risk changes are not possible.
Like all engineering decisions, this is a set of tradeoffs.
> The largest benefit of microservices has always been lifecycle management, and "clear interfaces" in "modular monoliths" does not in fact solve that.
What lifecycle are we really talking about? There are massive monoliths - like the Linux kernel or PostgreSQL - with long lifespans, clear modularity, and thousands of contributors, all without microservices. Lifecycle management is achievable with good architecture, not necessarily with service boundaries.
> If you update the logging library in a monolith, everyone takes that updates even if it breaks half the teams.
This is a vague argument. In a microservice architecture, if multiple systems rely on the structure or semantics of logs — or any shared behavior or state - updating one service without coordination can just as easily break integrations. It’s not the architecture that protects you from this, but communication, discipline, and tests.
> It also means on critical systems separating high risk and low risk changes are not possible.
Risk can be isolated within a monolith through careful modular design, feature flags, interface boundaries, and staged rollouts. Microservices don’t eliminate risk - they often just move it across a network boundary, where failures can be harder to trace and debug.
I’m not against microservices. But the examples given in the comment I responded to reflect the wrong reasons (at least based on what I’ve seen in 15+ years across various workplaces) for choosing or avoiding a microservice architecture.
Microservices don’t solve coupling or modularity issues — they just move communication from in-process calls to network calls. If a system is poorly structured as a monolith, it will likely be a mess as microservices too — just a slower, harder-to-debug one.
I've had basic facts about mathematics which are wrong deleted in revisions by editors with no knowledge of the subject beyond having asked ChatGPT (which repeats the wrong shit on Wikipedia). It's hard to be worth it. Wikipedia's biggest problem is the editors.
Wikipedia is really, really bad at mathematics. The tone is all over the place, from “plagiarized from an undergrad textbook” to “crackpot with an axe to grind against Cantor.”
This is true, and at the same time, this article is absolutely rife with unsourced, unserious points. However insane Trumps plans, the fundamental "facts" presented here are largely a joke.
> Chinese workers work longer hours more happily and they’re physically faster with their hands; they can do things that American labor can’t. It’s years of accumulated skill, but it’s also a culture that is oriented around hard work and education that the United States no longer has. In China, there are no people who are too fat to work. The workers don’t storm off midshift, never to return to their job. You don’t have people who insist on being paid in cash so that they can keep their disability payments, while they do acrobatics on the factory floor that the non-disabled workers cannot do.
It's an actual joke to present something with such a derogatory view of the median American worker with no data to back it up. Most of America's "labor class" is in fact Mexican, the country with the highest annual hours worked per year. Secondly hours worked does not relate directly to productivity. American workers are the most productive in the world. [1]
More importantly, _we don't manufacture like this anymore, even in China_. Doing "acrobatics" on the factory floor is now obsolete. Much of what's said here fails to acknowledge that we would _not_ build our supply chains the same way as China does. China had a surplus of human labor (one that's facing an impending demographic crisis) and so used human labor in ways modern western countries would not and do not.[2]
E.h., kind of. If you are allocating in a hot loop it's going to suck regardless. Object pools are really key if you want high perf because the general purpose allocator is way less efficient in comparison.
It depends on how long the time you spend in your c function is. cgo has a substantial overhead for calling. I tend to prefer just writing ASM functions for critical path code. You can use libraries like https://github.com/mmcloughlin/avo to make it easier to write/maintain.
So on point. We do _a lot_ of hand written SIMD on the other side (encoders) as well for similar reasons. In addition on the encoder side it's often necessary to "structure" the problem so you can perform things like early elimination of loops, and especially loads. Compilers simply can not generate autovectorized code that does those kinds of things.
It's not like sabotaging German ships will cause Germany to increase military spending or fix the Bundeswehr's comically bad procurement process so there is little risk for Russia in these actions.
The US has banned foreign leadership of tv and newspapers since the 30s. At no point had the US ever really allowed foreign governments unfettered control over our media.
Federally regulated airwave media aside, this is the internet. Telling the company they cannot operate in the US because of the content of the messages that might proliferate on it is a dangerous precedent. If you’re really claiming that the internet should be regulated as much as TV, I fear for that future
That's a "large" organization problem. But large is actually, not that big (about 5-10 scrum teams before this is a very large problem).
It also means on critical systems separating high risk and low risk changes are not possible.
Like all engineering decisions, this is a set of tradeoffs.