Answers: <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>
  
Answers: CC BY-SA 3.0
Answers: 2017-10-29T20:34:20.890Z
Answers: 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.
Answers: Jeremy
Answers: CC BY-SA 3.0
Answers: 2017-10-28T01:43:16.190Z
Answers: 2017-10-28T04:48:28.483Z
Answers: 2017-10-28T04:48:28.483Z
Answers: esoterydactyl
Answers: <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>
  
Answers: CC BY-SA 3.0
Answers: 2017-07-10T18:45:33.757Z
Answers: Care to explain the downvote?
Answers: Adrian
Answers: CC BY-SA 3.0
Answers: 2017-07-10T18:41:12.457Z
Answers: 2017-07-10T18:41:12.457Z
Answers: Adrian
Body: <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>
  
Tags: <microservices><consul>
Title: How to visualize dynamic microservice architecture running with Consul?
UserDisplayName: Ta Mu
ThreadText: # 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?  
  
  ---
  
  