Qué vas a conseguir
Una nube en la que cada euro tiene dueño: presupuestos que avisan antes de que el gasto se pase, cada recurso etiquetado con su centro de coste, un informe mensual por equipo que se puede enseñar (showback) o facturar (chargeback), compromisos de uso comprados con datos y no con intuición, y los datos de coste exportados en un formato abierto para cruzarlos con lo demás. Y el método para la reunión que nadie quiere: "la factura de Azure ha subido un 40 % este mes, ¿qué ha pasado?".
Antes de empezar
- Saber qué contrato tiene la organización con Microsoft: Enterprise Agreement (EA), Microsoft Customer Agreement (MCA) o a través de un partner (CSP). Cambia los ámbitos de facturación y quién puede ver qué.
- Rol de Cost Management Reader (o Contributor para crear presupuestos y exportaciones) en las suscripciones, y un rol de facturación si vas a ver el contrato entero.
- Una cuenta de almacenamiento para las exportaciones, en una suscripción de plataforma.
- La lista de centros de coste y de responsables de cada aplicación, que te dará Finanzas. Sin ella, las etiquetas son nombres inventados.
1. Ámbitos: dónde se mira cada coste
Cost Management muestra los costes del ámbito que eliges arriba a la izquierda:
- Ámbitos de facturación: la cuenta de facturación y, según el contrato, departamentos y cuentas de inscripción (EA) o perfiles de facturación y secciones de factura (MCA). Es donde se ven las compras: reservas, planes de ahorro, Marketplace.
- Ámbitos de Azure RBAC: grupos de administración, suscripciones y grupos de recursos. Es donde trabaja cada equipo, y donde se dan permisos con roles normales de Azure.
Un diseño que funciona: un grupo de administración por área (Plataforma, Aplicaciones de negocio, Datos), las suscripciones de producción y no producción separadas, y Finanzas con lectura en el ámbito de facturación. Cada responsable ve su suscripción y nada más.
2. Presupuestos y alertas
Un presupuesto no para nada: avisa. Se crea en el ámbito que quieras vigilar con un importe, un periodo (mensual, trimestral o anual) y umbrales sobre el coste real o el previsto.
- La alerta sobre el previsto es la útil: avisa el día 10 de que, a este ritmo, el mes acabará en 20.000 €, cuando todavía se puede hacer algo.
- Además de los presupuestos, crea una alerta de anomalías en cada suscripción importante (Cost alerts › Anomaly alert): avisa de un cambio brusco en el gasto diario sin que tengas que fijar un importe.
- Un action group puede lanzar un runbook o una aplicación lógica que, en un entorno de pruebas, apague máquinas al llegar al 100 %. En producción, no: ahí solo se avisa.
3. Etiquetas: showback y chargeback
Sin etiquetas, el coste se reparte por suscripción y grupo de recursos y no hay más. Con ellas, por lo que quiera Finanzas. Un juego mínimo:
| Etiqueta | Ejemplo | Para qué |
|---|---|---|
CentroCoste | CC-4120 | El chargeback: a qué presupuesto va |
Aplicacion | crm-ventas | Agrupar todo lo de una aplicación aunque esté en varios grupos de recursos |
Entorno | prod, pre, dev | Separar lo que se puede apagar de noche |
Responsable | equipo-crm | A quién se le pregunta |
Para que existan de verdad:
- Azure Policy: Require a tag on resource groups en los grupos de recursos, e Inherit a tag from the resource group if missing para que los recursos la hereden.
- Herencia de etiquetas en Cost Management (Settings › Tag inheritance, en EA y MCA): aplica las etiquetas de la suscripción y del grupo de recursos a los registros de coste, incluso de recursos que no admiten etiquetas.
- Reglas de asignación de costes para lo compartido (la red central, el firewall, Log Analytics de plataforma): se reparte entre los centros de coste por un porcentaje o en proporción a su gasto.
az graph query -q "Resources | where isnull(tags['CentroCoste']) | summarize total=count() by resourceGroup, subscriptionId | order by total desc" --first 20Showback es enseñar a cada área lo que gasta; chargeback, cargárselo en su presupuesto. Se empieza siempre por el primero, unos meses, hasta que las cifras se aceptan. Facturar con un 30 % de coste sin etiquetar solo genera discusiones.
4. Análisis de costes
En Cost analysis, las vistas que más se usan:
- Daily costs agrupado por Service name: un pico se ve como una columna que destaca.
- Cost by resource: los recursos más caros del ámbito, con su tipo y grupo de recursos.
- Group by › Tag › CentroCoste: el informe de showback en un clic, que se guarda como vista y se programa por correo.
- Actual cost frente a Amortized cost: en el real, una reserva anual pagada por adelantado aparece entera el mes de la compra; en el amortizado, repartida por días entre los recursos que la usan. Para showback, siempre amortizado.
5. Ajustar tamaño con Advisor
Advisor › Cost propone apagar o reducir máquinas virtuales infrautilizadas, quitar discos e IP públicas sin asociar, y comprar reservas. En la configuración de Advisor se ajusta el umbral de CPU y el periodo que mira para las recomendaciones de máquinas virtuales.
- Antes de reducir una máquina, mira la memoria y los picos, no solo la media de CPU: un servidor de informes que trabaja el día 1 de cada mes parece ocioso los otros 29.
- Los discos sin asociar y las instantáneas antiguas son el ahorro sin riesgo: se revisan cada mes.
- Los entornos de desarrollo con apagado automático fuera de horario ahorran más que cualquier reserva.
6. Reservas o plan de ahorro
| Reserva | Plan de ahorro para proceso | |
|---|---|---|
| Compromiso | Un tipo de recurso concreto (familia de VM, región) durante 1 o 3 años | Un importe por hora en proceso durante 1 o 3 años |
| Flexibilidad | Dentro de la familia y región (flexibilidad de tamaño); se puede cambiar o devolver con límites | Cualquier familia, región y servicios de proceso compatibles |
| Descuento | El mayor | Algo menor |
| Cuándo | Cargas estables que no van a cambiar: controladores de dominio, bases de datos, la VDI de la oficina | Cargas que cambian de tamaño o de región, o una mezcla de servicios |
- Primero se ajusta el tamaño, después se compra: reservar una máquina que sobra la deja sobrando tres años.
- Se aplica primero la reserva y después el plan de ahorro; muchas organizaciones combinan reservas para la base fija y un plan de ahorro para el resto.
- El ámbito de la reserva (compartido, una suscripción, un grupo de recursos o un grupo de administración) decide quién se beneficia. Compartido aprovecha mejor la compra; para chargeback, el coste amortizado la reparte entre quien la usa.
- Se mira la utilización de cada reserva cada mes en Reservations: una reserva al 40 % es dinero que se paga por nada.
7. Exportar en FOCUS
FOCUS (FinOps Open Cost and Usage Specification) es un esquema abierto de datos de coste: las mismas columnas para Azure, AWS u otros, con el coste facturado y el efectivo (amortizado) en el mismo fichero.
Columnas como BilledCost, EffectiveCost, ServiceName, ResourceName, RegionName, SubAccountName y Tags dejan hacer el showback en Power BI o en Fabric sin traducir el formato de cada proveedor. La exportación FOCUS no admite el ámbito de grupo de administración: en EA se hace en la cuenta de facturación o en cada suscripción.
8. El ticket: "la factura ha subido un 40 % este mes"
Se busca en este orden, de lo más fácil de confirmar a lo más difícil:
- ¿Es una compra? Cambia la vista a Actual cost y filtra por Charge type = Purchase. Una reserva de tres años o una licencia de Marketplace aparece entera en un mes. Si es eso, en amortizado no hay subida y la conversación termina.
- ¿Qué servicio ha subido? Daily costs agrupado por servicio, este mes frente al anterior. Los sospechosos habituales: Log Analytics (alguien activó registros de diagnóstico detallados), Bandwidth (salida de datos a internet o entre regiones), Virtual Machines (una máquina nueva o más grande), Microsoft Defender for Cloud (un plan activado en todas las suscripciones), Backup y Storage (instantáneas que nadie borra).
- ¿Qué recurso, y desde qué día? Filtra por ese servicio y agrupa por recurso: la columna del día en que empezó señala el cambio.
- ¿Quién y por qué? El registro de actividad del recurso dice quién lo creó o lo cambió de tamaño ese día. Con eso se habla con el responsable, no con toda la empresa.
az rest --method post --url "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query?api-version=2023-03-01" --body @consulta.json --query "properties.rows" -o table# consulta.json:# {"type":"AmortizedCost","timeframe":"Custom","timePeriod":{"from":"2026-09-01","to":"2026-09-30"},# "dataset":{"granularity":"None","aggregation":{"total":{"name":"Cost","function":"Sum"}},# "grouping":[{"type":"Dimension","name":"ServiceName"}]}}az monitor activity-log list --resource-group rg-crm-prod --start-time 2026-09-12 --query "[?contains(operationName.value,'write')].{quien:caller,que:operationName.value,cuando:eventTimestamp}" -o tableLa respuesta que se lleva a la reunión: cuánto subió, por qué (una frase), quién lo decidió, si es puntual o se queda, y qué se hace (borrarlo, reducir la retención de registros, mover la salida de datos, reservar si es permanente). Y una alerta de anomalía o un presupuesto nuevo para que el siguiente se vea en dos días y no a fin de mes.
No borres un recurso caro solo porque nadie responde en una hora. Etiquétalo, avisa al responsable de la suscripción y apágalo (no lo borres) si el coste lo justifica: una máquina detenida y desasignada deja de costar en proceso; los discos se siguen pagando.
Siguientes pasos
- Azure Monitor y Log Analytics: la retención y las tablas que más ingieren son, muchas veces, la primera línea de la factura que nadie mira.
- Terraform: las etiquetas se ponen en el código y las revisa el pipeline antes de crear nada; es más barato que perseguirlas después.
- Juntar Azure y AWS en un solo informe por centro de coste es lo que permite FOCUS. Es la idea del repositorio 01-finops-cloud-cost-dashboard de mi GitHub.
¿Falta algo o en tu entorno es distinto? Escríbeme y lo corrijo.
Tech Career Lab · newsletter
¿Te ha servido? Cada dos semanas envío una idea práctica para perfiles IT: LinkedIn, proyectos, networking y procesos de selección.
Apúntate y llévate las 33 ideas →