Documentation

Google Compute Engine

Compute Engine Visibility Summary

Purpose: This section is designed to give you a high level overview of what you're spending on compute today, how much money you could theoretically save, and the number of recommendations that you could potentially work on.

Measures:

  • Last Month Total Spend: This your total Compute Engine spend last month. This is gross cost and does not include any discounts you receive.
  • Monthly Spend to Date: This is your total Compute Engine spend month-to-date for the current month. The percentage represents the difference between your current month-to-date spend compared last months-to-date spend. This is gross cost and does not include any discounts you receive.
  • Forecasted Spend: This is a projection of your total Compute Engine spend by the end of the current month. The percentage represents what your projected spend will be this month compared to last month.
  • Total Current Recommendations: Number of rightsizing recommendations available for savings. The average savings is the total of all savings of each recommendation / # of recommendations available.

Cost and Usage Graphs

Aggregate Costs Graph

Dimension Groupings:

  • Category: High level categories of Compute Engine spend such as Cores, RAM, Block Storage, Network, Load Balancing, etc
  • Family: The machine family
  • Premium OS: Any premium OS licensing cost (Debian, Container optimized OS from Google, etc)
  • Project ID: Compute Engine spend per Project
  • Region: Compute Engine spend per Region
  • Storage Class: The Compute Engine storage class (SSD, Balanced, Standard)
  • Storage Type: Type of storage associated with Compute Engine (SSD backed PD, Storage PD, Snapshot)

Usage Graph

Dimension Groupings:

  • vCPU: Total number of vCPU for all Compute Engine VMs
  • Memory: Total RAM for all Compute Engine VMs
  • Network: Total Received and Sent bytes for all Compute Engine VMs
  • Disk: Total Read and Write bytes for all Compute Engine VMs

Instance and Family Table

Please note, if you do not have the GCP detailed billing export enabled and configured in Ternary you will not be able to use the View Instances option. If you'd like to enable it, please follow the onboarding guide located at: <https://docs-staging.ternary.app/docs/google-cloud-platform>

Measures:

  • Family: The machine family of instances that cost and provisioning data is grouped into.
  • Project: The project of the Compute Engine cost and provisioning data.
  • Type: The type of machine (General Purpose, Compute Optimized, Storage Optimized, Network Optimized, etc)
  • Instance Count: The total number of Compute Engine instances during the selected time period within the corresponding Family, Project and Type.
  • Cost: The total cost, without discounts, for Compute Engine spend within the corresponding Family, Project and Type.
  • Provisioned vCPU: The total number of provisioned vCPU for all instances in Compute Engine within the corresponding Family, Project and Type.
  • Provisioned RAM: The total amount of RAM provisioned for all instances in Compute Engine within the corresponding Family, Project and Type.
  • Provisioned Disk Bytes: The total amount of Disk bytes provisioned for all instances in Compute Engine within the corresponding Family, Project and Type.

View Instances Report

Detailed billing export must be enabled and configured in Ternary

View Instances table

Measures:

  • Name: The name of the Compute Engine Instance
  • Resource ID: Unique resource ID identifier of the Compute Engine Instance
  • Cost: Total cost for that instance over time period selected
  • Instance SKU: Type of instance
  • vCPU: Total vCPU associated with the unique instance
  • vCPU util: Average CPU utilization
  • Provisioned RAM: Total RAM associated with the unique instance
  • RAM util: Average RAM utilization
  • Provisioned Disk: Total GB/TB of storage associated with the unique instance
  • Disk util: Average disk utilization (Reads/Writes)

Compute Engine Optimization Summary

Before diving into what the recommendation insights numbers are, it is important to know the different types of recommendations that are potentially surfaced in Ternary for Compute Engine:

  • VM Rightsizing: The CPU and memory utilization detected on this compute instance is consistently lower than the total capacity of the compute instance. Consider changing the [instance type] to one that is better suited for this workload, and remember that changing the instance 'class' (e.g. going from N1 Standard to N1 Highmem) might give you a CPU to memory ratio that is more suited to your needs.
  • Commitment Nearing Expiration: A compute commitment is nearing expiration. Review your commitments and your business context to determine if it should be renewed.
  • Rightsize Instance Group: The aggregate CPU and memory utilization detected on this instance group is consistently lower than the total capacity of the entire group. Consider adjusting the instance group type or the size of individual instances to save money.
  • Unused Static IP Address: There are one or more provisioned static IP addresses that are not in use. Delete the addresses that you do not plan to use, and make use of the ones you would like to keep.
  • Zombie Resource: The amount of CPU being used by this compute instance is so close to zero that it is most likely not doing anything at all. Check that it is being accessed and is still useful to your applications, and remove it if it is not doing anything.
  • Commitment Usage Drop off: The amount of CUD credits applying to a project has suddenly dropped. Review your compute instance types and commitments to verify this change is intended.
  • Unattached Storage: This disk is not attached to a compute instance. You are billed for disks whether or not they are used by a compute instance, and sometimes they won't be deleted automatically when you delete an underlying compute instance.

Measures:

  • Current Recommendations: Total amount of savings available across all recommendations. Active represent recommendations that do not have a status of "Snooze". Snoozed represents recommendations that have a status of "Snooze" set by a user for any reason.
  • Past Recommendations: Total amount of previous recommendations available across all statuses available in Ternary (these are historical recommendations). Includes recommendations with a status of Implemented, Inaccurate or As-designed after discussion with your engineering team and the appropriate status assigned to the recommendation in ternary.
  • Total Current Recommendations: Total number of current recommendations available.
  • Total MTD spend: Total gross Compute Engine spend month to date. The percentage represents your amount of MTD spend compared against this time last month.

Compute Engine Recommendation table

Measures:

  • ID: Unique ID of the recommendation in the Ternary platform. Each recommendation will have a unique ID for reference later.
  • Recommendation type: The type of recommendation (Please see above for a description of possible recommendations).
  • Resource (and Project): Unique resource name and associated Project it exists in.
  • Open: Whether the recommendation has a status of New
  • Status: Status of the recommendation, as assigned in the Ternary platform. Possible values: New, Accepted, As-Designed, Implemented, and Inaccurate.
  • Created On: The date that the recommendation was created in the Ternary database.
  • Potential Savings: Potential savings if the recommendation is actioned.

When you click on any one of the Table Rows, you'll see a pop up appear:

Details of a single recommendation. You can also snooze a recommendation for a specific period of time or set a particular status.

Other Useful Functionality

Export Visibility and Optimizations: Export the current Visibility categories and Compute optimization recommendations as CSVs

For Visibility, you can export the categories table below the graph

For Optimizations