In the search for a convenient, flexible and extensible OSGi deployment model for use by Apache Sling, the Apache Sling Feature model was created. Over the past 2 years this Feature Model has been taking shape in the community. The components developed include the model itself with a JSON serialisation, analysers that can check models for semantic consistency, and a Maven plugin that supports various tasks, such as producing minimal Docker images based on model definitions, and creating model aggregations. Additionally a Feature Model launcher was created and a number of extensions was produced to support additional use cases such as API isolation and integration with the Sling content repository.
In this talk we will present the result of our efforts, namely the Sling Feature Model. We will first briefly introduce the final model and then, subsquently, focus on how it can be applied in different usage scenarios like creating OSGi based docker images and immutable cloud deployments. Finally, we will report on the standardisation efforts underway inside the OSGi Alliance which target a unified feature model for OSGi.