Infrastructure diagrams as code

Raoul Meyer on February 18, 2019

Creating a diagram of your infrastructure is quite a tedious job. I noticed that when, for example, someone new wants to understand our architect... [Read Full]
markdown guide
 

Very nice! I'd be interested to hear more about how it works under-the-hood to draw those diagrams.

On another note, have you heard of Mermaid.js or PlantUML? They are both programming-ish languages for drawing diagrams like these, you might find them very useful for infrastructure documentation!

 

Thanks! For now it's a very thin wrapper around the network module of vis.js. Vis.js does all the hard work here, I mostly configured it with all the right settings that make sense in this case (and added some icons).

Thanks for mentioning those! I've heard of both but haven't given them an extensive look yet. I do like the idea of the documentation being actual code, but some specialized markup like these libraries use of course also has a lot of advantages.

 

Well done and thank you for writing this post! I realize tools such as Terraform provide the ability to generate GraphViz dot output, but it doesn't look pretty for complicated deployments. blast-radius improves on this, however I really appreciate how your solution provides a visual story similar to LucidChart diagrams.

 

I hadn't heard of the tools you mention, they look very useful to me, maybe for a different use case though. Glad you like it!

 

Well done Raoul. I believe if you now get rid of the library itself you might actually be into something!

I mean, you could use some markup language to define the diagram, or just invent the syntax and then auto-generate the code as it seems it is going to be pretty repetitive.

 
 

While it looks cool, is it only for AWS for now?

 

No it's not, but for now it mostly contains AWS icons. You can add any icons you want though! You can read how to do that in the documentation on Github.

 

Thanks, I may work on adding either generic or Azure-related icons

 

Interesting post, I'm gonna stick with Visio tho.

 
 

If pulumi supported something like this it would be super cool.

 

Yes I was actually thinking about it, it would be quite easy to write something that converts whatever infrastructure as code to a diagram like this.

I hadn't heard of pulumi before but at a first glance it looks awesome.

 

This is awesome! Is there a way I can contribute?

 

Thanks!

Of course, you can contribute by creating a pull request in github. If you want to discuss first how to approach things, you can create an issue instead. Very much appreciated!

code of conduct - report abuse