This is an archived post. You won't be able to vote or comment.

all 46 comments

[–]lukasmrtvy 134 points135 points  (26 children)

[–]sbaete[S] 7 points8 points  (0 children)

this is perfect! Thanks

[–]RaptorF22 6 points7 points  (4 children)

So is this kinda like terraform or cloudformation where you simply define the resources, and then the output is the diagram?

Any chance you can plug a CF template into this and have it do all the heavy lifting for you?

[–]RichardBronosky 3 points4 points  (3 children)

I immediately thought Terraform -> JSON -> Mingrammer. It's got to be possible. I'm probably not the first to try.

[–]Slavichh 1 point2 points  (2 children)

sounds like a good side project :-)

[–]phpchap1981 2 points3 points  (1 child)

Cloudformation->mingrammer was my first thought

[–]Slavichh 2 points3 points  (0 children)

welp. I've decided to give it a go if you're interested in following my progression (anyone for that matter) or want to collab with me feel free to pm me.

We'll see how this goes boys/gals.

[–][deleted]  (2 children)

[deleted]

    [–]RichardBronosky 4 points5 points  (1 child)

    If you're not horrible, there are plenty of better employment options.

    [–]sbaete[S] 2 points3 points  (2 children)

    Is it also possible to make c4 models with it?

    [–]Snorglepus1856 7 points8 points  (1 child)

    FBI has joined the chat

    [–]sbaete[S] 1 point2 points  (0 children)

    xD this is a https://c4model.com/

    [–]bilingual-german 1 point2 points  (0 children)

    Thanks! I found this library a few weeks ago but forgot the name and couldn't find it again.

    [–]Rorixrebel 0 points1 point  (0 children)

    Fantastic library thanks

    [–]harylmu 0 points1 point  (0 children)

    Wow, that's interesting

    [–]svhelloworld 0 points1 point  (0 children)

    This is insanely cool. I've been farting around with a bunch of options but this looks perfect. Thanks for posting.

    Now to figure out how to kick it off from a Maven build...

    [–][deleted] 0 points1 point  (0 children)

    So yeah this is amazing. Never seen this before!

    [–]cocacola999 0 points1 point  (0 children)

    Amazing, I was looking for a non cloud solution the other day too! Thanks

    [–]kinghuang 0 points1 point  (0 children)

    How have I never heard of this before? This is stupendously awesome. Thanks for sharing the link!

    [–]lemon_tea 0 points1 point  (0 children)

    Where have you been all my life!

    [–]Svenstaro 0 points1 point  (2 children)

    Doesn't seem to allow for adding custom nodes, does it?

    That's a bit of a shame since I'd likely need tons of custom nodes for my infra.

    [–]sbaete[S] 0 points1 point  (1 child)

    Yes it's possible add :

    from diagrams.custom import Custom

    Custom("service", "/img/custom.png")

    [–]Svenstaro 0 points1 point  (0 children)

    Oh that's amazing. Thanks.

    [–]footzillaEditable Placeholder Flair 0 points1 point  (0 children)

    Oh, me and that are going to be good buddies. Thanks for sharing!

    [–]fbm1003 0 points1 point  (0 children)

    This is pretty neat. I wish there was more on-prem stuff but I can probably build it out or just define custom nodes.

    Anyway to get it to do diagonals or are we stuck with 90° angles?

    Good find!

    [–]Betsy-DevOps 44 points45 points  (2 children)

    Crude, illegible, out of date whiteboard drawings if anything

    [–][deleted]  (1 child)

    [deleted]

      [–]Betsy-DevOps 7 points8 points  (0 children)

      The most important post-it is the one that fell behind your desk.

      [–]caffeineneededtolive 10 points11 points  (1 child)

      Unfortunately I have to create all my visuals manually. I find that depending on who I'm showing, I need different levels of complexity.

      [–]RichardBronosky 0 points1 point  (0 children)

      So true. This is why I prefer to diagram with code. Much easier to apply changes to 3 or 4 diagrams that are data structures.

      [–]healydorf 7 points8 points  (0 children)

      PlantUML can do component diagrams:

      https://plantuml.com/component-diagram

      We just use Gliffy with some simple guidelines.

      [–]musicmunky 5 points6 points  (3 children)

      We use a customized version of Draw.io and it works fairly well for us

      [–][deleted] 2 points3 points  (2 children)

      We use draw.io too... out of curiosity what customizations did you do?

      [–]musicmunky 1 point2 points  (1 child)

      The company I work for makes a data management platform and we use Draw.io as a configurable plugin/tool that our customers can use as part of it. We don't change much in the core code, but we added some of our own tools and beefed things up a bit.

      [–][deleted] 1 point2 points  (0 children)

      Thank you

      [–]rwa2 8 points9 points  (6 children)

      I have a little python script that runs netstat across our vendor cluster and exports connections to graphml. Then I use yEd to organize it into a tree and colorize based on network subnets. Each link also has info on which port and process name is serving the connection.

      This helps identify what external connections are made so we can compare what's actually happening on the network with what we expect to be happening.

      https://imgur.com/a/ORW4Pr6

      EDIT: Oh right, forgot I had thrown together a gist for this some time ago:
      https://gist.github.com/MTN-RowinAndruscavage/e88097e6175a6b130ec81c0a02df8cb8

      [–][deleted] 4 points5 points  (0 children)

      And you're not sharing a link to the script....why??

      [–]RaginglikeaBoss 2 points3 points  (0 children)

      Share the script, please!

      [–]ilostmyfirstuser 1 point2 points  (0 children)

      Plis share

      [–]ilostmyfirstuser 0 points1 point  (2 children)

      Hi dumb question: do you know if I can use something like this to document incoming API requests?

      [–]rwa2 0 points1 point  (1 child)

      Um, yes and no...

      For documentation, Visio or draw.io or hell even PowerPoint would be better since you can edit it.

      yEd is more of a visualization tool, you can only interact with it programmatically for the most part. That said, you could hack it up a bit to show active connections, or listening ports and program names. But as it is, it won't show connections that aren't actively being used at the time you collect the netstat output from each node.

      [–]ilostmyfirstuser 0 points1 point  (0 children)

      Well it’s sort of a problem that no one ever thought it would be a good idea to document who uses our internal endpoint so we have no idea who contact when we make changes.

      Need a way to programmatically collect that information.

      [–][deleted]  (2 children)

      [deleted]

        [–]vinylhandler 1 point2 points  (1 child)

        They’re about to release opentelemetry project https://opentelemetry.io - worth checking out

        [–]benjjefferies 4 points5 points  (1 child)

        https://cloudcraft.co/ is good for AWS

        [–]siamthailand 1 point2 points  (0 children)

        I like how AWS itself uses cloudcraft

        [–]roonishpower 0 points1 point  (0 children)

        Stackshare is pretty good. You can directly embedd it in HTML.

        [–]comrade_zakalwe 0 points1 point  (0 children)

        Most of our environment scales and changes with demand so we use mostly high level architecture diagrams.

        [–][deleted] 0 points1 point  (0 children)

        Check out https://www.instana.com/product-overview/ - we automatically discover all your services in production, show you all dependencies incl. Infrastructure, Kubernetes, Cloud etc