Publicado el

FOCUS explicado

FOCUS es el estándar abierto que da a la facturación de todos los proveedores las mismas columnas y el mismo significado. Qué resuelve, qué no, y por qué conviene adoptarlo desde el principio.

Línea de servicio Ingeniería FinOps

El problema que resuelve

Cada proveedor cloud entrega su facturación con su propio formato: nombres de columna distintos, unidades distintas, formas distintas de representar descuentos y compromisos. Quien trabaja con más de un proveedor termina manteniendo una traducción por cada uno, y cada traducción es un lugar donde se cuelan errores.

FOCUS (FinOps Open Cost and Usage Specification) es una especificación abierta, impulsada por la FinOps Foundation, que define un formato común para los datos de costo y uso: qué columnas existen, qué significa cada una y qué valores pueden tomar. Los grandes proveedores ya ofrecen exportaciones en FOCUS o están incorporándolas, y la especificación evoluciona por versiones.

Qué columnas importan para empezar

No hace falta conocerlas todas. Con un puñado se responde la mayoría de las preguntas:

Correspondencia de columnas hacia FOCUSEl nombre de columna de AWS, Azure y GCP para costo, fecha, servicio y cuenta, y su columna FOCUS equivalente.FINOPS · ESTÁNDAR FOCUSCada proveedor lo llama distintoCUÁNTO COSTÓAWSlineItem/UnblendedCostAzureCostInBillingCurrencyGCPcostBilledCostCUÁNDOAWSlineItem/UsageStartDateAzureDateGCPusage_start_timeChargePeriodStartQUÉ SERVICIOAWSlineItem/ProductCodeAzureMeterCategoryGCPservice.descriptionServiceNameDE QUÉ CUENTAAWSlineItem/UsageAccountIdAzureSubscriptionIdGCPproject.idSubAccountIdCorrespondencia simplificada: la exacta depende de la versión de FOCUSy del tipo de exportación de cada proveedor.N100F · n100f.com

  • Qué se consumió: el servicio y su categoría (ServiceName, ServiceCategory), el tipo de cargo (ChargeCategory: uso, compra, impuesto, crédito, ajuste) y el período (ChargePeriodStart).
  • Cuánto costó: las cuatro lecturas del costo (ListCost, ContractedCost, BilledCost, EffectiveCost) y las cantidades consumidas.
  • De quién es: la cuenta o subcuenta (SubAccountId), las etiquetas (Tags) y la relación con compromisos (CommitmentDiscountId).

Los nombres exactos pueden variar entre versiones de la especificación. Por eso conviene fijar con qué versión se trabaja y revisarla cuando cambie.

Qué resuelve y qué no

Resuelve: que una consulta escrita una vez funcione para todos los proveedores; que "costo efectivo" signifique lo mismo en AWS que en Azure o GCP; que sumar y comparar deje de ser un ejercicio de traducción.

No resuelve:

  • La calidad del dato de origen. Si la exportación trae filas duplicadas o compromisos mal reflejados, FOCUS las trae igual.
  • La asignación. FOCUS dice de qué cuenta y con qué etiquetas viene cada costo, pero no a qué equipo o producto pertenece si las etiquetas faltan.
  • Las particularidades de cada proveedor. Hay información que no cabe en las columnas estándar; la especificación permite columnas propias, que hay que tratar aparte.

Adoptarlo desde el principio

La recomendación práctica es usar FOCUS como formato de trabajo interno desde el primer día, aunque solo se tenga un proveedor. Si mañana se suma otro, no hay que rehacer nada: solo se agrega una traducción más hacia el mismo formato.

FOCUS es la capa central, pero no la única. Para llegar del dato crudo al dato que sirve para decidir hacen falta varias capas más. Eso es el siguiente artículo.


Cómo lo aplicamos: Ingeniería FinOps.

Si tu costo cloud crece sin que nadie sepa por qué, o tu arquitectura depende de quien la montó, conversemos.

Conversemos