---
layout: page
title: Apache Karaf - Stories
permalink: /stories
---

    <div class="container pt-5 pb-3">
      <div class="jumbotron p-3 p-md-5 text-white bg-primary">
        <div class="col-md-12 px-0">
          <h1 class="display-4 font-italic">Apache Karaf is a part of great stories !</h1>
          <p class="lead my-3">Used by bunch of distributions, used as runtime and support by frameworks.</p>
        </div>
      </div>
    </div>

    <main role="main">

      <div class="container">

        <!-- Powered by Karaf -->
        <div class="row mb-5 mt-5">
            <div class="col">
              <h2 class="pb-3 mb-4 font-italic border-bottom"><i class="fas fa-space-shuttle"></i> Powered by Apache Karaf</h2>
              <p>Custom distribution powered by Apache Karaf.</p>
            </div>
        </div>

        <div class="row mb-5 mt-5">
            <div class="col">
              <h4 class="pb-3 mb-4">OpenDaylight</h4>
              <p>OpenDaylight (ODL) is a modular open platform for customizing and automating networks of any size and scale.</p>
              <a href="https://www.opendaylight.org/" target="_blank">https://www.opendaylight.org/</a>
            </div>
        </div>

        <div class="row mb-5 mt-5">
            <div class="col">
              <h4 class="pb-3 mb-4">ONOS</h4>
              <p>ONOS is the only SDN controller platform that supports the transition from legacy brown field networks to SDN green field networks. This enables exciting new capabilities, and disruptive deployment and operational cost points for network operators. </p>
              <a href="https://onosproject.org/" target="_blank">https://onosproject.org/</a>
            </div>
        </div>

        <div class="row mb-5 mt-5">
            <div class="col">
              <h4 class="pb-3 mb-4">Apache Unomi</h4>
              <p>Apache Unomi is a Java Open Source customer data platform, a Java server designed to manage customers, leads and visitors’ data and help personalize customers’ experiences while also offering features to respect visitor privacy rules (such as GDPR).</p>
              <p><i>Apache Unomi was directly created using Apache Karaf as a runtime. We
                needed a highly modular, high performance, scalable and open source
                runtime for building this implementation. Apache Unomi has to store
                millions of profiles and handle real-time processing of rules based on
                events generated from visitor behavior into an ElasticSearch backend.
                OSGi fit the bill perfectly for the technology architecture and Apache
                Karaf come out of the box with everything we needed to have a
                full-fledged and reliable runtime</i> - Serge Huber, Apache Unomi creator</p>
              <a href="https://unomi.incubator.apache.org/" target="_blank">https://unomi.incubator.apache.org/</a>
            </div>
        </div>

        <div class="row mb-5 mt-5">
            <div class="col">
              <h4 class="pb-3 mb-4">Nexus Repository Manager OSS 3</h4>
              <p>The free artifact repository with universal support for popular formats.</p>
              <a href="https://unomi.incubator.apache.org/" target="_blank">https://www.sonatype.com/nexus-repository-oss</a>
            </div>
        </div>

        <div class="row mb-5 mt-5">
            <div class="col">
              <h4 class="pb-3 mb-4">Jahia</h4>
              <p>Jahia brings together content management, data marketing and great integrations to help you deliver the best digital experiences.</p>
              <p><i>Jahia has used various technologies at its core and has been using
                OSGi for its module system for quite some time now. Initially, we used
                Apache Felix as a runtime, but quite quickly we realized we needed
                more powerful logging, better provisioning, clustering and monitoring
                support. Apache Karaf fit the bill perfectly and to the point where we
                are using it as much as possible, especially since the community
                around the project has been very helpful and addressing a lot of our
                needs. We can therefore strongly recommend Apache Karaf as a runtime.</i> - Serge Huber, Jahia CTO</p>
              <a href="https://www.jahia.com/" target="_blank">https://www.jahia.com/</a>
            </div>
        </div>

        <div class="row mb-5 mt-5">
            <div class="col">
              <h4 class="pb-3 mb-4"><img src="images/openhab.png" width="30"/> openHAB</h4>
              <p>The openHAB project is a very popular open source home automation solution written in Java and OSGi. It is meant to run on embedded hardware like a Raspberry Pi and acts as a central hub in the local network that integrates all smart home devices in a vendor-neutral way.</p>
              <p><i>Apache Karaf was chosen as a basis for openHAB due to its versatile feature management, which nicely supports the modular architecture of openHAB and lets users dynamically add features to their system through UIs at runtime. Additionally, the container management functionalities are unmatched for OSGi-based solutions and hugely helpful in many situations - just think of the powerful console, the remote ssh access or the flexible logging support. While openHAB is by far not using all features of Karaf, it definitely nicely benefits from it.</i> - Kai Kreuzer</p>
              <a href="https://www.openhab.org/" target="_blank">https://www.openhab.org/</a>
            </div>
        </div>

      </div><!-- Powered by Karaf -->

      <div class="container">

        <!-- Run on Karaf -->
        <div class="row mb-5 mt-5">
            <div class="col">
              <h2 class="pb-3 mb-4 font-italic border-bottom"><i class="fas fa-server"></i> Run on Apache Karaf</h2>
              <p>Software using Apache Karaf as runtime.</p>
            </div>
        </div>

        <div class="row mb-5 mt-5">
            <div class="col">
              <h4 class="pb-3 mb-4">Talend ESB & Service platform</h4>
              <p>Enterprise Service Bus from Talend.</p>
              <a href="https://www.talend.com/products/application-integration/esb-open-studio/" target="_blank">https://www.talend.com/products/application-integration/esb-open-studio/</a>
            </div>
        </div>

        <div class="row mb-5 mt-5">
            <div class="col">
              <h4 class="pb-3 mb-4">Fuse</h4>
              <p>Enterprise Service Bus from RedHat.</p>
              <a href="https://www.redhat.com/en/technologies/jboss-middleware/fuse/" target="_blank">https://www.redhat.com/en/technologies/jboss-middleware/fuse/</a>
            </div>
        </div>

        <div class="row mb-5 mt-5">
          <div class="col">
            <h4 class="pb-3 mb-4">Netflix</h4>
            <p><i>The Netflix media pipeline processes thousands of new shows and movies every day so that you can watch them on any device anywhere.
              We use a forward chaining rule engine to coordinate all of this work in multiple workflows.
              Hosting these workflows in a reliable, scalable and cost effective manner is a huge challenge at our scale.
              In this talk, we will introduce the design of Netflix’s next generation rule engine framework.
              The goal is to boost modularity, increase developer productivity and decrease operational overhead.
              The new system is a platform as a service that lets workflow developers focus on workflow data model,
              execution conditions, and remote function invocations without worrying about how to deploy, scale, and monitor it.
              The system uses the OSGI framework to build separation among workflows and leverages Apache Karaf as the runtime container.
              Other interesting topics such as workflow bundle management and a novel rule domain specific language will be covered in this talk.
              Keywords:nRule engine, OSGI, Apache Karaf, Serverless.</i><br>
              (<a href="https://www.apachecon.com/acna19/s/#/scheduledEvent/1209">ApacheCon 2019 Event - Serverless: Multi-tenant Rule Engine Service Powered by Apache Karaf</a>)</p>
            <a href="https://www.netflix.com" target="_blank">https://www.netflix.com</a>
          </div>
        </div>

        <div class="row mb-5 mt-5">
          <div class="col">
            <h4 class="pb-3 mb-4">mishmash io</h4>
            <p>As a large-scale database and a high-performance computing platform mishmash io is a very complex system. It has many
            interacting components and has to integrate well with custom Enterprise environments, cloud solutions and cloud
            providers.</p>
            
            <p>There are many modular run-times we could've used to make our job easier, but we found only Apache Karaf covers that
            many aspects of modularity - not only design but also the availability of ready-made modules, deployments, upgrades,
            configuration, automation, management and operations. It saves us a lot of time and allows us to focus.</p>
            
            <p>Apache Karaf is also proving invaluable as our development and testing platform. Its flexibility allows us to work on
            mishmash io core components in isolation or as part of a subsystem; on a single node or as a part of a cluster; in
            simulation or performance testing; etc. As we're always looking for ways to make our code simpler, faster and better -
            Apache Karaf is what made experimentation effortless for us.</p>
            <a href="https://mishmash.io" target="_blank">https://mishmash.io</a>
          </div>
        </div>

      </div><!-- Run on Karaf -->

      <div class="container">
        <div class="row mb-5 mt-5">
            <div class="col">
              <h2 class="pb-3 mb-4 font-italic border-bottom"><i class="fas fa-bullhorn"></i> Call to stories</h2>
              <p>If you want to add your own application or solution powered or based on Apache Karaf, please create a website pull request or send a message on <code>user@karaf.apache.org</code>.</p>
            </div>
        </div>
      </div>

    </main>
