Ask HN: Would you use an architecture diagram tool to save infra costs?
11 points| rrohn | 1 year ago
Here’s what the tool will offer:
1. Tag-Based Diagram Creation: Users can create architecture diagrams using the tags assigned to their infrastructure. This allows for easy visualization and organization.
2. Resource Tracking: The tool can track resource wastage and identify machines that are running but have no usage, helping you optimize your infrastructure. Check cost per infra stack.
3. High-Level Overview: Create a comprehensive mesh of diagrams that provide a 10,000-foot overview of all services and their interactions.
4. Infrastructure Management: Ability to delete unused infrastructure directly from the tool, check usage metrics, and upscale/downscale resources as needed.
I’m keen to know:
- Would this tool be useful in your tech operations? - Are there any specific features or improvements you would like to see added to this tool? - Any thoughts on potential challenges or limitations?
austin-cheney|1 year ago
rrohn|1 year ago
This tool will aim to bridge that gap by providing clear, visual representations of your deployed infrastructure, which can make the complexities of architecture more transparent and easier to understand. By centralizing this information, you can reduce the reliance on a few key individuals and make it easier for everyone to contribute and stay informed. This way, the plan becomes more than just a set of tasks—it becomes a shared understanding.
tthflssy|1 year ago
A couple of questions:
- Tag-based diagram creation: what information would you put into a tag and how are tags managed (manually? automatically assigned in some way?)
- Resource tracking: what is a resource? are they machines / nodes? or do you plan to track database/cache/queues/etc? How do you define waste? We used the simple definition that a machine with no tag, though that is relatively simple and useful at the beginning when you are mapping out the infra you do not know, but might not be great on an ongoing basis.
- High-level overview: how do you know if serviceA is interacting with serviceB? Many cases it would also be great to know if services are interacting with 3rd parties and that is also a big part of the infrastructure. Knowing that serviceA and serviceB is interacting is only the first step, though knowing why they are interacting (is it a critical part of serviceA? what is the business value of that connection? how is the customer affected if it gets broken?) and why was it implemented in a given way? (sync/async, retries and timeouts, what matters to the customer). Communicating this type of context of the architecture seems hard and auto-generated diagrams usually fail to do.
- Infrastructure management: I am not that averse about giving some delete rights for the infrastructure, maybe you can get partial rights, though I assume a lot of companies are already using something for upscale/downscale and might have strict processes for deleting things. What if a delete needs an approval or code review like step?
rrohn|1 year ago
I’m targeting startups/corporates that are over 5 years old but haven’t become large corporates. Employee count from 50-500. At this stage, companies often lose track of their deployed infrastructure, leading to significant costs. Typically, around 10% of the infrastructure is underutilized or unused. And beyond this stage, things are either sorted or way too messy. Additionally, documentation struggles are common, with only a few individuals aware of the full architecture. Democratizing this knowledge can be incredibly beneficial.
To your questions:
1 - The assummption is you already have some tags for your infra. Which can include can include service names, environments, resource types, ownership. And you start from there.
2- Resource could be machines, databases, load balancers, even object storage. If you run unmanaged datastores, you'd have an option to identify that infra. You are right, to be useful on an ongoing basis, we'd regularly have to churn up suggestions based on underutilization.
3- I am not sure this can even be done automatically, but plan is to provide tools to easily document all intereractions and business logic. And depend on service owners to create this mesh.
4 - This has been a constant feedback. Yes something like an approval workflow should do, or may be skip this altogether.
alexkwood|1 year ago
rrohn|1 year ago
mmarian|1 year ago
But it'll be very hard to get it past our architect. Maybe if it's open source so we can test and prove the value before using a 3rd party.
rrohn|1 year ago
cbanek|1 year ago
rrohn|1 year ago
ungreased0675|1 year ago
rrohn|1 year ago
fhaldridge7|1 year ago
rrohn|1 year ago
JSDevOps|1 year ago
rrohn|1 year ago