Visualization is a key factor for any software sales. One of the most definitively sexy visualization tools to show to any CIO/CTO is mapping. This is the reason why you will see lots of products giving you a taste of IT mapping, even if they don't have same purposes and work differently. Let's go on a little tour of the market...
The ITSM tools
Basically, they play a referential role with some CMDB, plus some mapping visualization and links to ticket tracking for purposes of following changes on each object in the referential. Most of them provide some automated discovery on the physical assets in your data centers, and then run some commands on the identified assets to look at the services running on these assets and their relationships.
These tools are able to display some IT map butregarding the granularity (assets and services), given that they are targeting the managers or high level architects. Actually, this granularity doesn't fit the OPS and DEV teams who are looking for services and assets network contexts, and internal details to understand or fix a problem. Unfortunately, the devil is in the details...
The monitoring and APM tools
Performance monitoring and alerting form the basis for monitoring and other APM functionality, but these tools offer some maps as well. There are many monitoring tools, and all of them have a specific target: System OPS, Database OPS, Middle-ware OPS, Application OPS .... This means you will have as many tools as teams and silos you find in your company. Then, to get the complete map - or at least a complete part of your global map - you'll need data / expertise reconciliation, which could take time...
System monitoring with Nagios
Probably one of the oldest system monitoring solution on the market, Nagios offers several visualization tools. Among them this one giving you the layer 3 map of your network and the devices on it.
Network monitoring with Netbrain
Netbrain can help your discover the network (layer 3 or layer 2) path between two points (and more)
Application monitoring with ITRS Geneos
ITRS Geneos help you build dashboard aggregating several monitoring data coming from your distributed system. This is a pretty map indeed with contextual data ... Just one problem : must be done/updated manually.
Application Performance Monitoring with AppDynamic
AppDynamic is a famous APM which can show you the world from the application perspective (Layer 5).
Some other inspiring maps
Netflix microservices visualisation tool
Netflix is working hard to master its microservices architecture. Here is another visualization example. Extract from "A Microscope on Microservices" : "This internal utility, Slalom, allows a given service to understand upstream and downstream dependencies,their contribution on service demand, and the general health of said requests."
Simianviz / Spigo
@adrianco, the father of Netflix Microservices architecture, is currently working on a simulation tool to visualize different architectures (NetflixOSS, Lamp ...).
Another specialized graph for Kubernetes users... Note the contains links which could leads to a bigraph visualization.
Is there anything missing ?
As has already been said, these specialized maps are the result of extreme OPS expertise silozation. But wait: Aren't we forgetting some population here? DEV ? Aah yeah! Is there any kind of map for DEV dudes? Like something helping visualizing threads or actors? Not really. DEV are using some tools like Kcachegrind or other profiler to browse the stack and see where time is consumed.
Kcachegrind in action
Used on DEV environment only, profiler like Kcachegrind are helpul for developers.
Unfortunately these tools consume a LOT of CPU memory and therefore are never used in production, and some times they consume so much of it that you're unable to reproduce a problem using them... And finally, they are not showing the threads/actors topology, but aggregated statistics on the run stack and calls order tree .
Akka actors in action
This is how @hicolour specified a scalable load balancer with Akka. There is currently no tool able to represent this granularity. However, all this definition of actors are the keys to understand how this dynamic system works
But many problems are coming from un-mapped components like processes, threads or actors. Finally, these components are the basis for the application's architecture. The ability to map such components brings us to a new area where OPS can communicate with DEV much more easily and so solve problems more efficiently.