Foster a culture of cost awareness

Last reviewed 2024-09-25 UTC

This principle in the cost optimization pillar of theGoogle Cloud Well-Architected Framework provides recommendations to promote cost awareness across your organization andensure that team members have the cost information that they need to makeinformed decisions.

Conventionally, the responsibility for cost management might be centralized to afew select stakeholders and primarily focused on initial project architecturedecisions. However, team members across all cloud user roles (analyst, architect,developer, or administrator) can help to reduce the cost of your resources inGoogle Cloud. By sharing cost data appropriately, you can empower teammembers to make cost-effective decisions throughout their development anddeployment processes.

Principle overview

Stakeholders across various roles – product owners, developers, deploymentengineers, administrators, and financial analysts – need visibility into relevantcost data and its relationship to business value. When provisioning and managingcloud resources, they need the following data:

  • Projected resource costs: Cost estimates at the time of design anddeployment.
  • Real-time resource usage costs: Up-to-date cost data that can be used forongoing monitoring and budget validation.
  • Costs mapped to business metrics: Insights into how cloud spending affectskey performance indicators (KPIs), to enable teams to identify cost-effectivestrategies.

Every individual might not need access to raw cost data. However, promoting costawareness across all roles is crucial because individual decisions can affectcosts.

By promoting cost visibility and ensuring clear ownership of cost managementpractices, you ensure that everyone is aware of the financial implications oftheir choices and everyone actively contributes to the organization's costoptimization goals. Whether through a centralized FinOps team or a distributedmodel, establishing accountability is crucial for effective cost optimizationefforts.

Recommendations

To promote cost awareness and ensure that your team members have the costinformation that they need to make informed decisions, consider the followingrecommendations.

Provide organization-wide cost visibility

To achieve organization-wide cost visibility, the teams that are responsible forcost management can take the following actions:

  • Standardize cost calculation and budgeting: Use a consistent method todetermine the full costs of cloud resources, after factoring in discounts andshared costs. Establish clear and standardized budgeting processes that alignwith your organization's goals and enable proactive cost management.
  • Use standardized cost management and visibility tools: Use appropriatetools that provide real-time insights into cloud spending and generateregular (for example, weekly) cost progression snapshots. These tools enableproactive budgeting, forecasting, and identification of optimizationopportunities. The tools could be cloud provider tools(like theGoogle Cloud Billing dashboard),third-party solutions, or open-source solutions like theCost Attribution solution.
  • Implement a cost allocation system: Allocate a portion of the overallcloud budget to each team or project. Such an allocation gives the teams asense of ownership over cloud spending and encourages them to makecost-effective decisions within their allocated budget.
  • Promote transparency: Encourage teams to discuss cost implications duringthe design and decision-making processes. Create a safe and supportiveenvironment for sharing ideas and concerns related to cost optimization.Some organizations use positive reinforcement mechanisms like leaderboardsor recognition programs. If your organization has restrictions on sharingraw cost data due to business concerns, explore alternative approaches forsharing cost information and insights. For example, consider sharingaggregated metrics (like the total cost for an environment or feature) orrelative metrics (like the average cost per transaction or user).

Understand how cloud resources are billed

Pricing for Google Cloud resources might vary acrossregions.Some resources are billed monthly at a fixed price, and others might be billedbased on usage.To understand how Google Cloud resources are billed, use theGoogle Cloud pricing calculator and product-specific pricing information (for example,Google Kubernetes Engine (GKE) pricing).

Understand resource-based cost optimization options

For each type of cloud resource that you plan to use, explore strategies tooptimize utilization and efficiency. The strategies include rightsizing,autoscaling, and adopting serverless technologies where appropriate. The followingare examples of cost optimization options for a few Google Cloud products:

  • Cloud Run lets you configurealways-allocated CPUs to handle predictable traffic loads at a fraction of the price of the defaultallocation method (that is, CPUs allocated only during request processing).
  • You can purchaseBigQuery slot commitments to save money on data analysis.
  • GKE provides detailed metrics to help you understand cost optimization options.
  • Understand hownetwork pricing can affect the cost of data transfers and how you can optimize costs forspecific networking services. For example, you can reduce the data transfercosts for external Application Load Balancers by using Cloud CDN or Google Cloud Armor.For more information, seeWays to lower external Application Load Balancer costs.

Understand discount-based cost optimization options

Familiarize yourself with the discount programs that Google Cloud offers,such as the following examples:

  • Committed use discounts (CUDs):CUDs are suitable for resources that have predictable and steady usage. CUDslet you get significant reductions in price in exchange for committing tospecific resource usage over a period (typically one to three years). Youcan also useCUD auto-renewal to avoid having to manually repurchase commitments when they expire.
  • Sustained use discounts:For certain Google Cloud products like Compute Engine andGKE, you can get automatic discount credits aftercontinuous resource usage beyond specific duration thresholds.
  • Spot VMs:For fault-tolerant and flexible workloads, Spot VMs can help toreduce your Compute Engine costs. The cost of Spot VMs issignificantly lower than regular VMs. However, Compute Engine mightpreemptively stop or delete Spot VMs to reclaim capacity.Spot VMs are suitable for batch jobs that can tolerate preemptionand don't have high availability requirements.
  • Discounts for specific product options: Some managed services likeBigQuery offerdiscounts when you purchase dedicated or autoscaling query processing capacity.

Evaluate and choose the discounts options that align with your workloadcharacteristics and usage patterns.

Incorporate cost estimates into architecture blueprints

Encourage teams to develop architecture blueprints that include cost estimatesfor different deployment options and configurations. This practice empowers teamsto compare costs proactively and make informed decisions that align with bothtechnical and financial objectives.

Use a consistent and standard set of labels for all your resources

You can uselabels to track costs and to identify and classify resources. Specifically, you can uselabels to allocate costs to different projects, departments, or cost centers.Defining aformal labeling policy that aligns with the needs of the main stakeholders in your organization helpsto make costs visible more widely. You can also use labels to filter resourcecost and usage data based on target audience.

Use automation tools like Terraform to enforce labeling on every resource thatis created. To enhance cost visibility and attribution further, you can use thetools provided by the open-sourcecost attribution solution.

Share cost reports with team members

By sharing cost reports with your team members, you empower them to takeownership of their cloud spending. This practice enables cost-effective decisionmaking, continuous cost optimization, and systematic improvements to your costallocation model.

Cost reports can be of several types, including the following:

  • Periodic cost reports: Regular reports inform teams about their currentcloud spending. Conventionally, these reports might be spreadsheet exports.More effective methods include automated emails and specialized dashboards.To ensure that cost reports provide relevant and actionable information without overwhelming recipients with unnecessary detail, the reports must be tailored to the target audiences. Setting up tailored reports is a foundational step toward more real-time and interactive cost visibility and management.
  • Automated notifications: You can configure cost reports to proactivelynotify relevant stakeholders (for example, through email or chat) about costanomalies, budget thresholds, or opportunities for cost optimization. Byproviding timely information directly to those who can act on it, automatedalerts encourage prompt action and foster a proactive approach to costoptimization.
  • Google Cloud dashboards: You can use thebuilt-in billing dashboards in Google Cloud to get insights into cost breakdowns and to identifyopportunities for cost optimization. Google Cloud also providesFinOps hub to help you monitor savings and get recommendations for cost optimization.An AI engine powers the FinOps hub to recommend cost optimizationopportunities for all the resources that are currently deployed. To controlaccess to these recommendations, you can implement role-based access control(RBAC).
  • Custom dashboards: You can create custom dashboards by exporting costdata to an analytics database, likeBigQuery.Use a visualization tool likeLooker Studio to connect to the analytics database to build interactive reports and enablefine-grained access control through role-based permissions.
  • Multicloud cost reports: For multicloud deployments, you need aunified view of costs across all the cloud providers to ensure comprehensiveanalysis, budgeting, and optimization. Use tools like BigQueryto centralize and analyze cost data from multiple cloud providers, and useLooker Studio to build team-specific interactive reports.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-09-25 UTC.