I'm looking to give our company an overview of the business services that IT offers and their various dependencies.

The purpose of this graph would be to show the dependencies of technology on business applications with the goal of assisting configuration management. For example, if the server hosting 3 of our VMs goes down, which business applications are impacted while we work on a fix? Or, if a change is being made to a network subnet or a reboot of a router is required, who do we need to notify?

These technologies would be shown from top down (roughly from "front end" to "back end") along the lines of the following layers:

Front end:

  • Business services (Business e-mail, business calendar, business documents, help desk, software development, etc.)
  • External Applications (cloud apps, non-internal apps -- apps we don't manage)
  • Internal Applications (internal software packages, intranet apps, etc.)
  • Virtual Machines
  • Machines (Servers, Desktops, laptops, phones, VM Hosts)
  • Network layers / technology (DMZ, IDS, various subnets & VLANs)
  • Network equipment (routers, switches, hubs)

I'm open to any thoughts, recommendations, etc. on how various folks have visualized this. Thanks in advance for any help you can give!

  • I would add power supply sources. We've just been burned by a cascade of UPS failures that wouldn't have happened if we had a proper grasp on the dependency stack!
    – pufferfish
    Feb 28, 2018 at 15:37

2 Answers 2


A whiteboard to start (get the business and technology folks in a meeting. Draw the business stuff first, then have the techs fill in the systems that support it, plus any systems not directly connected).

Armed with the whiteboard diagram (take a photo!) you can draw this up in Visio/Graffle/Tool-Of-Choice.
There are several ways to break it up (all-on-one-page, by network/subnet, by hosting machine, by business group, etc.) -- You may need one (or more) of these breakdowns to provide information to all the groups that need it, but from an IT standpoint you want at least the machine-level and network-level information displayed somehow to satisfy the notification scenarios you described above.

Two notes:

  1. This assumes your IT staff knows the network, systems and purposes fairly well.
    If they don't expect this to take MANY meetings, and expect the substantial time investment to be worth it when some business-critical system blows up and the IT guys know exactly where to look to fix the problem.

  2. The end result of all the drawing will probably give you a good idea of how to monitor your systems from a business standpoint, and may suggest logical ways to reorganize (or create, if you don't have) the monitoring systems you use.
    Take advantage of this now, while you have resources paying attention to it. Again, it will serve you well in the long run when stuff breaks and you know about it before any of your business users can even pick up the phone to complain.

  • Thank you for the in-depth commentary! I think I should have been more clear -- we've already had such a meeting, and IT and business work very closely in our company. We already have the white board of business services, etc. and the layers written out. The issue is that when I draw dependencies to various layers of services, it looks like a mess of lines. I was wondering if anything could cleanly/automatically adjust, and then I thought i might as well look into tools where I could input this info and spit out diagrams as well. Jul 29, 2011 at 2:59
  • The key is selecting a layout strategy that works for your environment. I don't know about Visio, but OmniGraffle (omnigroup.com - Mac only) can do auto-layout. Depending on how complex your environment is that auto-layout may produce something useful. Unfortunately I don't know of anything that will take e.g. tabular input and produce the diagram.
    – voretaq7
    Jul 29, 2011 at 3:10

This is one of the goals of a CMDB, showing the dependencies between CIs (configuration items.) Any enterprise change-management package should have a CMDB. A related issue is, who's going to keep it up to date? When someone adds a new Apache server to a farm, will it get added with the proper relationships into the CMDB? Things like that are tough to automate, although there are companies that sell expensive stuff to try to do that.

/edit - CFEngine has a commercial product called Knowledge Map that has a different approach. http://cfengine.com/files/knowledge.pdf . It looks like their free product uses it, the commercial product lets you do more with it. I have no idea about their costs, but I'm sure it's less than the big CMDB boys like HP ServiceManager. I think you'd have to be using CFengine for config managament for this to be worth much. Alternatively, if you're not scared of doing a little bit of coding, you could knock up an inventory list with a dependency mapping and then make a graph from that.

However IME, whatever approach you take, trying to do this only with a static graphical tool will be doomed to irrelevance after a few months. You start adding servers and don't bother to update the Visio because it's a PITA. ON the other hand, if you make "update the documentation" either :

  1. As easy as "add the server and it's dependency numbers to this text file" so the sysadmins are more likely to do it ...and/or....

  2. Make it someone else's job (would require strong change-control processes)

.. then you might have more luck.

  • Do you have any suggestions for such software for SMB companies that don't have the requirements and budgets of large enterprises? Jul 28, 2011 at 23:11
  • Nope, sorry, not familiar with any budget packages for this.
    – mfinni
    Jul 29, 2011 at 0:51
  • Hi minfinni, thanks for the response! I'm looking for a low-cost solution and so I was looking to see if there was a product that would let me input items and spit out graphs, rather than have to set up a whole CMDB (which would likely be the next step in the process). Trying to keep the horse before the cart, so to speak. The issue is that when I try to draw lines between the layers, the visual layout is impossible to navigate. I was just hoping something might exist that makes it clearer visually (i.e. automatically spaces / formats item dependency links nicely) Jul 29, 2011 at 3:06
  • All you want, visually, is a simple tree, that shows if you're changing 'X', all the items that depend on 'X'.
    – mfinni
    Jul 29, 2011 at 3:22
  • Added some more commentary. I'm busy writing a paper on configuration management, and came across some relevant thoughts.
    – mfinni
    Aug 1, 2011 at 3:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.