top of page

How Google Cloud Platform Support FinOps

  • Writer: Anand Nerurkar
    Anand Nerurkar
  • Sep 22, 2023
  • 5 min read

FinOps, short for financial operations, is a management practice that promotes shared responsibility for an organization's cloud computing infrastructure and costs


It is the practice of using data and technology to optimize the cost and usage of cloud resources.


Principles

The FinOps community developed the principles by applying their collective experience, and helps you create a culture of shared accountability and transparency.

  • Teams need to collaborate – Build a common focus on cost efficiency, processes and cost decisions across teams that might not typically work closely together.

  • Everyone takes ownership – Decentralize decisions about cloud resource usage and optimization, and drive technical teams to consider cost as well as uptime and performance.

  • A centralized team drives FinOps – Centralize management of FinOps practices for consistency, automation, and rate negotiations.

  • FinOps reports should be accessible and timely – Provide clear usage and cost data quickly, to the right people, to enable prompt decisions and forecasting.

  • Decisions are driven by the business value of cloud – Balance cost decisions with business benefits including quality, speed, and business capability.

  • Take advantage of the variable cost model of the cloud – Make continuous small adjustments in cloud usage and optimization.

Stakeholders

FinOps requires a holistic and cross-functional approach that involves various stakeholders (or personas). They have different roles, responsibilities, and perspectives that influence how they use and optimize cloud resources and costs. Familiarize yourself with each role and identify the stakeholders within your organization. An effective FinOps program requires collaboration across all stakeholders:

  • Finance – Accurately budget, forecast, and report on cloud costs.

  • Leadership – Apply the strengths of the cloud to maximize business value.

  • Product owners – Launch new offerings at the right price.

  • Engineering teams – Deliver high quality, cost-effective services.

  • FinOps practitioners – Educate, standardize, and promote FinOps best practices.

Lifecycle

FinOps is an iterative, hierarchical process. Every team iterates through the FinOps lifecycle at their own pace, partnering with teams mentioned throughout all areas of the organization.

The FinOps Framework defines a simple lifecycle with three phases:

  • Inform – Deliver cost visibility and create shared accountability through allocation, benchmarking, budgeting, and forecasting.

  • Optimize – Reduce cloud waste and improve cloud efficiency by implementing various optimization strategies.

  • Operate – Define, track, and monitor key performance indicators and governance policies that align cloud and business objectives.

Capabilities

The FinOps Framework includes capabilities that cover everything from cost analysis and monitoring to optimization and organizational alignment, grouped into a set of related domains. Each capability defines a functional area of activity and a set of tasks to support your FinOps practice.

  • Understanding cloud usage and cost

    • Cost allocation

    • Data analysis and showback

    • Managing shared cost

    • Data ingestion and normalization

  • Performance tracking and benchmarking

    • Measuring unit costs

    • Forecasting

    • Budget management

  • Real-time decision making

    • Managing anomalies

    • Establishing a FinOps decision and accountability structure

  • Cloud rate optimization

    • Managing commitment-based discounts

  • Cloud usage optimization

    • Onboarding workloads

    • Resource utilization and efficiency

    • Workload management and automation

  • Organizational alignment

    • Establishing a FinOps culture

    • Chargeback and finance integration

    • FinOps education and enablement

    • Cloud policy and governance

    • FinOps and intersecting frameworks


GCP offers wide range of tools and services to achive FinOps objective. Please see below steps to get started with FinOps on GCP.


  1. Understand your cloud spend: The first step in FinOps is understanding your current cloud spend. GCP provides several tools to help you track and analyze your cloud costs, including the Cloud Billing and Cost Management console. This console allows you to view your costs by project, service, and usage, and also allows you to set up alerts and budgets to help you stay on top of your costs.

  2. Optimize resource usage: Once you have a good understanding of your cloud costs, the next step is to optimize your resource usage. GCP offers several services and features that can help you do this, including: 2.1 Reserving Instances: By reserving instances, you can save up to 57% on your compute costs. gcloud compute instances reserve [INSTANCE_NAME] --zone=[ZONE] 2.2 Autoscaling: Autoscaling allows you to automatically adjust the number of instances based on usage, ensuring that you always have the right number of instances running to meet your needs. gcloud compute instance-groups managed set-autoscaling [GROUP_NAME] --cool-down-period=60 --max-num-replicas=10 --min-num-replicas=1 --target-cpu-utilization=0.8 2.3 Right sizing the Instances: By selecting the appropriate instance type for your workloads, you can ensure that you are not overspending on resources. gcloud compute instances set-machine-type [INSTANCE_NAME] --machine-type=[MACHINE_TYPE] --zone=[ZONE]


3. Implement cost controls: To help you stay within your budget, GCP offers several cost controls that you can implement, including: Cost Management with Google Cloud Playlist - 3.1 Budgets and alerts: You can set up budgets and alerts to notify you when you are approaching or exceeding your budget. gcloud alpha billing budgets create --amount=100 --currency=USD --start-time=2021-01-01 --end-time=2021-12-31 --display-name=my-budget

3.2 Cost allocation tags: You can use cost allocation tags to assign costs to specific projects or departments. gcloud compute instances add-metadata [INSTANCE_NAME] --metadata=cost-center=finance 3.3 Usage metering and quotas: You can use usage metering and quotas to limit the number of resources that can be used by specific projects or departments. gcloud compute project-info add-metadata --metadata=quota=cpu=20


4. Automate and integrate with existing tools: It’s a key aspect that involves using GCP’s APIs and other automation tools to integrate your cloud usage and cost data with your existing systems and tools. This allows you to streamline your FinOps efforts and make more informed decisions. Organizing GCP resources YouTube playlist - 4.1 Cloud Billing API: It allows to programmatically access billing data and integrate it with your existing systems. You can use the API to retrieve billing data for a specific project, create and manage billing accounts, and more. To access your billing data via the API, you can use the following command: gcloud alpha billing accounts get-iam-policy [Billing-ACCOUNT_ID] 4.2 Cloud Cost Management API: It allows to programmatically access cost data and integrate it with your existing systems. You can use the API to retrieve cost data for a specific project, create and manage budgets, and more. To access your cost data via the API, you can use the following command: gcloud billing budgets list 4.3 Cloud Asset Inventory API: It allows to programmatically access asset data and integrate it with your existing systems. You can use the API to retrieve information about your GCP resources, such as instances, disks, and firewall rules. To access your asset data via the API, you can use the following command: gcloud asset search-all-resources --query='resource.type:compute.v1.instance' By automating and integrating with your existing tools, you can better manage cloud costs and optimize resource usage. With GCP’s APIs and automation tools, one can easily retrieve, analyze, and act on cloud usage and cost data, giving greater visibility and control over your cloud spend.


5. Continuously monitor and optimize: FinOps is not a one-time effort, it’s a continuous process of monitoring and optimizing your costs. GCP provides several tools and services to help you continuously monitor and optimize your costs. 5.1 Cloud Monitoring and Cloud Logging: It allows you to monitor and analyze your cloud resources in real-time, providing you with the data you need to make informed decisions about your resource usage. You can use the command line tool to list all the available metrics for a specific service. gcloud beta monitoring metrics-scopes list 5.2 Cost optimization recommendations: GCP also provides cost optimization recommendations which can be viewed in the Cost Optimization section of the Cloud Console. These recommendations can help you identify cost-saving opportunities and improve your resource usage. You can use the command line tool to list the cost optimization recommendations. gcloud recommender recommendations list By continuously monitoring and optimizing your cloud usage and costs, you can ensure that you are getting the most out of your GCP investment. With GCP’s tools and services, you can easily track your resource usage and costs, identify areas for improvement, and make adjustments as needed to optimize your cloud spend.


Summary In conclusion, FinOps on GCP is a powerful way to optimize your cloud costs and usage. By understanding your cloud spend, optimizing your resource usage, implementing cost controls, automating and integrating with your existing tools, and continuously monitoring and optimizing, you can ensure that you are getting the most out of your GCP investment.





 
 
 

Recent Posts

See All

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
  • Facebook
  • Twitter
  • LinkedIn

©2024 by AeeroTech. Proudly created with Wix.com

bottom of page