Take the State of FinOps 2025 Survey
FinOps Foundation Insights

FOCUS Sandbox and sample data available now

December 11, 2024

Key Insight: To support the adoption of FOCUS™, the FinOps Foundation has augmented the Use Case Library with the introduction of the FOCUS Sandbox. FinOps Practitioners can use this sandbox to run SQL queries on actual (anonymized) FOCUS billing data to gain a clear understanding of what FOCUS data looks like, and the real-world insights it yields. This understanding should help Practitioners realize how FOCUS makes it easier to get insights out of their own data.


What is FOCUS?

The FinOps Open Cost and Usage Specification (FOCUS™) is an open-source technical specification for cloud cost and usage billing data. In plain language, it is the unifying format for cloud bills. FOCUS defines clear requirements for providers to generate billing files in a single format, eliminating the complexity of data normalization, enabling improved interoperability across team workflows, and making it easier for FinOps Practitioners to meet their objectives. The time previously spent on data ingestion and normalization can be redirected toward iteratively improving FinOps Capabilities to an appropriate maturity.

Why a FOCUS Sandbox?

Many FinOps Practitioners want to understand what FOCUS means for them, and are looking for guidance on how to get started. Creating a sandbox with real-world data helps Practitioners to see how having consistent and normalized FOCUS datasets simplifies FinOps practices. This article outlines our experience building the FOCUS Sandbox with real FOCUS datasets, and provides some key tips and links to get you started on your own FOCUS journey.

Check out the FOCUS Sandbox

Building the FOCUS Sandbox

Over the past few weeks, Mike Fuller and the team at the FinOps Foundation have been gathering real-world FOCUS datasets from major cloud service providers and bringing them together in the same way FinOps Practitioners have started doing within their own organizations.

We collected and anonymized real FinOps data for AWS, GCP, and OCI. Sample Microsoft data was obtained from their FinOps toolkit and merged with real data. The combined dataset was obtained via the following FOCUS versions:

Our goal was to experience first-hand what it is like to adopt FOCUS, and to provide a solution that enables Practitioners to better understand and demonstrate what FOCUS will look like in their environments as they plan for FOCUS adoption.

In his previous role at Atlassian, Mike managed cloud billing data from multiple cloud providers and found that consolidating and normalizing data from different sources was not a simple task. By comparison, our experience building the FOCUS Sandbox with FOCUS-formatted data was much more straight-forward. First, we downloaded FOCUS datasets from each of the cloud providers’ consoles. Then, we loaded each of them to a database linked to our FOCUS website. Mike found only minor edge cases to handle, as the schema for the core FOCUS Columns is consistent across the providers generating the billing file. Any issues we did face were resolved by referencing well-documented conformance reports, which are currently provided by Microsoft and AWS.

Bringing it all together

We faced only two minor issues after merging our multi-cloud FOCUS data, and here is how we resolved those issues:

1. Column Lengths

Setting column lengths long enough for the expected data is important to ensure we are not truncating the data so much that it is unreadable. FOCUS does not currently specify a maximum length for string columns, so we needed to determine an appropriate length for each column of data. We found the longest string in each column and used them as guides to come up with the following column lengths as a good starting point.

You may need to adjust these sizes for your FOCUS data:

Column Name Length Column Name Length
AvailabilityZone 50 PricingCategory 25
BillingAccountId 100 PricingUnit 100
BillingAccountName 100 ProviderName 100
BillingCurrency 5 PublisherName 100
ChargeCategory 25 RegionID 100
ChargeClass 25 RegionName 100
ChargeDescription 1024 ResourceId 1024
ChargeFrequency 50 ResourceName 1024
CommitmentDiscountCategory 25 ResourceType 255
CommitmentDiscountId 255 ServiceCategory 255
CommitmentDiscountName 255 ServiceName 255
CommitmentDiscountStatus 25 SkuId 255
CommitmentDiscountType 100 SkuPriceId 255
ConsumedUnit 100 SubAccountId 100
InvoiceIssuerName 50 SubAccountName 100

These values are unofficial guides that may need to be changed for your data. It is also possible that future versions of the FOCUS Specification define these values, or that providers/vendors may change their maximum lengths in the future.

2. Null support and null representations

The FOCUS Specification does allow some columns to have null values. However, if you find nulls, it is important to check conformance gap reports (currently provided by Microsoft and AWS), as we found that some of our data had null values, or values that represent nulls like empty strings (‘’), which needed to be corrected (i.e., set to a null) before loading data in.

Determining a storage location

After resolving these issues, we loaded our data into MySQL, which was useful for connecting it to our existing website assets, and worked well for our small sample set of FOCUS data. You should assess the size of your FOCUS datasets and identify which tools you will be using to interact with the data in order to determine the best location to house your data.

Adding common use cases

With our multi-cloud FOCUS data ready to query, all that was left to do was add some common use cases with SQL queries from our Use Case Library to the new FOCUS Sandbox so you can easily see the kind of results these queries generate on FOCUS datasets. This work continues, as we aim to include all use cases in the FOCUS Sandbox over time.

Using the FOCUS Sandbox

We are excited to share this new FOCUS Sandbox with you, and hope it helps illuminate how FOCUS can be helpful to you and your organization.

The Sandbox is easy to use:

  1. Choose a FinOps use case from the dropdown menu
  2. Select a date range within the month of September 2024
  3. Study the FOCUS SQL Query generated by the tool. Read the associated context for this query.
  4. Click Run Query
  5. Analyze the Data Output table

For graphical visualization, you might even consider asking Generative AI to make a chart of the data output!

Now look at your data!

While we see the FOCUS Sandbox as a useful resource in enabling you to explore FOCUS data, nothing is better than your own, real billing data from your cloud service providers. By turning on your FOCUS exports, you give an important signal to the cloud providers that FOCUS is helpful to your FinOps practice, and you would like to see them continue development to align with this Specification.

Download your data

Each of the major cloud service providers has created clear, step-by-step instructions enabling you to get FOCUS-formatted exports of your own billing data. The FOCUS website is your portal to current documentation from each provider:

​​Once configured, your FOCUS data is made available either in an Object Store, via an API, or stored in a Data Warehouse, depending on the cloud provider and your configuration.

Review the unified data to check for any issues, as described above.

Query your data

Now you can begin querying your own data using SQL queries available in the Use Case Library, or modify those queries for a related use case. Please share your new queries with the community via this form.

See how others are using FOCUS data

Several FinOps Practitioners have shared how they are using FOCUS data in their own workflows. We encourage you to learn from their efforts.

Pierre-Emmanuel Nuiry, Director of Cloud Financial Operations at STMicroelectronics, recommends establishing a FOCUS data flow in parallel with your existing process while you transition to its standardized language and metrics. Pierre-Emmanuel plans to transition to FOCUS as their primary data flow starting in January 2025. Watch his presentation at FinOps X 2024 in Barcelona.

Also in Barcelona, Neven Drljević and Julian Radu shared how the European Parliament is using FOCUS to unify data from different clouds for analysis by the European Commission for the European Parliament and other European Union organizations. Watch their presentation.

GitLab, Zoom, Citi, and The Australian Retirement Trust have also shared how they are using FOCUS today, and what they have learned on their own journeys.

Learn more about FOCUS

Get Trained and Certified

The FinOps Foundation has also made available Training and Certification in order to better prepare you for using FOCUS:

Join the FOCUS User Group

If you want to stay up-to-date on what is happening with the FOCUS Project, please join the FOCUS User Group. These weekly calls are available in three time zone regions, and are a great place to share your use-case needs, ask questions, and engage with fellow Practitioners.

We look forward to your feedback and participation!

Topics
  • FinOps Foundation Perspectives
Share

Related assets

FOCUS 1.1 Now Available. Adoption Continues for Practitioners and Vendors. Clouds announce FOCUS support and GenAI tools at FinOps X FinOps Tool Vendors Adopt FOCUS