3 ms·
It's a natural evolution of any system - monoliths are ok only as long as you don't need much of reliability, security, productivity, cooperation, etc.
by zzzcpan 7y ago
It's a natural evolution of any system - monoliths are ok only as long as you don't need much of reliability, security, productivity, cooperation, etc.
- tomxor 7y ago> monoliths are ok only as long as you don't need much of reliability, security, productivity, cooperation, etc As a supporter of microkernels I feel this is more a list of side effects. I'd put it this way: monoliths are ok so long as any critical code stays very small and comprehensible in it's entirety by an individual. It's also respectful of things that are not microkernels. Good microkernels designs operate on the same principle, to achieve reliability and security they keep their critical code very small. It's not invulnerable to bugs, but it is well understood that minimising this surface area is the first step in minimising bugs, the secondary effect is also focusing attention due to minimising total lines of critical code. Microkernels are an attempt to take this to an absolute minimum by adding a layer of abstraction that makes otherwise critical code non-critical. As a mere enthusiast I feel like this is the most useful lesson to take away from microkernels in other software, not triple redundancy or fancy reincarnation servers, but the fact that scale breeds complexity breeds bugs. Making sure the critical parts remain lean and inspectable helps a great deal in all software even when the separation is not as strict.