<p>I recommend that you take a look at the <a href="https://networkx.github.io/" rel="nofollow noreferrer">NetworkX</a> library for Python.  With a script you could query Consul and build a graph of linked nodes which could be rendered to an image file and served with a web server.  A Flask microservice for this would be fairly simple to set up and provide a very useful visualization of your microservices spiderweb.</p>

CC BY-SA 3.0
2017-10-29T20:34:20.890Z
I would add that NetworkX graph operations can help you estimate your operational risk and technical debt in addition to just visualizing the dependency graph of your SOA.
Jeremy
CC BY-SA 3.0
2017-10-28T01:43:16.190Z
2017-10-28T04:48:28.483Z
2017-10-28T04:48:28.483Z
esoterydactyl
<p>Consul is for service location; a service can use it to find another service so long as it knows the name of the service it wants to find. Consul is <em>not</em> for dependency tracking, and provides no insights into what services are using what other services (in fact it cannot, because service location does not have a way to indicate what service is doing the requesting, only what service is being requested).</p>

CC BY-SA 3.0
2017-07-10T18:45:33.757Z
Care to explain the downvote?
Adrian
CC BY-SA 3.0
2017-07-10T18:41:12.457Z
2017-07-10T18:41:12.457Z
Adrian
<p>Using Consul, you could allow your teams decentrally deploy and run microservices with dynamic dependencies.</p>

<p>It is also possible to list the services: <code>/catalog/service/:service</code></p>

<p>Now, how to assess these dependencies automatically if the architecture grows dynamically to get a visual representation of service inter-dependencies? </p>

<microservices><consul>
How to visualize dynamic microservice architecture running with Consul?
Ta Mu
# How to visualize dynamic microservice architecture running with Consul?

(Asked by: username_0 on 2017-06-24)

Using Consul, you could allow your teams decentrally deploy and run microservices with dynamic dependencies.

It is also possible to list the services: `/catalog/service/:service`

Now, how to assess these dependencies automatically if the architecture grows dynamically to get a visual representation of service inter-dependencies?

**Tags:** microservices, consul


---

## 2 answers

### Answer by username_1 on 2017-10-28. Score: 3

I recommend that you take a look at the [NetworkX](https://networkx.github.io/) library for Python. With a script you could query Consul and build a graph of linked nodes which could be rendered to an image file and served with a web server. A Flask microservice for this would be fairly simple to set up and provide a very useful visualization of your microservices spiderweb.

> **Comments:**
> **username_2**: I would add that NetworkX graph operations can help you estimate your operational risk and technical debt in addition to just visualizing the dependency graph of your SOA.  

---

### Answer by username_3 on 2017-07-10. Score: 0

Consul is for service location; a service can use it to find another service so long as it knows the name of the service it wants to find. Consul is *not* for dependency tracking, and provides no insights into what services are using what other services (in fact it cannot, because service location does not have a way to indicate what service is doing the requesting, only what service is being requested).

> **Comments:**
> **username_3**: Care to explain the downvote?  

---

