Hacker News new | past | comments | ask | show | jobs | submit login
Draw.io and Terraform = Brainboard, Graphical Way to Do Terraform (brainboard.co)
101 points by chafik-bel on Dec 25, 2020 | hide | past | favorite | 44 comments



Big fan of "talk to sales" or "contact us" pricing pages.


What would you suggest instead :) ?


Be transparent and just say: $8000/year for enterpise license for 8 seats. Additional seats at $700/year/seat.


But then you can’t figure out what your client is willing to pay and charge them that amount! /s


I feel the same way about advertised prices like $99.95 or for gas, even $1.99 9/10.

But it persists because it works. I suspect call for pricing works as well. Especially for enterprise, and they are who you are usually targeting with that kind of prices.


I feel kind of frustration about the pricing, what price makes sense to you?


I guess for people who aren't sure yet if they need/want what you offer, prizing (at least in a magnitude) is part of the decision whether they should invest more time researching.

So either:

- put a ballpark prize on it (even something vague like "from X$ to Y$ depending on application, talk to sales" would work

- if that isn't what you want, you need to make extra sure that people want your product so hard they are willing to jump through your hoops. For that to be true they have to be sure the thing you offer solves problems worth solving in a way they want it to be solved.


Thanks a lot for the suggestion.


I don't think he's bothered too much about the pricing model itself merely the way it's presented.


I recently gave a tech talk internally about Terraform. I wanted to show how quickly a web service can get complicated by showing the SVG generated from `terraform graph` output.

It failed miserably:

$ tf graph|dot -Tpng > graph.png

dot: graph is too large for cairo-renderer bitmaps. Scaling by 0.420618 to fit

Trying to upload the genrated image to Google Slides and the error message: The image is too large. Images must be smaller than 25 megapixels.

$ tf state list|cut -d. -f3|grep ^google_|sort|uniq|wc -l

42 <-- different types of Google Cloud resources we use in our Terraform configs.

I'm very skeptical this config can be managed using a WYSIWYG tool.


Wonder if it'd be more achievable if the product natively understood TF modules? So you tend not to describe or view direct AWS resources, but slightly higher level concepts your eng team uses - then you only see the actual resources if you "zoom in" to a lower level scope


Terraform modules will probably be available during Q1/2021. We started by releasing the market place which is the first step towards TF modules.


The best way to verify that is to test it on Brainboard, I'm excited to know the results. We can do it together if you want, lemme know if you are interested.


there are issues with `terraform graph` that taint the output a little with unnecessary information: https://github.com/hashicorp/terraform/issues/14511

People at hashicorp are aware of it but it doesn't seem to be a priority getting the output to look nicer right now


Gephi is good for drawing large graphs. Takes a minute to get used to the UI.


All for trying to reduce env drift and divergence between things, but don’t think the documentation as the source of truth is the winning formula. Source of truth will inevitably be code (bc it has to capture the full weight of the complexity of your system), IaC is hard enough already with the dizzy height of the abstractions you are building on top of, having a system that adds another doesn’t seem like a winning formula to me.

All for better visualizations of terraform resources tho


We are challenging the fact that source of truth will inevitably be code, we wanna move it a bit higher. When you analyze history of computer science you see that it is all about abstractions: OS as an abstraction to the HW, VM as abstraction to the limitation of both OS & HW, dockers does the same, kubernetes...and the cloud providers themselves are an abstraction of the underlaying technologies by offering: compute as a service, storage as a service, network as a service...


Had the exact same though, but it’s still a pretty interesting concept though.


We reverse-engineered Terraform which means Brainboard represents faithfully every cloud resource you find in Terraform.


This looks interesting. But as a developer I really would like my pull requests, linters and what not.

This feels like the G-Programming language from LabView which allows you to graphically program your physics experiments. But once you drink the programming language coolaid you don’t want to do graphics programming any more.

So I guess I am already biased towards reading text. But for me this is still the best way to consume information compared to pictures or videos


Interesting points. FYI: pull requests will be available during Q1/2021 and we have a kind of linter (predictable blocks, maps, lists). Another point is once you work on graphics I guess you care less about the code since you'll be fully managing graphics in the same analogy to assembly, you care about your language code and not about the assembly generated behind the scenes.


> I guess you care less about the code since you'll be fully managing graphics ...

Is this a thing you have experienced for yourself and others around you? My experience does not hold this statement as it is much harder for me to parse a complex image.


Yes, I'm still experiencing that while using Brainboard. I realize that I care more about the graphics and the design and less about the code even if I spent more 12 years dealing with the code.


While: https://www.brainboard.co/static/js/main.af9695a1.chunk.js is loading the page is blank

This file is large (15.7MB) and took 1.2 minutes to load

So your website looks broken for 1.2 minutes for me.

I doubt anyone else but a web-dev has the patience to wait for it.


Nice catch, it will be optimized soon. Thanks for the feedback. Love it.


Having done some IAC myself, I’m struggling to see how this would work for anything but the simplest architecture.

It’s like all the visual programming languages that become unusable as soon as the program achieves a bit of complexity.


Hi SWE @ Brainboard here,

Indeed, managing complexity is one of the most difficult part of making a graphical tools useful, and some architectures cannot inherently be represented only by a simple 2d graphic.

On the flip side, IAC can sometime be complicated to reason about without deep-diving in the source code and having deep knowledge about Terraform and every cloud provider.

We believe that there is a middle ground, where Brainboard helps engineers design and communicate about their architecture efficiently, are able to manually edit the generated Terraform files, while avoiding the churn of constantly redrawing their documentation graphics.


The best answer is really to try it out. Let's do it and see if it works or not. By the way we are implementing complex architectures (that will be available in the marketplace) and it just works as expected.


The idea is fantastic but I am very skeptical how this would handle state drift and larger projects.

Anyways, being able to visualize infrastructure this way is pretty great. Currently, the way it usually works is to draw the infra and then manually write the tf resources. This seems like it would simplify the process greatly since one could genereate the IAC directly from the diagrams. Pretty neat (if it works well).


Very nice question about the state drift, we are working on it in a way to have a live sync with the existing infra and either suggest a remediation or generate an alarm. We are working hard to make it work well and at the current stage (full support for GCP, Azure & AWS) we are having an amazing results.


Graphical way to do Terraform but hypes up Multi-Cloud front and center.


I'm interested in your feedback when you test it, I think you'll like it.


No pull requests? Dead in the water. How do you handle change control?


The pull request is within our short term roadmap. To handle change control Brainboard has its own versionning system based on git accessible from the design area. It versions graphically your architectures.


Does it have Terraform Enterprise and Sentinel support?


Not yet.


OK. Specific Sentinel integration might be optional (or not even possible), not too sure. But the only way we'd be compliant with the Sentinel policies is if I can use the pre-designed modules in TFE.


Terraform modules are within our roadmap, for now we have the market-place where you can design template architectures that contain your own rules and policies that you can distribute within your organization or team(s), you can make them public if you want as well.


Very interesting, I have been looking for such a tool


We wanted such a tool as well and ended up creating it. Happy that you like it.


s/versionned/versioned/

Looks interesting. I'll try to break it with the complexity of a medium-sized project next year.


Our pleasure to get your feedback when you test it.


How would you compare this to cloudcraft? Mainly about the multicloud support?


Cloudcraft is only for AWS and doesn't have all Terraform resources available, and the generation of the Terraform code is not complete.

Brainboard supports all cloud resources for AWS, Azure and GCP (Digital Ocean and Alibaba planned next) and fully supports any field available in Terraform (even map of maps).

It supports Terraform variables and have a git based versioning + a market place to design and distribute your blueprints to your team, organization or public.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: