What Even Are Microservices?
tuxie_
40 points
71 comments
July 28, 2026
Related Discussions
Found 5 related stories in 311.6ms across 15,236 title embeddings via pgvector HNSW
- Micro-SaaS Is Dead. Service With A Software Replaces It Adrig · 51 pts · July 24, 2026 · 56% similar
- How microVMs work, by building one in the browser nikhilunni · 15 pts · July 09, 2026 · 53% similar
- We Reverse-Engineered Docker Sandbox's Undocumented MicroVM API yakkomajuri · 76 pts · May 21, 2026 · 47% similar
- Maybe we should revisit microkernels morkin · 28 pts · July 26, 2026 · 47% similar
- In Emacs, everything looks like a service kickingvegas · 238 pts · July 10, 2026 · 46% similar
Discussion Highlights (20 comments)
inigyou
AI written? It's not X, it's Y all over.
wasfer
World of bloated microservices. Yet in reality many create them to be simple data proxies that constantly die down. Win in eyes of hashtag investors, loss in hands of people having to maintain that crap.
bcjdjsndon
Seems op is as confused as I am about what a micro service is exactly
mrkeen
> Inside a monolith it's easy to answer questions like "Which dependencies are we shipping?"; or "Is this piece of code still used?" Static analysis can often tell you. Once the code is spread across dozens of independent services, those answers become much harder to obtain. I draw the opposite conclusion here. In monoliths, someone else might want the code to stay in the codebase. I don't want to ask everyone about it. Everyone's responsibility is no-one's responsibility, and the code stays as is. In a microservice, I publish an interface, and I'm free to tear up all the carpet behind it as long as it keeps doing its job as advertised. Knowing whether public routes are still in use is still a problem, so you need a minimum level of metrics or logging before you can retire an endpoint.
fsuts
Inside a monolith it's easy to answer questions like "Which dependencies are we shipping?"; or "Is this piece of code still used?” Once the code is spread across dozens of independent services, those answers become much harder to obtain. You can setup metric for that or see the data.
Steve16384
They sound great in theory, but when you've got Microservices A to Z and something isn't right, you've got 26 log files to go through just to start.
linbaato
A "real" microservice (according to some definitions) might be only really necessary for organizational reasons. But the services in a distributed monolith are also often called microservices (at least in my company). And for them I believe there is another good reason that I do not hear about in these discussions: robustness. In our software project, we have had many issues with OOM and golang panics in a goroutine killing our critical endpoint even though the fault was most times caused in the administrational endpoints. By separating the critical endpoint from our administrational ones in two separate services, we reduced the criticality of those issues and therefore also the number of hotfixes we needed.
turnersauce
This is basically Conway's Law in practice: microservices aren't created because of technical boundaries, but they emerge because organizations need team boundaries. https://en.wikipedia.org/wiki/Conway%27s_law
arnejenssen
Compare the fuel pump of a Jumbojet and of a car. Is the smaller one a micro-pump? No, they are both pumps. Any "micro service" is just a service. Ref: Juval Löwy
dspillett
Something people use to architect towards being the next Amazon, before they've even got their first 100 users. Also useful for CV padding. Genuinely useful method for abstraction, concern/dependency separation, scaling, and so forth, for teams & projects that genuinely need what they offer.
andai
Conway's Law at the boxen level?
codetiger
I decided to take a career break and build an open source project to manage services better. Feedbacks are welcome, product is too early for adoption. https://github.com/GoPlasmatic/Orion Design principles: * Isolate business logic from service framework using declarative coding * Make the logic representation machine-writable so AI is a first-class author * Treat business logic as versioned data, not compiled services * Ship governance with the platform, not with each service * Invoke services in-process, not over the network * Modular monolith — export and scale a service independently when needed * Push integrations into declarative connectors, keep logic pure
syhol
Or get the best of both worlds, use a monorepo with microservices.
eloisant
I feel like the discussion between "monolith" and "microservices" is a false dichotomy. For a big software company, you don't have to ship a single behemoth monolith, but you don't have have microservices so small that a team of 3 has to manage 10 services. You can have "right size" services. I don't like to call them micro because they can be fairly big and do multiple things, as long as it makes sense to have them in a single service.
est
Microservices is a tricked coined by Martin Fowler to make up reasons for more $$$ billable developer man-hours.
qwery
Microservices are service/s that are significantly smaller than the service you're comparing them to. That's an obvious and perhaps unhelpful definition, let's contrast it with ... "Microservices" is [0] a tech industry fashion trend. It can be a real solution to a problem, too, but it's like how throwing out all your shit is the solution to depression now because a nice lady in a book said that you probably don't want all that stuff anyway. The solution is applied/suggested because it's trendy, not because it is necessarily the best fitting solution. Like many buzzwords, 'microservice' is difficult to define. "You know it when you see it" is a euphemism for something devoid of meaning[1]: a null concept. This is a feature and not a bug. And where the term does have meaning, it's always relative -- so everyone can have microservices, and argue about who does. [0] I do mean 'is', as opposed to 'are' [1] it can also be the case that the speaker just doesn't know what they're talking about, and perhaps that they know it has meaning to others, social constructs, &c. To avoid spending the next three years working on this comment, I'm assuming that's not the case above. [x] Conspiracy-theory rabbit-hole: buzzwords are like conspiracy theories in that they rely on vagueness or being undefinable. I guess my point is that concrete ideas aren't really suited to being buzzwords. Only the vague/relative/broad ones get selected (as in natural selection, not by the shady cabal of buzzword pickers), just like how only the best impossible contradictory stories tend to become popular conspiracy theories. ... actually, mostly I just thought "conspiracy-theory rabbit-hole" was a funny heading for a tangent about conspiracy theories.
kgeist
In my experience, almost all the problems that microservices advertise solving can also be solved with a modular monolith plus some tooling to enforce certain rules (say, one module shouldn't be able to peek into another module's internals, bypassing an agreed-upon "clean" public interface; that alone solves most spaghetti-code problems) There are two things monoliths can't easily offer: * Using different frameworks, languages, etc. But in my experience, it's pretty rare for a team to use many programming languages at once. Usually, it's just a few highly performance-sensitive services that need to be written in another language (say, a proxy in Rust while the rest is in Python). For that, I prefer an architecture with one main monolith plus a few high-performance satellite services. No problem there. * More optimized scaling in certain scenarios. Say I have a module that processes files and can use all available CPU. I might want to put it in a separate container on another node so that the processing doesn't destabilize the core web server. Technically, monoliths support this too, just run the monolith in a different mode (say, behind an `--image-process` flag of sorts), and you can schedule it on another node in the same way. The only downside is that it may use more RAM than necessary for the extra binaries or scripts that won't be used What else am I missing?
asimpletune
This is what people always say but it's not really the only case, and it's not even a particularly good case. You could achieve the same organizational thing through modules, for example. The real—and the one thing you can't replicate—is data isolation. Of course there are other benefits, but it's data isolation is the differentiator of micro-services and other types of architecture.
aleksiy123
I’ve been building a lot on cloudflare workers recently and I feel like microservice works pretty well there. Sometimes you want to have some shared infra abstracted behind a single interface and a single auth model. Having a service gives you that single isolated unit/abstraction. In practice it’s always a scale. Some services will be bigger and some will naturally be split out. I think also having the right server platform that makes it trivial to deploy/standup infra quickly makes this much easier.
jdw64
I wrote a post on my blog[1] a while back about this. Actually, there are records in memoirs and such that show similar pressures existed when MSA emerged. [1] https://www.makonea.com/en-US/blog/how-did-microservices-arc...