AI Cost Visibility & Optimization Understand, allocate & reduce your AI costs - Learn More

How to Integrate nOps SDK With Terraform to Shift Left and Reduce Cloud Cost

How the nOps SDK helps determine impact on cloud cost before you commit your IAC files to master and break the budget.

Cloud cost management encompasses a variety of processes, practices, and tools to which the overall goal is to achieve optimal cost for required usage. Here at nOps, we are on a crusade to discover and implement best in class ideas, which enable practitioners to get the maximum ROI for their investment. In this blog post, I am excited to share with you the recently released projection pricing feature of the nOps SDK. This pricing feature is envisioned as an automation tool that will promote better decision making before deploying cloud infrastructure changes through IAC platforms, such as Terraform or AWS CloudFormation.

[@portabletext/react] Unknown block type "horizontalRule", specify a component for it in the `components.types` prop

nOps SDK Cloud Cost Management Tool Integration: Pricing Projection for your Terraform Changes

[@portabletext/react] Unknown block type "horizontalRule", specify a component for it in the `components.types` prop

The impact of a given IAC infrastructure change-set on cost is not transparent at the time of applying it. While a DevOps engineer in a small organization may be able to make reasonable cost estimates from experience, things tend to get out of hand as the number of infrastructure resources used and stakeholders involved in managing costs grows. This effectively prevents decision makers from evaluating and approving a change-set before deployment. As any financial planner will tell you, buying something without having a good idea of what it costs is never a good idea.

[@portabletext/react] Unknown block type "horizontalRule", specify a component for it in the `components.types` prop

Solution

The pricing projection feature of the nOps SDK helps achieve 2 things: know the cost impact of a change-set within your preferred time-horizon and make it visible for all interested parties. For this purpose, the SDK exposes the pricing module and particularly the CloudCost class, which provides a generic interface for making cost projections. In order to make pricing projections, the module needs to know only the following:

  1. The types of operations in a given change-set (i.e. creating, updating and/or deleting resources)
  2. The specification of resources involved in each operation (e.g. a general purpose t2.large linux EC2 instance)**

Provided this information, the nOps SDK is able to fetch price information from the nOps API and assign each resource a relevant unit price. While the format of the input is a simple list of dictionaries with each specifying an operation, the CloudCost class will automatically parse these dictionaries into corresponding objects and populate their cost fields. After prices are loaded, it is possible to create cost projections for a given time period via the compute_cost_effects method. This will compute and persist the cost projections on the relevant objects.

Once cost effects are computed, what you do with this information is entirely up to you. You could, for example, output a simple terminal report via the output_report method. Or, you could email the list of operations and their cost impact to others. Even better, you could post the cost projection as a comment on your PR so as to allow your teammates to understand cost changes before they approve it.

In fact, nOps itself provides automation tools that ease the integration of the pricing feature. An instance of this comes via the nOps pre-commit CLI tool, which can be configured to run as a pre-commit hook and parse your terraform file changes into the format required by the nOps SDK and output the cost impact before you commit your code. The nOps SDK acts as a dependency of the CLI tool.

[@portabletext/react] Unknown block type "horizontalRule", specify a component for it in the `components.types` prop

Summary

As you can see, using the nOps SDK is designed to help analyze and understand cost insights and projections from your AWS environment. This makes it infinitely easier when trying to fully predict what the changes to your infrastructure have on the AWS spend at the end of the month. These predictions help teams ensure that they are staying under budget before pushing the changes to production and having the added benefit of reducing invoice surprises at the end of the month!

[@portabletext/react] Unknown block type "horizontalRule", specify a component for it in the `components.types` prop

If you are interested in seeing how to integrate this feature into your workflows you can sign up for a free trial at www.nops.io – we are always here to help and we would love to hear your feedback!

*We now support AWS EC2 and RDS resources!

**Please refer to SDK Documentation for interface details.

Related Topics

Optimizing AWS Cloud Costs for Workloads with nOps

AWS Billing and Cost Management: The Secret to Keeping Cloud Costs in Check

How to Integrate nOps SDK With Terraform to Shift Left and Reduce Cloud Cost

nOps

nOps

Published Date: June 23, 2022, Cost Allocation & Reporting

Featured Content

Introducing Cursor Integration in nOps

Announcement

Introducing Cursor Integration in nOps

byRick Haggart
Introducing Claude.ai (Enterprise) Integration in nOps

Announcement

Introducing Claude.ai (Enterprise) Integration in nOps

byRick Haggart
Amazon EMR Cost Optimization: How to Cut AWS Big Data Processing Costs by 30% or More

Cost Optimization

Amazon EMR Cost Optimization: How to Cut AWS Big Data Processing Costs by 30% or More

bynOps
Microsoft Ends Azure Reservation Exchanges: What FinOps Teams Need to Know Before February 2027

Commitment Management

Microsoft Ends Azure Reservation Exchanges: What FinOps Teams Need to Know Before February 2027

byIan Johnson
AWS Spot Instances: How They Work and When to Use Them

Spot

AWS Spot Instances: How They Work and When to Use Them

bynOps
AWS Cost Visibility, Allocation & Governance

Cloud Management

AWS Cost Visibility, Allocation & Governance

bynOps