---
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">Wizzio</h4>
              <p>Digital Banking Platform from Novabase.</p>
              <a href="http://www.novabase.com/financial/wizzio/" target="_blank">http://www.novabase.com/financial/wizzio/</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>
