Microkernel Architecture
Microkernel Architecture, AKA Plug-In
- It is monolithic but can evolve into a distributed architecture.
- Adequate for products and technical tools.
- Composed of a core system and plug-ins.
- The Core system is sometimes called the happy path.
- The Core system can incorporate other architectures (ex: layered).
- The plug-ins have the application business logic.
- The plug-ins can be grouped by domains.
- The plug-ins can be remote services (the architecture turns to distributed).
- The core system needs a registry of the plug-ins.
- Most IDEs use this architecture (Eclipse, VSCode, IntelliJ, Jira, Jenkins, etc.).
- Jars, Nuggets, and Gems work as plug-ins for the core Java,.NET and Ruby.
- Weak on elasticity, fault tolerance, and scalability.
- Good on simplicity, cost, deployability, modularity, and reliability.