How dense is the Cloud of OSGi?
How dense is the Cloud of OSGi?
The use of OSGi technology has evolved over the past decade from being used to manage devices (service gateways etc.), to providing an extensible framework for desktop applications (Eclipse RCP), to being used by a majority of JEE servers for implementing extensible and modular servers, and as a programming model for developing server-side applications as well as applications deployed to the cloud. When deploying OSGi applications to the cloud the cost of the infrastructure that is required to run the application vs the isolation needs of each individual application must be taken into account.
Various architectures are available that range from no-sharing to shared multitenant. With no-sharing each OSGi Application uses its own JVM and OSGi Framework instances in order to run the application. This provides nice isolation for each application but adds additional overhead for each application deployed. Other application models exist, such as OSGi subsystems, that allow applications to share the same JVM and OSGi framework instance to host multiple applications. While this model can provide optimal sharing, it comes at the cost of significantly reducing isolation for each application deployed to the shared OSGi Framework.
This talk will look at opportunities for OSGi applications to take advantage of a Multitenant JVM [1]. A multitenant JVM enables application deployments to gain the advantages of sharing the JVM while maintaining better isolation than can be achieved when a traditional JVM is shared. There are many issues an OSGi Framework implementation must consider when supporting a multitenant JVM in order to share the most resources across the tenants while maintaining the correct level of isolation. This talk will discuss the various issues and (hopefully) some the solutions in the context of the Equinox OSGi Framework implementation.
[1] http://www.ibm.com/developerworks/java/library/j-multitenant-java/