Lesson 160 - Microkernel Architecture

Поділитися
Вставка
  • Опубліковано 4 лис 2024

КОМЕНТАРІ •

  • @olegnovitskiy1098
    @olegnovitskiy1098 Рік тому +3

    Thanks Mark for your brilliant explanation the Microkernel Architecture!

  • @pankajsinghv
    @pankajsinghv Рік тому +2

    Awesome articulation… thanks a lot

  • @sant4398
    @sant4398 Рік тому +2

    Thank you for the lesson!

  • @gabrielg9592
    @gabrielg9592 Рік тому +1

    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
      @markrichards5014  Рік тому +1

      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.

  • @alexsharma
    @alexsharma Рік тому +1

    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
      @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
      @alexsharma Рік тому

      @@markrichards5014 thanks for your encouraging words !!!

  • @chitthiaayeehai
    @chitthiaayeehai Рік тому +2

    Is Microkernel similar Or Same as Hexagonal architecture ?

    • @markrichards5014
      @markrichards5014  Рік тому +2

      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.

  • @herobrinesky3348
    @herobrinesky3348 6 місяців тому

    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

    • @markrichards5014
      @markrichards5014  6 місяців тому +1

      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.

  • @techchanx
    @techchanx Рік тому +1

    Hi Mark, I like your videos a lot. Can you do a session comparing event-driven and event-streaming architectures?

    • @markrichards5014
      @markrichards5014  Рік тому

      Sure! I'll schedule that after our architecture styles review is over.

  • @husynmansoor
    @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
      @markrichards5014  Рік тому +1

      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
    @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
      @markrichards5014  Рік тому +1

      Yes, O'Reilly does use an India distributor SPD. See www.amazon.in/Fundamentals-Software-Architecture-Engineering-Paperback/dp/9352139623/

  • @MrKZee
    @MrKZee Рік тому +1

    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
      @markrichards5014  Рік тому +1

      Thanks Kray. I'll pay more attention to this in the future.

  • @wreckball2315
    @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
      @markrichards5014  Рік тому

      Agreed - good observation about the use of the Microkernel architecture.

  • @HemalVarambhia
    @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
      @markrichards5014  Рік тому +1

      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.

  • @محمودمصطفى-ع6ج3ع
    @محمودمصطفى-ع6ج3ع 10 місяців тому

    I need in arabic

  • @realkoryheard
    @realkoryheard Місяць тому

    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.

    • @markrichards5014
      @markrichards5014  Місяць тому

      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.

  • @janghyukboo6113
    @janghyukboo6113 4 місяці тому

    Thank you for the lesson!