Thanks Mark for your brilliant explanation the Microkernel Architecture!
@pankajsinghv Жыл бұрын
Awesome articulation… thanks a lot
@chitthiaayeehai Жыл бұрын
Is Microkernel similar Or Same as Hexagonal architecture ?
@markrichards5014 Жыл бұрын
Yes, they are very similar in that the plug-ins can act as the adapters to various ports, and the core system becomes the application domain.
@gabrielg9592 Жыл бұрын
Great content as always, thanks Mark! May I ask what are the particularities, the pros, cons and tradeoffs, as well as your overall thoughts about a "distributed Microkernel"? I mean the plugins being outside of the core system deployment, scaling separatedly and all that, but they still work as "addons" to the core system that stays the same. Is that even a thing?
@markrichards5014 Жыл бұрын
Sure! With distributed it eases testing and deployment of plugins and can resolve bottlenecks, but keep in mind every request still has to go through the core system, so you might not realize any scalability or fault tolerance benefit.
@sant4398 Жыл бұрын
Thank you for the lesson!
@alexsharma Жыл бұрын
Thanks Mark, for explaining Microkernel architecture with great examples. I think we can mix this architecture with microservices , atleast for plugins. Where each plugin will be an independent microservice. Whats your thoughts on this?
@markrichards5014 Жыл бұрын
Absolutely Alex! A microservice can be implemented using the microkernel architecture, as could a user interface. Now we are seeing how one style can be embedded in another style. Good observation!
@alexsharma Жыл бұрын
@@markrichards5014 thanks for your encouraging words !!!
@techchanx Жыл бұрын
Hi Mark, I like your videos a lot. Can you do a session comparing event-driven and event-streaming architectures?
@markrichards5014 Жыл бұрын
Sure! I'll schedule that after our architecture styles review is over.
@herobrinesky33488 ай бұрын
Thanks for your lesson. I'm going to use this style to build my project and I have a question: "Can I allow the Plug-in component maybe access the data from Core System like the models, daos, ..."? Sorry for my bad English
@markrichards50147 ай бұрын
You could, but it would be better to have the core system access the database and pass that information onto the plug-ins. That way, if there are database schema changes, it won't affect the plug-ins, making them more stand-alone.
@HemalVarambhia Жыл бұрын
In the microkernal architecture it would appear that the core system has a contract with the plugins. Is that right? If so, contract tests may come into play, I suppose.
@markrichards5014 Жыл бұрын
Indeed! Remote or not, there is a plug-in contract. I like to keep the contracts consistent so as to minimize changes to the core system.
@husynmansoor Жыл бұрын
Thanks Mark! Always a pleasure learning something new from these video lectures. I want to say is Wordpress a good example of Microkernel Architecture? Core of Wordpress remains the same while the functionality is changed according to which plugin you use with it.
@markrichards5014 Жыл бұрын
Yes! Any system , product, or tool that allows you to add plug-ins or add-ons is a form of the microkernel architecture.
@ren.oooooo Жыл бұрын
Dependency injection goes well with this architecture as it allows to push configuration to the plugins btw, do you have an official publisher/distributor in India? I suspect that the books available on amazon India is a fake (low-quality). Maybe I'll buy it when i travel abroad
@markrichards5014 Жыл бұрын
Yes, O'Reilly does use an India distributor SPD. See www.amazon.in/Fundamentals-Software-Architecture-Engineering-Paperback/dp/9352139623/
@MrKZee Жыл бұрын
I think I figured out what makes that low frequency rumble sound - you XDD it happens when you start drawing something, so I presume your mic stand doesn't have shock absorbent capabilities and "boom" happens when you put your hands onto the table. ))) Don't rob me the wrong way - I have a musical background, it's a nightmare for me at times. Can't wait to see lessons on distributed architectures, especially because there' a lot of hype about them and some companies fall victims to that hype(
@markrichards5014 Жыл бұрын
Thanks Kray. I'll pay more attention to this in the future.
@wreckball2315 Жыл бұрын
I would like to think Payment systems could be one good use case of microkernels, where different payment modes (paypal, card, wallet, netbanking, upi) can be plugins.
@markrichards5014 Жыл бұрын
Agreed - good observation about the use of the Microkernel architecture.
@realkoryheard3 ай бұрын
I strongly disagree with the examples here. If you look at any microkernel operating system while modularity and plugins are present they are not what defines the architecture. Microkernel architecture is defined by message passing as the means to communicate. QNX, L4 and XNU all use message passing as the form of communication, process control and interprocess communication. Linux is a monolith but enables plugins through kernel modules.
@markrichards50143 ай бұрын
Thanks for your comment. In our Head-First Software Architecture book we define this as the level of "Microkernality" in a system based on the functionality of what the core system does. In a lot of cases, as you are suggesting here, systems are comprised of hybrids - aspects of microkernel combined with other styles (such as a modular monolith with plug-ins). You can find a lot of variableness of this architecture style in the wild - my examples are purely to illustrate the overall shaoe of this architectural style.