Tabs vs spaces was a Silicon Valley joke, man :-)

On Thu, May 3, 2018, 8:42 PM Ryan Merriman <merrim...@gmail.com> wrote:

> Mike,
>
> I never said there was anything problematic in metron-api, just that is was
> inconsistent with the rest of Metron.  There is work involved in making it
> consistent which is why I listed it as a downside.  I'm less concerned with
> whether we use tabs or spaces but that we use one or the other.
>
> I apologize for not making this clearer in my original message, but I did
> not lead the POC development.  My involvement was helping troubleshoot
> issues they ran into and answering questions about Metron in general.  I've
> shared with you the information that I have which is my observations about
> the types of issues they ran into.  I don't have a branch or pom file you
> can experiment with.  I will reach out to that person and see if they are
> able to share the exact errors they hit.  Also, the "trade-offs that you
> seem to have already decided on" is not based on a specific issue or
> challenge they faced in the POC.  It's based off of the past couple years
> of working on our REST module and the reoccurring challenges and patterns I
> see over a period of time.
>
> Otto,
>
> Makes sense to me.  I will start the other threads.
>
> On Thu, May 3, 2018 at 8:50 PM, Otto Fowler <ottobackwa...@gmail.com>
> wrote:
>
> > I think my point is that maybe we should have a discuss about:
> >
> > * PCAP UI, goals etc
> > * Where it would live and why, what that would mean etc
> > * Backend ( this original mail )
> >
> >
> >
> > On May 3, 2018 at 18:34:00, Michael Miklavcic (
> michael.miklav...@gmail.com)
> > wrote:
> >
> > Otto, what are you and your customers finding useful and/or difficult
> from
> > a split management/alerts UI perspective? It might help us to restate the
> > original scope and intent around maintaining separate management and
> alert
> > UI's, to your point about "contrary to previous direction." I personally
> > don't have a strong position on this other than 1) management is a
> > different feature set from drilling into threat intel, yet many apps
> still
> > have their management UI combined with the end user experience and 2) we
> > should probably consider pcap in context of a workflow with alerts.
> >
> > On Thu, May 3, 2018 at 4:19 PM, Otto Fowler <ottobackwa...@gmail.com>
> > wrote:
> >
> > > If that UI becomes the Alerts _and_ the PCAP Query UI, then it isn’t
> the
> > > alerts ui anymore.
> > >
> > > It is becoming more of a “composite” app, with multiple feature ui’s
> > > together. I didn’t think that
> > > was what we were going for, thus the config ui and the alert ui.
> > >
> > > Just adding disparate thing as ‘new tabs’ to a ui may be expedient but
> > it
> > > seems contrary to
> > > our previous direction.
> > >
> > > There are a few things to consider if we are going to start moving
> > > everything into Alerts Ui aren’t there?
> > >
> > > It may be a better road to bring it in on it’s own like the alerts ui
> > > effort, so it can be released with ‘qualifiers’ and tested with
> > > the right expectations without effecting the Alerts UI.
> > >
> > >
> > >
> > > On May 3, 2018 at 17:25:54, Ryan Merriman (merrim...@gmail.com) wrote:
> > >
> > > Otto,
> > >
> > > I'm assuming just adding it to the Alerts UI is less work but I
> wouldn't
> > be
> > > strongly opposed to it being it's own UI. What are the reasons for
> doing
> > > that?
> > >
> > > Mike,
> > >
> > > On using metron-api:
> > >
> > > 1. I'm making an assumption about it not being used much. Maybe it
> > > still works without issue. I agree, we'll have to test anything we
> build
> > > so this is a minor issue.
> > > 2. Updating metron-api to be asynchronous is a requirement in my
> opinion
> > > 3. The MPack work is the major drawback for me. We're essentially
> > > creating a brand new Metron component. There are a lot of examples we
> > can
> > > draw from but it's going to be a large chunk of new MPack code to
> > maintain
> > > and MPack development has been painful in the past. I think it will
> > > include:
> > > 1. Creating a start script
> > > 2. Creating master.py and commands.py scripts for managing the
> > > application lifecycle, service checks, etc
> > > 3. Creating an -env.xml file for exposing properties in Ambari
> > > 4. Adding the component to the various MPack files
> > > (metron_theme.json, metainfo.xml, service_advisor.py, etc.)
> > > 4. Our Storm topologies are completely different use cases and much
> more
> > > complex so I don't understand the comparison. But if you prefer this
> > > coding style then I think this is a minor issue as well.
> > >
> > > On micro-services:
> > >
> > > 1. Our REST service already includes a lot of dependencies and is
> > > difficult to manage in it's current state. I just went through this on
> > > https://github.com/apache/metron/pull/1008. It was painful. When we
> > > tried to include mapreduce and yarn dependencies it became what seemed
> > like
> > > an endless NoSuchMethod, NoClassDef and similar errors. Even if we can
> > get
> > > it to work it's going to make managing our REST service that much
> harder
> > > than it already is. I think the shaded jars are the source of all this
> > > trouble and I agree it would be nice to improve our architecture in
> this
> > > area. However I don't think it's a simple fix and now we're getting
> into
> > > the "will likely take a long time to plan and implement" concern. If
> > > anyone has ideas on how to solve our shaded jar challenge I would be
> all
> > > for it.
> > > 2. All the MPack work listed above would also be required here. A
> > > micro-services pattern is a significant shift and can't even give you
> > > concrete examples of what exactly we would have to do. We would need to
> > go
> > > through extensive design and planning to even get to that point.
> > > 3. It would be a branch new component. See above plus any new
> > > infrastructure we would need (web server/proxy, service discovery, etc)
> > >
> > > On pcap-query:
> > >
> > > 1. I don't recall any users or customers directly using metron-api but
> > > if you say so I believe you :)
> > > 2. As I understand it the pcap topology and pcap query are somewhat
> > > decoupled. Maybe location of pcap files would be shared? MPack work
> here
> > > is likely to include adding a couple properties and moving some around
> > so
> > > they can be shared. Deciding between Ambari and global config would be
> > > similar to properties we add to any component.
> > >
> > > I think you may be underestimating how difficult it's going to be to
> > solve
> > > our dependency problem. Or maybe it's me that is overestimating it :)
> It
> > > could be something we experiment with before we start on the pcap work.
> > > There is major upside and it would benefit the whole project. But until
> > > then we can't fit anymore more screwdrivers in the toolbox. For me the
> > > only reasonable options are to use the existing metron-api as it's own
> > > separate service or call out to the pcap_query.sh script from our
> > existing
> > > REST app. I could go either way really. I'm just not excited about all
> > > the MPack code we have to write for a new component. Maybe it won't be
> > > that bad.
> > >
> > > On Thu, May 3, 2018 at 2:50 PM, Otto Fowler <ottobackwa...@gmail.com>
> > > wrote:
> > >
> > > > First thought is why the Alerts-UI and Not a dedicated Query UI?
> > > >
> > > >
> > > > On May 3, 2018 at 14:36:04, Ryan Merriman (merrim...@gmail.com)
> > wrote:
> > > >
> > > > We are planning on adding the pcap query feature to the Alerts UI.
> > Before
> > > > we start this work, I think it is important to get community buy in
> on
> > > the
> > > > architectural approach. There are a couple different options.
> > > >
> > > > One option is to leverage the existing metron-api module that exposes
> > > pcap
> > > > queries through a REST service. The upsides are:
> > > >
> > > > - some work has already been done
> > > > - it's part of our build so we know unit and integration tests pass
> > > >
> > > > The downsides are:
> > > >
> > > > - It hasn't been used in a while and will need some end to end
> testing
> > > > to make sure it still functions properly
> > > > - It is synchronous and will block the UI, using up the limited
> number
> > > > of concurrent connections available in a browser
> > > > - It will require significant MPack work to properly set it up on
> > install
> > > > - It is a legacy module from OpenSOC and coding style is
> significantly
> > > > different
> > > >
> > > > Another option would be moving to a micro-services architecture. We
> > have
> > > > experimented with a proof of concept and found it was too hard to add
> > > this
> > > > feature into our existing REST services because of all the
> > dependencies
> > > > that must coexist in the same application. The upsides are:
> > > >
> > > > - Would provide a platform for future Batch/MR/YARN type features
> > > > - There would be fewer technical compromises since we are building it
> > > > from the ground up
> > > >
> > > > The downsides are:
> > > >
> > > > - Will require the most effort and will likely take a long time to
> > plan
> > > > and implement
> > > > - Like the previous option, will require significant MPack work
> > > >
> > > > A third option would be to add an endpoint to our existing REST
> > service
> > > > that delegates to the pcap_query.sh script through the Java Process
> > > class.
> > > > The upsides to this approach are:
> > > >
> > > > - We know the pcap_query.sh script works and would require minimal
> > > > changes
> > > > - Minimal MPack work is required since our REST service is already
> > > > included
> > > >
> > > > The downsides are:
> > > >
> > > > - Does not set us up to easily add other batch-oriented features in
> > the
> > > > future
> > > > - OS-level security becomes a concern since we are delegating to a
> > > > script in a separate process
> > > >
> > > > I feel like ultimately we want to transition to a micro-services
> > > > architecture because it will provide more flexibility and make it
> > easier
> > > > to
> > > > grow our set of features. But in the meantime, wrapping the
> > pcap_query.sh
> > > > script would allow us to add this feature with less work and fewer
> > lines
> > > > of
> > > > code. If and when we decide to deploy a separate REST application for
> > > > batch features, the UI portion would require minimal changes.
> > > >
> > > > What does everyone think?
> > > >
> > > >
> > >
> >
> >
>

Reply via email to