Title: Hi, we are Ali, Hassan, and Alistair, co-founders of Infracost (<a href="https:&#x2F;&#x2F;www.infracost.io&#x2F;">https:&#x2F;&#x2F;www.infracost.io&#x2F;</a>). Infracost helps engineers see the cost of each Terraform change before launching resources. When changes are made, it posts a comment with the cloud cost impact. For example, “you’ve added 2 instances and volumes, and change an instance type from medium to large, your bill will increase by 25% next month, from $1000 to $1250 per month”.<p>We launched in February 2021 (<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26064588">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26064588</a>), and Infracost is now being actively used by over 3,000 companies. However, there is a shift happening in the cloud cost management space. New teams, called FinOps teams (a combination of &quot;Finance&quot; and &quot;DevOps&quot;), are being formed within companies to manage cloud costs.<p>One of the first tasks assigned to these teams is to determine &quot;who is using what&quot; - that is, which teams, business units, products, etc. are spending the most on cloud. To accomplish this, they use tags. Tags are labels that all cloud resources should have and are key-value pairs. For example, a server could be tagged with: product=HackerNews; environment=production; team=blueTeam. So if resources are not tagged properly, then you can’t tell who is using what.<p>However, FinOps teams face challenges because their tools are reactive. These tools begin by analyzing cloud bills and providing visibility of tags from there. This means that they are looking at resources that are already running in production and costing money. A customer recently shared, “I want all resources to be properly tagged. But if they are not, I would rather a resource not be tagged at all than be tagged incorrectly.”<p>My &quot;aha&quot; moment! FinOps teams can define a tagging policy that can be validated in CI&#x2F;CD before resources are launched. This is important because if code is shipped with the wrong tags, FinOps teams will have to fight for sprint time to fix them. Even if you shut down an untagged resource directly in the cloud, the next time Terraform runs, the resource will launch again with no tag. You need to fix the issue at its root.<p>I’d love your feedback on our solution to the tagging problem. You define your tag key-value policy in our SaaS product, and Infracost checks all Terraform resources per change. If anything fails the policy, it posts a comment with the details of which resources need tags, and what the allowed values are. Once fixed, it will let the code be shipped to production.<p>Try it out by going to <a href="https:&#x2F;&#x2F;dashboard.infracost.io&#x2F;">https:&#x2F;&#x2F;dashboard.infracost.io&#x2F;</a>, setting up with the GitHub app or GitLab app, and defining your tagging policy. It will then scan your repository and inform you of any missing tags and their file and line number. You can use the free trial, but if you need more time, please message me and I’ll extend it for you.<p>I would also love to hear how others ensure that the correct tag keys and values are applied to all resources, and whether this is done proactively or reactively. Additionally, I would be interested in hearing about any lessons learned in the process.<p>Cheers
Upvote: