Scaling and Orchestrating Microservices with OSGi

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=Jp2sVAmgrSA



Duration: 36:39
2,550 views
24


The OSGi community has been designing and developing microservices since 1998, and we have gained a great deal of experience with them. The isolation provided by OSGi's Module Layer provides a high degree of safety, along with a powerful model for versioning API contracts and filtering out incompatible service providers.

However, OSGi bundles exist within the memory space of a process, and so make a trade-off in favour of simplicity and speed. We are not protected from crashes originating in other modules -- when such protection is required, we can use separate OS processes. This mirrors the general industry trend of developing "microservices". But in return for additional safety we create complexity; not least in the number of artifacts and processes that must be managed.

Still, even processes do not provide perfect isolation, and increasingly container models such as Docker are being used to control resource utilisation. Above this, full VMs are used to provide different OS environment to different services.

So we see that isolation and modularity are a continuum of trade-offs, and OSGi bundles exist towards the lower end of it. But getting application modularity right is extremely important to avoid much greater complexity at the higher ends.

In this talk I will describe how OSGi works as a key part of the modern application architecture and DevOps stack, highlighting the OSGi technologies that can be used to scale upwards and outwards. The talk will include a significant demo section.







Tags:
OSGi (Software)
Eclipse (Software)
EclipseCon Europe