Graphing Logical Infrastructure
Once upon a time, $work had a very important common whiteboard. This whiteboard
contained a diagram which, at a very high level, depicted the systems,
services, and entities we deemed important and how they related to others.
There were the typical arrows, boxes, and cylinders as well as whimsical
pictograms, clouds, and spiders.
Eventually, this very important whiteboard stopped scaling, and a DOT diagram
was created by some very senior developers brainstorming for about a week. Once
it was done, they gave a talk describing the system -- dozens of developers
attended, eager to understand just what was going on out there in the wild
This is not that talk. It turns out that DOT diagrams from the greybeards scale
just marginally better than whiteboards: what we needed was automation.
Something that would let us know just what was going on out there -- what
relationships do we have between servers and services? What data stores do they
use? Are they talking to what we think they are? Is anything chatting
cross-datacenter without good reason?
This is a talk about using Perl, netstat, and graph databases (neo4j) to shine
some light into the deepest corners of an infrastructure with 15k+ nodes, and
some of the experiments we've done to try to make that data useful.
Attended by: Leo Mulders (awkward), Richard van Lochem (rvlochem), Søren Lund (slu), Steffen Winkler (STEFFENW), Jurgen Hildebrand,