CostFormation

CloudZero CostFormation enables you to harness the CloudZero platform to view your cloud costs in the context of your business and engineering needs. With CostFormation, you can define Custom Dimensions which consist of rules and conditions that are used to assign your cloud charges to different elements based on billing line item data as well as other sources like resource tags.

For example, you may want to view your costs in the context of operating environments where your environments are Production, DevOps, and Development. Costs can usually be broken down into these environments by account with several accounts being associated with each environment, but there are some cases where the account number cannot be used.

To be able to see your costs in this Dimension, you can define a Custom Dimension named Environment that contains three rules, one for each of your operating environments. The rules would define the Element name (i.e. Production, DevOps, and Development) and then define the conditions for when a charge should be attributed to a given element. If Production resources are always deployed into accounts A, B, and C, then the conditions of the Production rule would specify if Account equals A, B, or C, then those charges should be assigned to the Production element.

  Environment:
    Name: Environment
    Source: Account
    Rules:
      - Type: Group
        Name: Production
        Conditions:
          - Equals:
              - 123456789010
              - 123456789011
              - 123456789012
        - And:
          - Equals: snowflake1234
          - Source: ProductFamily
            Equals: warehouse
          - Source: Resource
            Contains: prod
        - And:
          - Equals: snowflake1234
          - Source: ProductFamily
            Equals: database
          - Source: Resource
            Equals: live_billing```
      - Type: Group
        Name: DevOps
        Conditions:
          - Source: CZ:Defined:Category
            Equals: Cloud Management
          - Source: Service
            Contains: Support
      - Type: Group
        Name: Development
        Conditions:
        - Equals:
            - 123456789013
            - 123456789014

CostFormation uses a YAML based language with syntax which can be used to define your Custom Dimensions. These definitions are written in a CostFormation Definitions file which can be uploaded into CloudZero where the definitions are published, enabling the Custom Dimensions to be used in other features such as the Cost Explorer or Views, just like any of the Core Dimensions in CloudZero.

Using Custom Dimensions in CloudZero

Once published, all the Custom Dimensions defined in the CostFormation Definition File are visible from the Explorer by all users. They are available in the Group By selector as well as in the Filters selections. Users can use these custom dimensions to group and/or filter the costs in the explorer. They can be used in conjunction with any of the other dimensions for grouping and filtering your cost data.

All published Custom Dimensions can also be used in conjunction with Views as the either the Principal Dimension or as a Filter Dimension.