Skip to content
SP StackPractices
intermediate Por StackPractices

FinOps — Optimizacion de Costos Cloud y Operaciones Financieras

Guia practica de FinOps: visibilidad, optimizacion y gobernanza del gasto cloud. Aprende estrategias de tagging, right-sizing, instancias reservadas y cultura consciente de costos.

Nota para desarrolladores hispanohablantes: Esta guía incluye ejemplos y convenciones de nomenclatura adaptadas a equipos que trabajan en español. Cuando existen diferencias significativas en terminología técnica entre el inglés y el español, se indican explícitamente para facilitar la comunicación en equipos multiculturales.

Overview

FinOps — un portmanteau de “Finance” y “DevOps” — es la practica de traer responsabilidad financiera al modelo de gasto variable de cloud computing. A diferencia de los centros de datos tradicionales con CapEx fijo, los costos cloud escalan con el uso, haciendo la visibilidad y gobernanza criticas. FinOps no se trata de recortar costos a ciegas; se trata de optimizar el gasto cloud para maximizar valor de negocio. Opera en tres fases: Informar (visibilidad), Optimizar (acciones) y Operar (gobernanza y cultura).

When to Use

  • Las facturas mensuales de cloud son impredecibles o crecen mas rapido que el revenue
  • No puedes atribuir costos a equipos, productos o entornos
  • Las decisiones de capacidad reservada se toman sin datos
  • Los equipos de desarrollo tratan los recursos cloud como infinitos y gratuitos
  • Necesitas justificar el gasto cloud a finanzas o liderazgo ejecutivo

Las Tres Fases de FinOps

FaseObjetivoActividades
InformarVisibilidadTagging, asignacion de costos, dashboards, deteccion de anomalias
OptimizarEficienciaRight-sizing, instancias reservadas, spot usage, autoscaling
OperarGobernanzaPresupuestos, politicas, chargeback/showback, cultura FinOps

Estrategia de Tagging

El tagging consistente es la base de la atribucion de costos:

# Terraform: forzar tagging via politica
locals {
  mandatory_tags = {
    Owner       = var.team_email
    Environment = var.environment
    Project     = var.project_code
    CostCenter  = var.cost_center
    ManagedBy   = "terraform"
  }
}

resource "aws_instance" "api" {
  ami           = data.aws_ami.ubuntu.id
  instance_type = var.instance_type

  tags = local.mandatory_tags
}

Tags requeridos:

  • Environment: production, staging, development
  • Team / Owner: quien paga la factura
  • Project / Product: que unidad de negocio
  • CostCenter: codigo de tracking de finanzas
  • ManagedBy: terraform, pulumi, manual

Right-Sizing

AnalisisAccionAhorro potencial
CPU < 20% por 30 diasReducir instancia o usar autoscaling30-50%
Memoria < 40% por 30 diasReducir memoria o cambiar familia de instancia20-40%
Volumen EBS < 30% usadoReducir volumen o eliminar10-20%
Snapshots huerfanos > 90 diasAutomatizar politica de ciclo de vida5-10%
Load balancers idleEliminar o consolidar5-10%
# AWS CLI: encontrar instancias EC2 subutilizadas
aws ec2 describe-instance-types --filters "Name=instance-type,Values=t3.*"
# Usar Cost Explorer o metricas CloudWatch para identificar candidatos

Instancias Reservadas y Savings Plans

CompromisoDescuentoMejor para
On-Demand0%Cargas variables, impredecibles
Reserved (1 anio)~30-40%Cargas steady-state (bases de datos, runners CI)
Reserved (3 anios)~50-60%Cargas muy estables con ciclos de vida largos
Savings Plans~20-40%Compromiso flexible entre familias de instancias
Spot Instances~70-90%Cargas tolerantes a interrupcion (batch, CI)

Regla de oro: Solo comprometete a reservas para cargas con 12+ meses de historial de utilizacion estable.

Deteccion de Anomalias de Costo

# Ejemplo: AWS Cost Anomaly Detection con CloudWatch
import boto3

client = boto3.client('ce')

response = client.get_cost_and_usage(
    TimePeriod={
        'Start': '2026-06-01',
        'End': '2026-06-25'
    },
    Granularity='DAILY',
    Metrics=['BlendedCost'],
    GroupBy=[
        {'Type': 'TAG', 'Key': 'Project'},
        {'Type': 'TAG', 'Key': 'Environment'}
    ]
)

# Alertar si gasto diario > 120% del promedio de 30 dias

Construyendo una Cultura Consciente de Costos

TacticaImplementacion
Dashboards de showbackDashboards de costo por equipo en Grafana o CloudWatch
Costo en PR commentsBot de Infracost comenta impacto de costo Terraform en PRs
Alertas de presupuestoAWS Budgets al 80%, 100%, 120% del forecast mensual
Game daysSprints trimestrales de optimizacion de costos con premios
Revision arquitectonicaIncluir estimaciones de costo en docs de diseno

Common Mistakes

  • Tagging despues del hecho — tagging retroactivo es doloroso; forzar en creacion via politica
  • Sobre-comprometerse a RIs — comprar reservas de 3 anios para cargas que pueden cambiar en 6 meses
  • Ignorar costos de transferencia de datos — egress entre regiones y a internet puede ser 20-40% de la factura
  • Optimizar sin visibilidad — no puedes hacer right-sizing de lo que no puedes medir
  • Hacer de finanzas el enemigo — FinOps es una alianza entre ingenieria y finanzas, no un mandato de recorte

FAQ

Cual es la diferencia entre FinOps y cloud cost management? Cloud cost management es herramientas y dashboards. FinOps es una practica cultural que incluye esas herramientas mas accountability, gobernanza y colaboracion cross-funcional.

Como manejamos servicios compartidos (DNS, VPC, monitoreo)? Asigna costos compartidos por una metrica justa: porcentaje de uso de compute, numero de servicios, o headcount. Documenta el metodo de asignacion y revisa trimestralmente.

Los equipos de ingenieria deberian tener sus propios presupuestos cloud? Si. Los equipos que ven sus propios costos toman mejores decisiones arquitectonicas. Finanzas establece el presupuesto total; ingenieria lo asigna.