Interview: Solve Network Management Problems with Neo4j


Read This Interview to Learn How to Solve Network Management Problems Using Graph Databases

[This article is excerpted from a white paper by EMA and is used with permission.]

Discovering, capturing and making sense of complex interdependencies is central to more effective IT network management, and it’s also a critical part of running the business you serve.

Whether you’re optimizing a network or an application infrastructure, managing change or providing more effective security-related access – more often than not these problems involve a complex set of physical and human interdependencies that can be quite challenging to manage.

Moreover, once any two or more of these areas of network management are brought together, the relationships are rarely linear or purely hierarchic. They form, in the computer science sense of the term, a graph.

These domains are rarely static. In fact, they tend to change with reasonable frequency, as a result of factors such as reorganization and personnel changes, mergers and acquisitions, new applications being developed and old ones retired and ongoing data center improvements.

The Solution: Graph Databases


In order to manage all of these changing factors effectively, your IT organization needs to tap into the power of a graph database. Unlike relational databases, graph databases such as Neo4j are designed to store interconnected data that’s not purely hierarchic, making it easier than ever to understand your network data.

As the first post of a two-part series on Neo4j and network management, we’ve interviewed a software product developer in North America who is using Neo4j to build a network management and monitoring solution.

Can you describe your role and your product/project focus?


I helped found the Linux High Availability and the Pacemaker projects, and have spent time at Bell Labs and IBM, among others, before my current project, which uses Neo4j. The goal of my work now is to develop a way of managing critical systems infrastructures for high availability by capturing how devices are interrelated across the infrastructure.

Our agent-based discovery doesn’t require generating traffic over the network, or sending out packets. I like to say that it’s amazing what you can learn just by listening – in this case listening to CDP or LLPD and ARP packets and OS resources on listening ports – as each machine effectively monitors those it’s connected to.

We also have a security play. We can tell you what servers you lost track of in a way that won’t annoy your security people. And we can also tell you here’s what you’re monitoring and here’s what you’re not monitoring. They’re related of course: monitoring and “keeping bad guys out.” Thirty percent of all machines that are penetrated are those that are “not known” or forgotten about.

Why did you choose Neo4j?


I didn’t see any other viable solution. Quite on my own I understood that my problem was a graph problem.

A graph database is an excellent format for capturing and modeling the interdependencies that can help to diagnose failures. If I were to explain any IT project and design in more depth, I’d draw a graph – that’s how people understand IT infrastructure. We whiteboard it. Without this type of modeling, once things fell out of sync, I’d have to crawl all over the machines to figure out what they were doing, and then reassemble the pieces.

For example, you might have a set of interdependencies in either direction and Neo4j will let you capture that easily and naturally without having to define a whole mess of linear relationships between each device.

Scalability was also key. You don’t have to do a relational join between every machine with every other machine. With that system, fifteen machines die and you don’t know which one caused the problem – now imagine that’s in a collection of 100 machines or 1,000 machines. Neo4j is easily extensible to supporting complex environments.

Do you have anything else to add about Neo4j?


They have a really excellent community – and work hard to support their customers as well. Since I also depend on building a solid community around my work, and have a long record of being involved with open source initiatives, I can really appreciate what they’re doing there.

Frankly, I’m impressed with how they’re managing it all. I’ve watched them work. And that’s in part what made me decide that we can develop our own solution by leveraging Neo4j.


Catch the second post of our two-part series on Neo4j and network management here.


Dive deeper into how graph databases transform your data center and network management operations – click below to download this white paper, How Graph Databases Solve Problems in Network & Data Center Management, and start solving your IT challenges with graph databases.

Download My White Paper