<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ali Khajeh-Hosseini</title>
    <description>The latest articles on Forem by Ali Khajeh-Hosseini (@alikhajeh).</description>
    <link>https://forem.com/alikhajeh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F553360%2F0547f7e9-e912-449e-8a8a-e2dbc1b54855.jpg</url>
      <title>Forem: Ali Khajeh-Hosseini</title>
      <link>https://forem.com/alikhajeh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/alikhajeh"/>
    <language>en</language>
    <item>
      <title>June 2021 update - HashiCorp partnership, Env0 and Spacelift!</title>
      <dc:creator>Ali Khajeh-Hosseini</dc:creator>
      <pubDate>Tue, 06 Jul 2021 10:00:28 +0000</pubDate>
      <link>https://forem.com/alikhajeh/june-2021-update-hashicorp-partnership-env0-and-spacelift-3jfg</link>
      <guid>https://forem.com/alikhajeh/june-2021-update-hashicorp-partnership-env0-and-spacelift-3jfg</guid>
      <description>&lt;p&gt;In June we focused on integrations and adding more resource coverage. You can &lt;a href="https://www.infracost.io/docs/#1-install-infracost"&gt;upgrade&lt;/a&gt; to the latest version (v0.9.2) to pickup the new features. If you are using v0.8 please follow the &lt;a href="https://www.infracost.io/docs/guides/v0.9_migration"&gt;v0.9 migration guide&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ Integrations
&lt;/h3&gt;

&lt;p&gt;Infracost already has &lt;a href="https://www.infracost.io/docs/integrations/cicd/"&gt;CI/CD integrations&lt;/a&gt; with GitHub Actions, GitLab CI, Atlantis, Azure DevOps, CircleCI, Bitbucket Pipelines and Jenkins. This list keeps growing, so please let us know what you'd like to see added next. Infracost can now be used with the following infra-as-code management platforms too:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Terraform Cloud&lt;/strong&gt;: we have partnered with HashiCorp to bring cloud cost estimates into Terraform Cloud's new RunChecks (currently in beta). Armon Dadgar, co-founder and CTO of HashiCorp, announced the partnership during HashiConf EU; screenshot below! If your company uses Terraform Cloud and would like to work with us and HashiCorp together on this integration, please reply to this email.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Env0&lt;/strong&gt;: cloud cost estimates can easily be &lt;a href="https://docs.env0.com/docs/cost-estimation"&gt;enabled in Env0&lt;/a&gt;. Our CEO Hassan, Env0's CEO Ohad Maislish, and Tim Davis are doing a webinar about cloud costs shifting left on 14th July. &lt;a href="https://www.brighttalk.com/webcast/18739/496711/shifting-left-cloud-cost-with-infrastructure-as-code"&gt;Signup to listen in&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Spacelift&lt;/strong&gt;: cloud cost estimates can also be &lt;a href="https://docs.spacelift.io/vendors/terraform/infracost"&gt;enabled in Spacelift&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⛅ New cloud resources
&lt;/h3&gt;

&lt;p&gt;Infracost now supports over 200 Terraform resources across AWS, Azure and Google. Over 500 free resources have also been identified; these are not shown in the CLI output since they are free.&lt;/p&gt;

&lt;p&gt;We added support for the following cloud resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS&lt;/strong&gt;: Backup, EFS One Zone, Kinesis Firehose &amp;amp; Data Analytics, Neptune.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google&lt;/strong&gt;: BigQuery, Load Balancer, VPN tunnel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Azure&lt;/strong&gt;: Application Gateway, Application Insights, Automation, Cognitive Search, Event Hubs, Kubernetes Load Balancer &amp;amp; HTTP Application Routing, Load Balancer, Redis Cache.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⌨️ Shell completion
&lt;/h3&gt;

&lt;p&gt;Run &lt;code&gt;infracost completion --help&lt;/code&gt; to see how you can generate shell completion scripts for Bash, Zsh, fish and PowerShell. Once enabled, you can use the usual double tab to see autocomplete and help text for commands and flags.&lt;/p&gt;

&lt;p&gt;Thanks for being part of the community! We look forward to hearing your feedback via &lt;a href="https://github.com/infracost/infracost/issues/"&gt;GitHub issues&lt;/a&gt; or our &lt;a href="https://www.infracost.io/community-chat"&gt;community Slack chat&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>azure</category>
      <category>aws</category>
    </item>
    <item>
      <title>Announcement: Azure cloud cost estimates in pull requests</title>
      <dc:creator>Ali Khajeh-Hosseini</dc:creator>
      <pubDate>Mon, 14 Jun 2021 13:56:51 +0000</pubDate>
      <link>https://forem.com/infracost/announcement-azure-cloud-cost-estimates-in-pull-requests-1mfe</link>
      <guid>https://forem.com/infracost/announcement-azure-cloud-cost-estimates-in-pull-requests-1mfe</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzafdu0mjqd4gx9zr46jl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzafdu0mjqd4gx9zr46jl.png" alt="Infracost now supports Azure"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Thanks to our awesome community, I'm very excited to announce that you can now use Infracost to get cloud cost estimates for Microsoft Azure in pull requests. &lt;a href="https://www.infracost.io/docs/" rel="noopener noreferrer"&gt;Try it now&lt;/a&gt;, it's free and open source!&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Cloud costs for engineering teams&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cloud costs have become so complex that the industry (ourselves included) started addressing issues around breached budgets after the bill arrived. This is not the way it should be. It is like going shopping and having no idea how much things cost till after your card has been charged.&lt;/p&gt;

&lt;p&gt;We are on a mission to empower engineering teams to use cloud infrastructure economically and efficiently. We do this by fitting in the developer workflow via CI/CD integration, reading the Infrastructure-as-code project, picking up the parameters that have a price point, looking up the prices for the configurations and leaving a comment in the Pull Request like "This change will increase your cloud costs by 25%" with a detailed breakdown. This way, the whole team is aware of the cost implications of the change.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Today's announcement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Today we are announcing that in addition to AWS and Google Cloud Platform, we have added support for Microsoft Azure. Not only has Azure support been requested by over 60 of our community members (&lt;a href="https://github.com/infracost/infracost/issues/64" rel="noopener noreferrer"&gt;https://github.com/infracost/infracost/issues/64&lt;/a&gt;), but we have seen a lot of growth from Microsoft in terms of the number of resources offered and enterprise adoption.&lt;/p&gt;

&lt;p&gt;We have added support for over &lt;a href="https://www.infracost.io/docs/supported_resources#microsoft-azure" rel="noopener noreferrer"&gt;65 Azure resources&lt;/a&gt; (and another 70 resources which are free), with many more planned. Visit &lt;a href="https://github.com/infracost/infracost/issues" rel="noopener noreferrer"&gt;our GitHub issues page&lt;/a&gt; and put a thumbs up on the resources you'd like covered and we will prioritize them.&lt;/p&gt;

&lt;p&gt;But there is one more thing! We have also added support for Microsoft Azure DevOps Pipelines. This is in addition to our current supported CI/CD integrations such as GitHub Actions, GitLab CI, CircleCI, Bitbucket Pipelines, Atlantis and Jenkins.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F294txcky2spdnpc4d08m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F294txcky2spdnpc4d08m.png" alt="Cloud cost estimates in Azure DevOps"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Get started!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We have made it super simple to get up and running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. brew install infracost # (docker, windows etc options available)
2. infracost register
3. az login # To set cloud creds, see note-1
4. infracost breakdown --path . # Run in your terraform directory. We also have an example Azure terraform file you can use to try it out.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For full details, see our &lt;a href="https://www.infracost.io/docs/" rel="noopener noreferrer"&gt;Getting Started guide&lt;/a&gt;. From there, you can setup &lt;a href="https://www.infracost.io/docs/integrations/cicd#azure-devops" rel="noopener noreferrer"&gt;Azure DevOps Pipelines&lt;/a&gt; for the CI/CD integration.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;note-1&lt;/em&gt;: Infracost does not need or access your cloud creds, however, Terraform needs this to create the plan file.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>terraform</category>
      <category>devops</category>
    </item>
    <item>
      <title>GitHub stars matter! Here is why</title>
      <dc:creator>Ali Khajeh-Hosseini</dc:creator>
      <pubDate>Tue, 11 May 2021 20:59:11 +0000</pubDate>
      <link>https://forem.com/infracost/github-stars-matter-here-is-why-n8c</link>
      <guid>https://forem.com/infracost/github-stars-matter-here-is-why-n8c</guid>
      <description>&lt;p&gt;As &lt;a href="https://infracost.io"&gt;Infracost&lt;/a&gt; has hit 3,000 GitHub stars 🎉, I wanted to share some thoughts as to why GitHub stars matter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why do people star repos?
&lt;/h3&gt;

&lt;p&gt;There are two main reasons why people star GitHub projects:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bookmarks&lt;/strong&gt;: some people star GitHub repos to bookmark them for later use. For example I can see the repos I've starred[1] and search within them for a keyword or sort them by how recently I starred them, or how active the project has been recently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Show support or appreciation&lt;/strong&gt;: others star repos to show support or appreciation, similar to how "likes" are used in social media sites. This is a social signal, and it's very important in the very early stages of open source projects, acting as a feedback loop for project creators. Knowing that other people have seen the project and cared enough to click on the Star button can create motivation for the creators to continue working on the project initially.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The latter is why I personally star projects. Regardless of whether I've used the project in the past, using it just now, plan to use it, or think it's a cool idea, I want the project creator to know that I like what they're doing. Terraform and Pulumi are projects that I recently starred to show support.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benefits of repo stars
&lt;/h3&gt;

&lt;p&gt;The main benefit of repo stars is creating confidence and a good first impression of the project. That in turn helps with the project &lt;strong&gt;getting users&lt;/strong&gt;, and to a lesser extent contributors.&lt;/p&gt;

&lt;p&gt;A 2018 academic research survey of over 700 developers found that "three out of four developers consider the number of stars before using or contributing to GitHub projects"[2]. GitHub stars are not the only metric that matters though. A project's activity level, for example its last release or commit, and its ease of use, for example the quality of its documentation, are also important factors in helping projects get users.&lt;/p&gt;

&lt;p&gt;I say to a lesser extent as contributing, by creating a GitHub issue or submitting a pull request, requires significantly more effort than starring a repo. People who only star a repo are probably not yet active community members but they might become active in the future. This is why the Orbit Model classifies them as Observers[3], as they can act as the top-of-funnel for growing users and contributors.  hugely popular &lt;/p&gt;

&lt;p&gt;In addition to helping projects get users, GitHub stars can help the project creators &lt;strong&gt;meet investors&lt;/strong&gt; who are familiar with open source. Early on in Infracost's journey, we were surprised to get cold emails from VCs congratulating us on our star count. After speaking with a few, it became clear that they either had systems in place to monitor stars[4], or had analysts who reviewed Trending Repos on GitHub for potential investment opportunities[5]. Some have gone even further. For example, the VC firm Runa Capital, who invested in Nginx and MariaDB, has started to track the fastest growing open source startups using GitHub stars and forks. Infracost was recently placed 5th on the ROSS Index[6].&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jDQRPH7w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a8cxn7mh20h87r3d6rsq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jDQRPH7w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a8cxn7mh20h87r3d6rsq.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Future of GitHub stars
&lt;/h3&gt;

&lt;p&gt;A16Z's Martin Casado thinks that there is a big trend towards bottom-up strategies in business-to-business (B2B) software that will shape the entire B2B landscape in the next 10 years[7]. I wonder if in the same way that social media influencers are changing how products are marketed and sold, GitHub influencers (someone with many GitHub followers) will change how enterprise software is marketed and sold? Developer Advocates are currently using Twitter and LinkedIn, but GitHub has a "follow" and a "status update" feature too. Will those remain as a simple way to get updates on code-related activities? Or could they be extended to enable GitHub influencers to post their demos, talks and blogs into the GitHub activity feed? Will companies be able to buy ads on GitHub and promote their open source projects?&lt;/p&gt;

&lt;p&gt;Over to you - what have you learnt about GitHub stars, and how do you think they'll change in the future? I hang out on &lt;a href="https://twitter.com/AliKhajeh"&gt;Twitter&lt;/a&gt;...&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/alikhajeh1?tab=stars"&gt;https://github.com/alikhajeh1?tab=stars&lt;/a&gt;, this is a public page, so you can see the repos that any GitHub user has starred.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;H. Borges and M. Tulio Valente, "What's in a GitHub Star? Understanding Repository Starring Practices in a Social Coding Platform," Journal of Systems and Software, vol. 146, pp. 112–129, 2018. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;a href="https://github.com/orbit-love/orbit-model"&gt;Orbit Model&lt;/a&gt; is implemented via the Orbit product, which can be used to measure and grow open source communities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://openbase.com"&gt;Openbase&lt;/a&gt; helps developers choose the right JavaScript package with more languages coming soon. See the &lt;a href="https://openbase.com/js/react"&gt;React&lt;/a&gt; page to get an idea of the kinds of metrics they collect.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/trending"&gt;https://github.com/trending&lt;/a&gt;, Infracost has hit the Go trending page a few times.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://runacap.com/ross-index/"&gt;https://runacap.com/ross-index/&lt;/a&gt;, Infracost was placed 5th in the fastest-growing open-source startups in Q4 2020.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=fK5YUIS86SY"&gt;Growth, Sales, and a New Era of B2B&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>github</category>
      <category>startup</category>
      <category>opensource</category>
    </item>
    <item>
      <title>March 2021 update - new diff command and usage file automation!</title>
      <dc:creator>Ali Khajeh-Hosseini</dc:creator>
      <pubDate>Wed, 07 Apr 2021 13:25:51 +0000</pubDate>
      <link>https://forem.com/infracost/march-2021-update-new-diff-command-and-usage-file-automation-2n1g</link>
      <guid>https://forem.com/infracost/march-2021-update-new-diff-command-and-usage-file-automation-2n1g</guid>
      <description>&lt;p&gt;March was busy as we added major new features and had Y Combinator's demo day, where &lt;a href="https://twitter.com/hassankhosseini"&gt;Hassan&lt;/a&gt; (our CEO) delivered an awesome 60 second pitch on a Zoom call with hundreds of investors!&lt;/p&gt;

&lt;p&gt;You can &lt;a href="https://www.infracost.io/docs/#1-install-infracost"&gt;&lt;strong&gt;upgrade&lt;/strong&gt;&lt;/a&gt; to the latest version (v0.8.3) to pickup the new features. If you are using v0.7 (or older) please follow the &lt;a href="https://www.infracost.io/docs/guides/v0.8_migration"&gt;v0.8 migration guide&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🗒️ See diffs in CLI
&lt;/h3&gt;

&lt;p&gt;A highly requested feature was the ability to see the difference in cost between the current state and the planned state of Terraform projects in the CLI (we already have this feature in CI/CD integrations). Check it out by running &lt;code&gt;infracost diff --help&lt;/code&gt;. We have also updated the CI output to make it easier to read.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZoCsTD4j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b77zthqk8q0mk8219ubd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZoCsTD4j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b77zthqk8q0mk8219ubd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ Automated usage-based resource definitions
&lt;/h3&gt;

&lt;p&gt;Usage-based resources, such as AWS Lambda or Google Cloud Storage, require estimated usage data so Infracost can show costs in the output. You can define these in a YAML file, called a &lt;a href="https://www.infracost.io/docs/usage_based_resources"&gt;usage file&lt;/a&gt;, and use that to get cost estimates for such resources.&lt;/p&gt;

&lt;p&gt;Previously you had to create this file manually. You can now use the &lt;code&gt;--sync-usage-file&lt;/code&gt; option to generate a new usage file or update an existing one from your Terraform project. This option is a &lt;strong&gt;safe&lt;/strong&gt; sync: it adds any missing resources (with zeros for the usage estimates), it does not overwrite any lines that you have changed in the YAML, and it deletes any resources that are not used in the Terraform project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; infracost breakdown &lt;span class="nt"&gt;--sync-usage-file&lt;/span&gt; &lt;span class="nt"&gt;--usage-file&lt;/span&gt; infracost-usage.yml &lt;span class="nt"&gt;--path&lt;/span&gt; /code
  &lt;span class="o"&gt;[&lt;/span&gt;...]
  &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;cat &lt;/span&gt;infracost-usage.yml

  version: 0.1
  resource_usage:
    aws_lambda_function.hi:
      monthly_requests: 0 &lt;span class="c"&gt;# Monthly requests to the Lambda function.&lt;/span&gt;
      request_duration_ms: 0 &lt;span class="c"&gt;# Avg duration of each request in milliseconds.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  😃 Simplified inputs, outputs and config file
&lt;/h3&gt;

&lt;p&gt;We like it when things are made easy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Inputs&lt;/strong&gt;: a new &lt;code&gt;path&lt;/code&gt; flag has been introduced to replace the various methods of running Infracost. You can now simply point Infracost to the path of a Terraform directory, plan binary file, or plan JSON file and it'll just work. This lays some of the groundwork for supporting other IaC tools in the future.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outputs&lt;/strong&gt;: the dashes (-) in the output have been replaced with price descriptions such as &lt;code&gt;Cost depends on usage: $0.20 per 1M requests&lt;/code&gt; so you can understand the pricing structure of usage-based resources such as AWS Lambda or Google Cloud Storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Config file&lt;/strong&gt;: the &lt;a href="https://www.infracost.io/docs/multi_project/config_file"&gt;config file&lt;/a&gt; has been updated to support infra-as-code repos that have multiple workspaces and projects. This enables you to combine projects into the same breakdown or diff output. So if a Terraform module or variable is used across workspaces/projects, you can quickly see the cost impact of changing it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 New Pull request comment options
&lt;/h3&gt;

&lt;p&gt;We've updated the &lt;a href="https://www.infracost.io/docs/integrations/cicd"&gt;CI/CD integrations&lt;/a&gt; to add a new &lt;code&gt;post_condition&lt;/code&gt; option so you can decide when you'd like cost comments to be shown in pull requests. Options include: always leave a cost comment, only comment when there is a change to the cost, or only comment when a percentage threshold has been reached (e.g. more than 5% increase or decrease in costs).&lt;/p&gt;

&lt;h3&gt;
  
  
  ⛅ New cloud resources
&lt;/h3&gt;

&lt;p&gt;We are working on adding Microsoft Azure to Infracost. This has two steps: the first is to add the prices to the Cloud Pricing API, then to add the resources to the CLI. We completed adding around 300,000 prices from Microsoft Azure to the Cloud Pricing API (step one), and now we're looking for volunteers to add resources to the CLI (step two) before the initial release. Please email &lt;a href="//mailto:ali@infracost.io"&gt;ali@infracost.io&lt;/a&gt; if you are an Azure user and would like to contribute (basic golang knowledge is required).&lt;/p&gt;

&lt;p&gt;We also added support for the following cloud resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS&lt;/strong&gt;: Elastic File System (EFS), EBS GP3 volumes, DX Connection, Route53 Health checks, RDS Serverless&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google&lt;/strong&gt;: Memorystore Redis, Cloud Monitoring and Logging, Compute Images and Snapshots&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for being part of the community! We are always looking forward to your &lt;a href="//mailto:hello@infracost.io"&gt;feedback&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>aws</category>
      <category>googlecloud</category>
      <category>azure</category>
    </item>
    <item>
      <title>Infracost diff - "git diff" but for cloud costs</title>
      <dc:creator>Ali Khajeh-Hosseini</dc:creator>
      <pubDate>Thu, 18 Mar 2021 13:35:44 +0000</pubDate>
      <link>https://forem.com/infracost/infracost-diff-git-diff-but-for-cloud-costs-2hgm</link>
      <guid>https://forem.com/infracost/infracost-diff-git-diff-but-for-cloud-costs-2hgm</guid>
      <description>&lt;p&gt;Recently we &lt;a href="https://infracost.io/docs/#installation" rel="noopener noreferrer"&gt;released&lt;/a&gt; a new &lt;code&gt;infracost diff&lt;/code&gt; command inspired by &lt;code&gt;git diff&lt;/code&gt;. This shows a diff of monthly cloud cost estimates between the current and planned state of Terraform projects. At a high-level this might seems like a simple exercise of subtracting the current state's cost estimate from the planned state, but cloud costs are rarely that simple to deal with. Let's take a look at the following screenshot to understand some of the nuances.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6k73nhh82l687xksop6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6k73nhh82l687xksop6.png" alt="Infracost diff command"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;aws_instance&lt;/code&gt; is being changed, which reduces the cost by $125/month (from $743 to $618).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AWS EC2 has &lt;strong&gt;many&lt;/strong&gt; different cost components, so to explain what caused the above change, we also flag the sub-resource &lt;code&gt;ebs_block_device[0]&lt;/code&gt; that changed (the first attached block device). Underneath it, we show the cost component that caused the actual cost diff, Provisioned IOPS SSD Storage (io1); i.e. reducing the size of that volume can save $1500/year. For those who have done this in production, they know it's not a one-click change as you need to create a new EBS volume and copy over the data. What Infracost enables you to do is to quickly tell how much such a change would save you, then decide if it's worth it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A new &lt;code&gt;aws_lambda_function&lt;/code&gt; is being added. Since we don't know how much it's going to be used, we can't show a cost estimate. But we can still show you the prices you'll be charged for: $0.20 per 1M requests and a tiny amount per GB-second. This is a &lt;a href="https://infracost.io/docs/usage_based_resources" rel="noopener noreferrer"&gt;usage-based resource&lt;/a&gt;, so if you like you can create a yaml file to provide usage estimates and get a cost estimate. It's hard to think in GB-seconds, so we enable you to input the average request duration and we'll do the math to map that to GB-seconds based on the &lt;code&gt;memory_size&lt;/code&gt; of your function and any rounding rules that AWS applies.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.1&lt;/span&gt;

&lt;span class="na"&gt;resource_usage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;aws_lambda_function.hello_world&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;monthly_requests&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100000000&lt;/span&gt; &lt;span class="c1"&gt;# Monthly number of requests.&lt;/span&gt;
    &lt;span class="na"&gt;request_duration_ms&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;250&lt;/span&gt; &lt;span class="c1"&gt;# Average duration of each request in milliseconds.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finally we show a summary at the bottom: the EC2 instance change reduces the cost by 17%, and you can use the above yaml file to do simple what-if analysis on the Lambda costs.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The new &lt;code&gt;infracost diff&lt;/code&gt; command is used by our &lt;a href="https://infracost.io/docs/integrations/cicd" rel="noopener noreferrer"&gt;&lt;strong&gt;CI/CD integrations&lt;/strong&gt;&lt;/a&gt; and is open source alongside the rest of Infracost. We look forward to hearing what you do with it via &lt;a href="https://github.com/infracost/infracost/issues" rel="noopener noreferrer"&gt;GitHub issues&lt;/a&gt; or our &lt;a href="https://www.infracost.io/community-chat" rel="noopener noreferrer"&gt;community Slack&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>sre</category>
      <category>aws</category>
    </item>
    <item>
      <title>Infracost Feb 2021 update: faster runs, new resources and Atlantis!</title>
      <dc:creator>Ali Khajeh-Hosseini</dc:creator>
      <pubDate>Wed, 03 Mar 2021 10:27:49 +0000</pubDate>
      <link>https://forem.com/infracost/infracost-feb-2021-update-faster-runs-new-resources-and-atlantis-1gk5</link>
      <guid>https://forem.com/infracost/infracost-feb-2021-update-faster-runs-new-resources-and-atlantis-1gk5</guid>
      <description>&lt;p&gt;Here's what we released in February - big thanks to the community contributors! You can &lt;a href="https://www.infracost.io/docs/#1-install-infracost"&gt;&lt;strong&gt;upgrade&lt;/strong&gt;&lt;/a&gt; to the latest version (v0.7.20) to pickup these goodies:&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 Speed improvements
&lt;/h3&gt;

&lt;p&gt;The CLI now only runs &lt;code&gt;terraform init&lt;/code&gt; if required since Terraform commands aren't the fastest in the world (init usually takes 20+ secs for me, but it depends on how many plugins you have). Furthermore, calls to the Cloud Pricing API have been switched from sequential to parallel. Infracost should run much faster than before.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ Config file
&lt;/h3&gt;

&lt;p&gt;Depending on your Terraform workflow, you'll run Infracost with &lt;a href="https://www.infracost.io/docs/#usage-methods"&gt;different options&lt;/a&gt;. Things can get complicated when you have multiple projects in a repo, each requiring their own Terraform variables. For example, if you have two workspaces and want to see their total cost estimate, you would run something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;terraform workspace &lt;span class="k"&gt;select &lt;/span&gt;dev
infracost &lt;span class="nt"&gt;--terraform-dir&lt;/span&gt; code &lt;span class="nt"&gt;--format&lt;/span&gt; json &lt;span class="se"&gt;\&lt;/span&gt;
          &lt;span class="nt"&gt;--terraform-plan-flags&lt;/span&gt; &lt;span class="s2"&gt;"-var-file=env.dev.tfvars"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; dev.json

terraform workspace &lt;span class="k"&gt;select &lt;/span&gt;prod
infracost &lt;span class="nt"&gt;--terraform-dir&lt;/span&gt; code &lt;span class="nt"&gt;--format&lt;/span&gt; json &lt;span class="se"&gt;\&lt;/span&gt;
          &lt;span class="nt"&gt;--terraform-plan-flags&lt;/span&gt; &lt;span class="s2"&gt;"-var-file=env.prod.tfvars"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; prod.json

infracost report &lt;span class="nt"&gt;--format&lt;/span&gt; table dev.json prod.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can now create an &lt;code&gt;infracost.yml&lt;/code&gt; &lt;a href="https://www.infracost.io/docs/config_file"&gt;config file&lt;/a&gt; in your repo to describe your setup, then just run &lt;code&gt;infracost --config-file infracost.yml&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌎 Atlantis integration
&lt;/h3&gt;

&lt;p&gt;Infracost now &lt;a href="https://www.infracost.io/docs/integrations#atlantis"&gt;integrates with Atlantis&lt;/a&gt;, which is a popular CI/CD tool that enables Terraform pull request automation.&lt;/p&gt;

&lt;h3&gt;
  
  
  🗒️ Diff functionality in JSON output
&lt;/h3&gt;

&lt;p&gt;You can now get the monthly cost diff from the Infracost JSON output, e.g. the following shows the monthly cost is going to be increased by $1530 if the Terraform plan is applied. You can also get &lt;code&gt;totalHourlyCost&lt;/code&gt;, or add &lt;code&gt;--no-color=true --log-level=warn&lt;/code&gt; if you don't want the spinners/logs/color.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;infracost --terraform-dir=. --format=json | jq '[.projects[].diff.totalMonthlyCost | select (.!=null) | tonumber] | add'
"+1530"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ⛅ New cloud resources
&lt;/h3&gt;

&lt;p&gt;We also shipped support for the following cloud resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS&lt;/strong&gt;: Config, ECS on EC2, EventBridge, Route 53 Resolver, CodeBuild&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google&lt;/strong&gt;: Key Management Service (KMS), Google Cloud Functions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Azure&lt;/strong&gt;: great progress is being made, &lt;a href="https://github.com/infracost/infracost/issues/64"&gt;stay tuned&lt;/a&gt; for exciting news soon&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;a href="https://www.infracost.io/docs/usage_based_resources"&gt;usage file&lt;/a&gt; params for Google Cloud Functions are pretty cool; as shown below you can define 3 simple params and we'll estimate the cost for you, no need for you to decode how function memory maps to GHz-seconds and rounding.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;google_cloudfunctions_function.my_function&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;request_duration_ms&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;150&lt;/span&gt; &lt;span class="c1"&gt;# milliseconds&lt;/span&gt;
  &lt;span class="na"&gt;monthly_function_invocations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10000000&lt;/span&gt;
  &lt;span class="na"&gt;monthly_outbound_data_gb&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NAME                              MONTHLY QTY  UNIT         MONTHLY COST

google_cloudfunctions_function.hi
├─ CPU                                800,000  GHz-seconds  8.0000
├─ Memory                             500,000  GB-seconds   1.2500
├─ Invocations                     10,000,000  invocations  4.0000
└─ Outbound data transfer                  50  GB           6.0000
Total                                                       19.2500
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As always, looking forward to your feedback (&lt;a href="//mailto:hello@infracost.io"&gt;hello@infracost.io&lt;/a&gt;).&lt;/p&gt;

</description>
      <category>aws</category>
      <category>googlecloud</category>
      <category>terraform</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
