Publicado a

FOCUS explicado

O FOCUS é a norma aberta que dá à faturação de todos os fornecedores as mesmas colunas e o mesmo significado. O que resolve, o que não resolve e porque convém adotá-lo desde o início.

Linha de serviço Engenharia FinOps

O problema que resolve

Cada fornecedor cloud entrega a sua faturação com o seu próprio formato: nomes de coluna diferentes, unidades diferentes, formas diferentes de representar descontos e compromissos. Quem trabalha com mais de um fornecedor acaba por manter uma tradução para cada um, e cada tradução é um sítio por onde entram erros.

O FOCUS (FinOps Open Cost and Usage Specification) é uma especificação aberta, promovida pela FinOps Foundation, que define um formato comum para os dados de custo e utilização: que colunas existem, o que significa cada uma e que valores podem assumir. Os grandes fornecedores já oferecem exportações em FOCUS ou estão a incorporá-las, e a especificação evolui por versões.

As colunas que importam para começar

Não é preciso conhecê-las todas. Com meia dúzia responde-se à maioria das perguntas:

Correspondência de colunas para FOCUSO nome de coluna da AWS, Azure e GCP para custo, data, serviço e conta, e a coluna FOCUS equivalente.FINOPS · NORMA FOCUSCada fornecedor usa outro nomeQUANTO CUSTOUAWSlineItem/UnblendedCostAzureCostInBillingCurrencyGCPcostBilledCostQUANDOAWSlineItem/UsageStartDateAzureDateGCPusage_start_timeChargePeriodStartQUE SERVIÇOAWSlineItem/ProductCodeAzureMeterCategoryGCPservice.descriptionServiceNameDE QUE CONTAAWSlineItem/UsageAccountIdAzureSubscriptionIdGCPproject.idSubAccountIdCorrespondência simplificada: a exata depende da versão do FOCUSe do tipo de exportação de cada fornecedor.N100F · n100f.com

  • O que se consumiu: o serviço e a sua categoria (ServiceName, ServiceCategory), o tipo de encargo (ChargeCategory: utilização, compra, imposto, crédito, ajuste) e o período (ChargePeriodStart).
  • Quanto custou: as quatro leituras do custo (ListCost, ContractedCost, BilledCost, EffectiveCost) e as quantidades consumidas.
  • De quem é: a conta ou subconta (SubAccountId), as etiquetas (Tags) e a relação com compromissos (CommitmentDiscountId).

Os nomes exatos podem variar entre versões da especificação. Por isso, convém fixar a versão com que se trabalha e revê-la quando mudar.

O que resolve e o que não resolve

Resolve: que uma consulta escrita uma vez funcione para todos os fornecedores; que «custo efetivo» signifique o mesmo na AWS, na Azure ou na GCP; que somar e comparar deixe de ser um exercício de tradução.

Não resolve:

  • A qualidade do dado de origem. Se a exportação trouxer linhas duplicadas ou compromissos mal refletidos, o FOCUS trá-los igual.
  • A atribuição. O FOCUS diz de que conta e com que etiquetas vem cada custo, mas não a que equipa ou produto pertence se as etiquetas faltarem.
  • As particularidades de cada fornecedor. Há informação que não cabe nas colunas normalizadas; a especificação permite colunas próprias, que é preciso tratar à parte.

Adotá-lo desde o início

A recomendação prática é usar o FOCUS como formato de trabalho interno desde o primeiro dia, mesmo que só se tenha um fornecedor. Se amanhã se juntar outro, não é preciso refazer nada: basta acrescentar mais uma tradução para o mesmo formato.

O FOCUS é a camada central, mas não é a única. Para ir do dado em bruto ao dado que serve para decidir são precisas mais camadas. É esse o próximo artigo.


Como o aplicamos: Engenharia FinOps.

Se o seu custo cloud cresce sem que ninguém saiba porquê, ou a sua arquitetura depende de quem a montou, falemos.

Falemos