<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Stefan and Heiko, thanks for sharing
      your vision. A few questions/remarks inline...<br>
      <br>
      On 2016-04-22 18:35, Stefan Negrea wrote:<br>
    </div>
    <blockquote
cite="mid:CADt-fV_iVN9x+cUKGWuKW5gN8eRx+66Z1Vy7RiB+5v6MG6o9ag@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="" id="magicdomid107"><span class="">Hello Everybody,</span></div>
        <div class="" id="magicdomid109"><br>
        </div>
        <div class="" id="magicdomid2766"><span class="">With a growing
            community and an increasingly large number of sub-projects,
            it is the perfect time to rethink the packaging of Hawkular.
            This email is a blueprint for changes to come to Hawkular as
            well as establish some patterns for futures decisions.</span></div>
        <div class="" id="magicdomid711"><br>
        </div>
        <div class="" id="magicdomid1659"><br>
        </div>
        <div class="" id="magicdomid246"><br>
        </div>
        <div class="" id="magicdomid4"><span class=""><b>Motivation</b></span></div>
        <div class="" id="magicdomid5"><br>
        </div>
        <div class="" id="magicdomid6344"><span class="">So far we have
            created Hawkular "All</span><span class="">-</span><span
            class="">in</span><span class="">-</span><span class="">one"
            releases that contain everything</span><span class="">,</span><span
            class=""> Hawkular server components, UI, the agent and also
            embedded versions of Cassandra and KeyCloak. </span><span
            class="">It's certainly the case that for community we w</span><span
            class="">ill</span><span class=""> still deliver a fully
            featured all-in-one package</span><span class="">. We also </span><span
            class="">need to consider separate distributions for other
            projects that integrate with Hawkular.</span></div>
        <div class="" id="magicdomid1038"><br>
        </div>
        <div class="" id="magicdomid6393"><span class="">The recent
            effort to integrate with </span><span class="">ManageIQ </span><span
            class="">comes </span><span class="">with </span><span
            class="">its own set of requirements for services</span><span
            class="">. Not all of the Hawkular components are needed</span><span
            class=""> and required components </span><span class="">may</span><span
            class=""> be configured differently</span><span class="">.</span><span
            class=""> </span><span class="">For example the UI is
            supplied from within ManageIQ side and Hawkular is to be run
            headless. Other components like Cassandra will not run
            embedded, so there is no need to supply it in an embedded </span><span
            class="">package</span><span class="">. KeyCloak will
            probably not be need</span><span class="">ed</span><span
            class="">  because we only have one technical user that</span><span
            class=""> will access</span><span class=""> Hawkular</span><span
            class=""> services.</span></div>
        <div class="" id="magicdomid14"><br>
        </div>
        <div class="" id="magicdomid23"><br>
        </div>
        <div class="" id="magicdomid24"><br>
        </div>
        <div class="" id="magicdomid25"><span class=""><b>Components /
              Services</b></span></div>
        <div class="" id="magicdomid1268"><br>
        </div>
        <div class="" id="magicdomid5978"><span class="">Here a list of
            projects that are part of the Hawkular organization:<br>
          </span></div>
        <div class="" id="magicdomid2685">
          <ul class="">
            <li><span class="">Metrics - scalable, asynchronous, multi
                tenant, long term metrics storage engine </span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1535">
          <ul class="">
            <li><span class="">Inventory - registry of "things" that
                contains info about your applications, servers, etc. and
                also keeps track of their relationships with each other</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1676">
          <ul class="">
            <li><span class="">Alerts - alerting engine that allows
                trigger definitions to evaluate incoming data, generate
                alerts (or events), and react with flexible actions ond
                lifecycle management</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1679">
          <ul class="">
            <li><span class="">CommandGW</span><span class=""> -
                messaging framework for communicating between components</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1689">
          <ul class="">
            <li><span class="">Bus - messaging framework for
                communicating between components</span></li>
          </ul>
        </div>
      </div>
    </blockquote>
    Maybe Nest should be listed here. AFAIK, Bus is always consumed
    together with Nest, hence the one can replace "Bus" with "Nest+Bus"
    in your original proposal and I'll be satisfied :)<br>
    <blockquote
cite="mid:CADt-fV_iVN9x+cUKGWuKW5gN8eRx+66Z1Vy7RiB+5v6MG6o9ag@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="" id="magicdomid1675">
          <ul class="">
            <li><span class="">BTM - provide capabilities to monitor the
                flow of a business transaction instance and enable
                performance analysis of the individual components that
                make up an application</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1677">
          <ul class="">
            <li><span class="">Agent - used to monitor WildFly and
                related projects</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1648">
          <ul class="">
            <li><span class="">Accounts - is the user/organization
                module that provides authentication, authorization and
                configuration for accounts</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1697">
          <ul class="">
            <li><span class="">Data Mining - alert predictions based on
                time series data</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1836">
          <ul class="">
            <li><span class="">Hawkular UI</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1718">
          <ul class="">
            <li><span class="">Hawkular Charts - Angular Directives for
                Metrics Visualization</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1785">
          <ul class="">
            <li><span class="">Embedded Cassandra - embedded Cassandra
                server specifically configured for project use</span></li>
          </ul>
        </div>
        <div class="" id="magicdomid1660"><br>
        </div>
        <div class="" id="magicdomid6100"><span class="">T</span><span
            class="">here are</span><span class=""> also</span><span
            class=""> various clients like the Ruby Gem or the Android
            client and supporting infrastructure projects. Those are not
            part of this discussion.</span></div>
        <div class="" id="magicdomid6101"><br>
        </div>
        <div class="" id="magicdomid6102"><br>
        </div>
        <div class="" id="magicdomid65"><br>
        </div>
        <div class="" id="magicdomid7156"><span class=""><b>Options for
            </b></span><span class=""><b>P</b></span><span class=""><b>ackages</b></span></div>
        <div class="" id="magicdomid67"><br>
        </div>
        <div class="" id="magicdomid3483"><span class="">The
            distribution packages need to follow product integrations
            with a special distribution for community. The community
            package could potentially include every single package from
            the Hawkular organization. However, the rest of the packages
            need to be created along the lines of product use and
            include only the minimal amount of components, services and
            third-party libraries to satisfy integration requirements. </span></div>
        <div class="" id="magicdomid3178"><br>
        </div>
        <div class="" id="magicdomid6123"><span class="">The
            distributions should be seen as funnels, the Hawkular
            community creates a set of sub-projects that then get
            combined into few distributions that in turn get consumed.
            Following this analogy, the number of packaged distributions
            should also be kept to a minimum possible. For now we
            settled on 3 packages detailed below, all will be available
            for download on JBoss.org.</span></div>
        <div class="" id="magicdomid69"><br>
        </div>
        <div class="" id="magicdomid70"><span class="">With the
            exception of the community distribution:</span></div>
        <div class="" id="magicdomid71"><span class="">1) the QA team
            will be engaged in testing the package</span></div>
        <div class="" id="magicdomid3907"><span class="">2) the
            sub-components wil</span><span class="">l</span><span
            class=""> strive to be aligned in terms of tech stack and
            maturity</span></div>
        <div class="" id="magicdomid6176"><span class="">3) an automated
            test suite is required for packages that combine more than
            one project</span></div>
        <div class="" id="magicdomid74"><br>
        </div>
        <div class="" id="magicdomid2684"><span class=""><b>1. Hawkular
              - Community Distribution</b></span></div>
        <div class="" id="magicdomid77"><br>
        </div>
        <div class="" id="magicdomid6616"><span class="">Will include
            every single service listed above. The UI is a requirement
            because some services are very hard to understand or use
            without a friendly interface. The UI will be a community
            only effort at this point since there are no plans for
            productization. </span></div>
        <div class="" id="magicdomid3911"><br>
        </div>
        <div class="" id="magicdomid6629"><span class="">The current
            Hawkular repository will be adjusted to reflect this new
            mission; the current UI will be moved to a separate
            repository. </span><span class="">This package builds on
            Hawkular Core</span><span class=""> S</span><span class="">ervices
            as described next</span><span class="">.</span></div>
        <div class="" id="magicdomid79"><br>
        </div>
        <div class="" id="magicdomid6562"><span class=""><b>2. Hawkular
            </b></span><span class=""><b>Core</b></span><span class=""><b>
              S</b></span><span class=""><b>ervices</b></span></div>
        <div class="" id="magicdomid81"><br>
        </div>
        <div class="" id="magicdomid6692"><span class="">Geared towards
            MiQ integration, it will include only components needed for
            the MiQ provider. This package uses the Metrics Distribution
            as described below.</span></div>
        <div class="" id="magicdomid2120"><br>
        </div>
        <div class="" id="magicdomid6523"><span class="">Components
            included: Metrics, Alerts, Inventory, CommandGW, and Bus</span></div>
        <div class="" id="magicdomid2564"><br>
        </div>
        <div class="" id="magicdomid2655"><span class="">Reasons for
            some exclusions: K</span><span class="">eycloak</span><span
            class=""> (different security model), E</span><span class="">mbedded
            Cassandra </span><span class="">(only full C* deployments
            will be supported), and</span><span class=""> no </span><span
            class="">Hawkular </span><span class="">UI </span><span
            class="">because it will use a special purpose UI for MiQ.</span></div>
      </div>
    </blockquote>
    You say say something about <span class="">K</span><span class="">eycloak</span><span
      class="">, but you do not mention Accounts. I see that </span><span
      class="">Accounts 2.x will not be included and I suppose that
      Accouns 3.x will perhaps not be needed at all (as follows from the
      parallel thread), right?<br>
    </span>
    <blockquote
cite="mid:CADt-fV_iVN9x+cUKGWuKW5gN8eRx+66Z1Vy7RiB+5v6MG6o9ag@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="" id="magicdomid84"><br>
        </div>
        <div class="" id="magicdomid6178"><span class=""><b>3. </b></span><span
            class=""><b>Metrics</b></span><span class=""><b> D</b></span><span
            class=""><b>istribution</b></span></div>
        <div class="" id="magicdomid86"><br>
        </div>
        <div class="" id="magicdomid6655"><span class="">Geared towards
          </span><span class="">usage as a pure Time Series </span><span
            class="">D</span><span class="">atabase (TSDB) </span><span
            class="">and will be exclusively made of </span><span
            class="">Hawkular</span><span class=""> Metrics service.</span></div>
        <div class="" id="magicdomid6656"><br>
        </div>
        <div class="" id="magicdomid5897"><br>
        </div>
        <div class="" id="magicdomid1798"><br>
        </div>
        <div class="" id="magicdomid2761"><span class=""><b>Expansion
              and Contraction</b></span></div>
        <div class="" id="magicdomid1829"><br>
        </div>
        <div class="" id="magicdomid6654"><span class="">Since its
            inception Hawkular has been growing by all metrics:
            projects, lines of code, binary downloads, contributors,
            etc. But uncontrolled increase in some metrics can be
            detrimental to the organization. This is especially true for
            the number of projects. We will always need new projects to
            experiment, but the reverse might be true for mature and
            established projects. As the packaging and requirements for
            each distribution mature we need to consider the reverse,
            merging separate sub-projects. <br>
          </span></div>
      </div>
    </blockquote>
    <br>
    If we decide that there will be no Accounts 3.x, then Command
    Gateway (being quite small and closely related to Bus) can move to
    Commons git repository. Command Gateway does not need to depend on
    Inventory since Commons 0.6.0.Final. The change was recently merged
    to CmdGW.<br>
    <br>
    Thanks,<br>
    <br>
    Peter<br>
    <br>
    <blockquote
cite="mid:CADt-fV_iVN9x+cUKGWuKW5gN8eRx+66Z1Vy7RiB+5v6MG6o9ag@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="" id="magicdomid93"><span class=""><b>Packaging
              Format</b></span></div>
        <div class="" id="magicdomid1830"><br>
        </div>
        <div class="" id="magicdomid6778"><span class="">This email did
            not touch on the physical packaging formats (rpm, zip, war,
            jar) for the 3 distributions. We will follow-up with
            additional details in the coming weeks.</span></div>
        <div class="" id="magicdomid6328"><br>
        </div>
        <div class="" id="magicdomid6329"><br>
        </div>
        <div class="" id="magicdomid7073"><br>
        </div>
        <div class="" id="magicdomid7072"><span class="">All feedback is
            more than welcomed so feel free to reach us (Heiko and
            Stefan) directly or reply to this thread.</span></div>
        <div class="" id="magicdomid6332"><br>
        </div>
        <div class="" id="magicdomid6333"><br>
        </div>
        <div class="" id="magicdomid7121"><br>
        </div>
        <div class="" id="magicdomid7107"><span class="">Heiko &amp;
            Stefan</span></div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
hawkular-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/hawkular-dev">https://lists.jboss.org/mailman/listinfo/hawkular-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>