avatar Artículo
🇬🇧 🇪🇸

FinOps en AWS: de la teoría a la práctica (con servicios nativos, mi herramienta serverless y una certificación como excusa)

FinOps en AWS: de la teoría a la práctica (con servicios nativos, mi herramienta serverless y una certificación como excusa)

Me he metido a fondo en FinOps por un motivo muy simple: quería aplicarlo de verdad en mis cuentas AWS y en mi forma de trabajar. FinOps está de moda, o lo estuvo… y yo lo tenía pendiente. Y era el momento.

¿Y dónde puedo buscar información de FinOps?

En la Fundación FinOps. Tienen mucho material, incluyendo cursos (este de introducción es gratuito) y certificaciones.

La certificación de FinOps Certified Practitioner (FOCP) me ha servido como excusa para revisar lo que yo quería, la aplicabilidad en AWS, y poner orden en mi cabeza de una vez.

Certificación FinOps Certified Practitioner

En este artículo quiero centrarme en lo importante:

  • qué es FinOps (y por qué funciona)
  • cómo encaja con AWS (y qué tienes ya en AWS)
  • mi herramienta serverless de FinOps, disponible en GitHub
  • y al final, qué me aportó la certificación (FOCP) y en qué consiste

El problema real: gastar sin contexto

En cloud, el gasto crece por dos razones: (1) porque escalas y/o (2) porque te equivocas. La primera es buena. La segunda, si no la detectas a tiempo, duele.

El problema no suele ser “me gasto mucho”, sino:

  • no sé en qué se me va el gasto (drivers)
  • no sé quién es el responsable (ownership) de ese gasto
  • no sé qué valor me está devolviendo (impacto)
  • no lo revisa nadie (operación)

Y si no hay ownership, no hay conversación. Solo hay sustos.


Qué es FinOps

La FinOps Foundation define FinOps como un framework operativo y una práctica cultural que maximiza el valor de negocio del cloud, habilita decisiones basadas en datos y crea responsabilidad financiera mediante la colaboración entre los equipos de ingeniería, finanzas y negocio.

Para mí, FinOps es poner orden al gasto en el cloud: ownership por proyecto, datos a tiempo y hábitos de revisión.

No es solo ahorrar. Es saber:

  • qué estás pagando
  • quién lo está usando
  • qué valor te da

y convertirlo en hábitos (revisiones, alertas, responsabilidad y decisiones).


El modelo FinOps por dentro: framework, principios y dominios

Si tienes tiempo, te recomiendo revisar la web de la Fundación FinOps. Contiene mucha información de utilidad y un curso gratuito que te explica todos los conceptos básicos que tienes que conocer.

Pero si quieres una imagen que resuma lo más importante, aquí la tienes:

FinOps Framework (poster)

Este es el framework de FinOps, y es el resumen de todo lo que importa. Contiene los principios, las personas core y sus aliados, y los dominios.

Los 6 principios de FinOps

Son simples, pero si faltan, FinOps se convierte en “un reporte más”:

  1. Los equipos necesitan colaborar
  2. El valor de negocio guía decisiones tecnológicas
  3. Cada equipo asume ownership de su uso tecnológico
  4. Los datos FinOps deben ser accesibles, precisos y a tiempo
  5. FinOps debe habilitarse de forma central (para consistencia y escala)
  6. Aprovecha el modelo de coste variable del cloud

Si tuviera que elegir lo mínimo, sería:

  • definir ownership por proyecto
  • tener datos a tiempo
  • crear un hábito de revisión

Los tienes aquí.

Los dominios

El framework lo resume en 4 dominios. Estos son los resultados que buscas.

  • Entender el uso y el coste: recopilar y normalizar los datos de uso y gasto, definir cómo se asignan (por ejemplo por proyecto) y hacerlos accesibles para todos. Las capacidades son:
    • Ingestión de datos
    • Asignación
    • Informes y análisis
    • Gestión de anomalías
  • Cuantificar el valor de negocio: conectar el gasto con resultados, presupuestos, previsiones y KPIs para saber si “merece la pena”. Las capacidades son:
    • Planificación y estimación
    • Pronóstico
    • Presupuesto
    • Evaluación comparativa
    • Economía unitaria
  • Optimizar el uso y el coste: reducir desperdicio, elegir mejor modelo de compra y diseñar/operar sistemas de forma eficiente. Las capacidades son:
    • Arquitectura para la nube
    • Optimización de las tarifas
    • Optimización de la carga de trabajo
    • Sostenibilidad de la nube
    • Licencias y SaaS
  • Operar la práctica FinOps: convertirlo en una rutina que mejora con el tiempo (personas, procesos y gobernanza). Las capacidades son:
    • Operaciones de práctica de FinOps
    • Política y gobernanza
    • Evaluación de FinOps
    • Herramientas y servicios de FinOps
    • Educación y capacitación en FinOps
    • Facturación y contracargos
    • Cargas de trabajo de incorporación
    • Disciplinas relacionadas

Aquí tienes los dominios, y aquí las capacidades.

Los equipos en FinOps

FinOps no es un equipo aparte que hace magia.

No quiero extenderme en este punto, pero se habla de dos categorías, el equipo principal y los aliados. Esta imagen creo que lo explica bien:

FinOps personas

Pero si quieres más información, la tienes aquí.


FinOps en AWS: el mapa rápido (en 1 minuto)

Ahora, aterricemos esto en AWS, que es lo que me interesa a mí.

La fundación FinOps habla de un ciclo de tres fases: Informar, Optimizar y Operar. No son etapas que haces una vez; se repiten de forma iterativa.

Fases de FinOps: Informar, Optimizar y Operar

Informar

Objetivo: saber qué se gasta, por quién y por qué, con datos consistentes, es decir, tener visibilidad y asignación de gastos.

En AWS, puedes usar:

  • Cost Explorer para análisis
  • tags y cost allocation tags para agrupar gastos
  • Cost Categories para mapear gasto a un equipo
  • Budgets y Anomaly Detection para recibir alertas antes de que sea tarde
  • si quieres detalle fino: CUR (Cost and Usage Report) y analítica (Athena/QuickSight)

Optimizar

Objetivo: reducir coste sin perder valor. Normalmente por dos vías: usar mejor (menos desperdicio) y pagar mejor (modelo de compra).

En AWS, puedes usar:

  • Cost Optimization Hub, Trusted Advisor y Compute Optimizer para obtener recomendaciones de optimización de costes
  • dashboards avanzados tipo CID (Cloud Intelligence Dashboards) si necesitas análisis y reporting más completo

Optimizar no es solo “apagar cosas”. También es rightsizing, elegir mejor modelo de compra, modernizar y mejorar arquitectura.

Operar

Objetivo: que no sea algo puntual, sino que se mantenga con una pequeña rutina. Es decir, tener gobernanza, controles y rutina.

En AWS, puedes usar:

  • Budgets + alertas
  • gobernanza de tags (Tag Policies, Config rules, controles)
  • trazabilidad (CloudTrail/CloudWatch) si quieres auditar cambios

Mi herramienta para operar FinOps en AWS: aws-finops-toolkit

AWS ya trae casi todas las piezas para hacer FinOps. Lo que a mí me faltaba era convertirlo en algo automático (y rutinario).

El proyecto es open-source, serverless, y está disponible en GitHub: https://github.com/alazaroc/aws-finops-toolkit

Por qué la construí

Mi contexto era muy común:

  • ya tenía tagging
  • ya tenía budgets
  • pero me faltaba entender los gastos por proyecto de forma sencilla y repetible, sin esfuerzo

No quería otro dashboard: quería datos claros por proyecto, que me llegaran solos y me obligaran a actuar.

Así que construí aws-finops-toolkit: un toolkit serverless para automatizar visibilidad, gobernanza y reportes.

Qué incluye

Tiene 6 funcionalidades principales:

1) Creación de Budgets para recibir alertas de gasto 2) finops-cost-analyzer: análisis de coste del mes actual, configurable por etiqueta / región / servicio 3) finops-tag-inventory: inventario de recursos por región y etiquetas; detecta etiquetas similares a las obligatorias 4) finops-compliance-checker: auditoría de tags obligatorios (configurable) y resumen de tags más usados 5) finops-optimization-insights: consolida recomendaciones de optimización en un reporte mensual 6) finops-historical-cost-analyzer: análisis de coste histórico y comparativas con meses anteriores

Para las funciones 2, 3, 4 y 5 se envía un reporte HTML por email (y se guarda en S3).

Arquitectura

La arquitectura es simple y está basada en servicios nativos de AWS.

Es una arquitectura serverless basada en Lambda + EventBridge + S3 + SES + CloudWatch Logs.

Arquitectura de aws-finops-toolkit

El proyecto está creado con AWS SAM.

Cómo mapea mi herramienta con las 3 fases de FinOps

He creado esta tabla para explicarlo mejor:

FaseObjetivoComponenteQué entregaQué NO hace (a propósito)Cómo cubrirlo si lo necesitas
InformarVisibilidad por proyectofinops-cost-analyzerTop servicios por proyecto, anomalías, reportes HTMLBI avanzado o dashboards completosCID (QuickSight) o CUR + Athena
InformarAsignaciónfinops-compliance-checker + finops-tag-inventoryControl de tag obligatorio + inventario/higiene de tagsNo “arregla tags” automáticamentePolítica interna + normalización manual o job dedicado
InformarHistórico programablefinops-historical-cost-analyzerPeticiones bajo demandaNo genera emails/reportesIntegración en portales internos o pipelines
OptimizarBacklog de ahorrofinops-optimization-insightsRecomendaciones consolidadas y priorizadasNo aplica cambios automáticamenteRunbooks + tickets (Jira/GitHub Issues)
OperarGobernanza continuafinops-compliance-checker + reglas de EventBridge (schedules)Ejecución recurrente + reportesNo bloquea desplieguesAWS Config / SCPs / guardrails en IaC

Un MVP en pocas horas (si ya tienes lo básico)

Si ya tienes lo básico (una etiqueta en tus recursos, por ejemplo project, acceso a Billing, y permisos para desplegar), puedes dejarlo funcionando en pocas horas:

  1. activa la etiqueta que uses (por ejemplo project) como cost allocation tag
  2. desplega aws-finops-toolkit, configurándolo con tus valores
  3. pruébalo haciendo una ejecución a mano, para asegurar que te llegan los reportes (revisa el fichero docs/operations.md y busca (1) cómo confirmar tu email en SES y (2) cómo ejecutar las lambdas a mano)
  4. empieza a medir:
    • % gasto asignado a tu etiqueta
    • gasto sin asignar (recursos sin la etiqueta project) y sus principales drivers
    • top proyectos y variación
    • anomalías relevantes

Luego, en 2 semanas, lo conviertes en práctica:

  • semana 1: arreglar datos (cobertura y consistencia)
  • semana 2: backlog real (top 5 acciones por impacto, responsable y fecha)

La certificación (FinOps Certified Practitioner)

La parte útil de la certificación de FinOps Certified Practitioner (FOCP), es que te obliga a ordenar:

  • conceptos y vocabulario
  • principios, roles y colaboración
  • ciclo de vida y prácticas repetibles

La descripción oficial del FOCP lo deja claro: cubre fundamentos y conceptos clave en las tres secciones del ciclo FinOps (Informar, Optimizar y Operar).

Este es el enlace a la certificación

El examen no es lo importante. Lo importante es lo que te obliga a practicar mientras lo preparas. Con la información que te he dejado en este artículo tienes el acceso a todo lo importante.

Mi recomendación es que hagas como yo, y a la vez que te lo preparas, revisa qué estas haciendo ahora con los costes en el cloud y cómo puedes hacerlo mejor a partir de ahora.


Conclusión

AWS tiene herramientas muy potentes para FinOps. El problema no es que “no exista un servicio” que te ayude, sino que te falta:

  • ownership
  • datos consistentes
  • rutina de revisión y optimización
  • convertir recomendaciones en trabajo

Si yo empezara hoy desde cero en una cuenta AWS:

  1. añadiría alertas (Budgets y Anomaly Detection)
  2. añadiría el tag project en todos mis recursos
  3. activaría cost allocation tags
  4. definiría 3 métricas simples y un ritual semanal:
    • % de gasto asignado a project
    • gasto sin asignar (sin project) y sus top servicios
    • top proyectos por coste y la variación (para detectar cambios)
  5. y automatizaría reportes para no depender de “ya lo miraré”

Yo lo aterricé con mi toolkit aws-finops-toolkit. ¿Tú cómo lo estás operando ahora?

En mi caso, si lo tengo que ir a buscar, no lo voy a mirar, pero si me llega, actúo. Así de simple.

Este artículo está licenciado bajo CC BY 4.0 por el autor.

Actualizado recientemente

Artículos destacados

Etiquetas populares

¡Subscríbete a mi newsletter!

¡Subscríbete a mi newsletter!

Recibe mis últimos artículos, tutoriales y consejos sobre AWS y computación en la nube subscribiéndote a mi newsletter. ¡Sin spam, prometido!