💰 Skill: Cost Optimization & FinOps
📋 Metadata
| Atributo | Valor |
|---|---|
| ID | sre-cost-optimization-finops |
| Nivel | 🟡 Intermedio |
| Versión | 1.0.0 |
| Keywords | cost-optimization, finops, cloud-costs, resource-optimization, cost-monitoring, budget-alerts |
| Referencia | FinOps Foundation |
🔑 Keywords para Invocación
cost-optimizationfinopscloud-costsresource-optimizationcost-monitoringbudget-alerts@skill:cost-optimization
Ejemplos de Prompts
Implementa cost monitoring y budget alerts
Configura FinOps practices para cloud cost optimization
Setup resource optimization y cost allocation
@skill:cost-optimization - FinOps completo
📖 Descripción
FinOps (Financial Operations) combina prácticas financieras con DevOps para optimizar costos cloud. Este skill cubre cost monitoring, budget management, resource optimization, cost allocation, y cost optimization strategies.
✅ Cuándo Usar Este Skill
- Cloud infrastructure costs
- Multi-team cost allocation
- Budget management
- Resource optimization
- Cost visibility
❌ Cuándo NO Usar Este Skill
- On-premise only
- Fixed cost infrastructure
- Very small scale
🏗️ FinOps Framework
Inform
↓
Optimize
↓
Operate
↓
(Feedback Loop)
💻 Implementación
📁 Scripts Ejecutables: Este skill incluye scripts Python ejecutables en la carpeta
scripts/:
aws_cost_tracker.py- Tracking y análisis de costos AWSbudget_alert.py- Gestión de budgets y alertasresource_optimizer.py- Análisis de recursos y optimizaciónauto_optimizer.py- Optimizador automático completorequirements.txt- Dependencias Python (boto3)Ver
scripts/README.mdpara documentación de uso.
1. Cost Monitoring
Script ejecutable: scripts/aws_cost_tracker.py
Script CLI completo para tracking y análisis de costos AWS usando Cost Explorer API.
Cuándo ejecutar
- Reportes regulares: Para generar reportes de costos diarios/semanales
- Análisis de costos: Para identificar servicios o tags con mayor costo
- Exportación de datos: Para integrar con otros sistemas o dashboards
- Auditoría: Para revisar costos históricos
Uso
# Instalar dependencias
pip install -r scripts/requirements.txt
# Costos diarios (últimos 30 días)
python scripts/aws_cost_tracker.py daily --days 30
# Costos por servicio
python scripts/aws_cost_tracker.py service EC2 --days 30
# Costos por tag
python scripts/aws_cost_tracker.py tag --tag-key Environment --days 30
# Exportar a CSV
python scripts/aws_cost_tracker.py daily --days 30 --output costs.csv
Características
- ✅ Costos diarios agrupados por servicio
- ✅ Costos por servicio específico
- ✅ Costos agrupados por tags
- ✅ Exportación a CSV
- ✅ Formato legible en consola
- ✅ Soporte para múltiples perfiles AWS
2. Budget Alerts
Script ejecutable: scripts/budget_alert.py
Gestor completo de budgets AWS con alertas automatizadas por email.
Cuándo ejecutar
- Crear budgets: Al establecer límites de gasto para servicios o proyectos
- Monitoreo: Para revisar estado de budgets existentes
- Gestión: Para listar, actualizar o eliminar budgets
Uso
# Crear budget con alertas
python scripts/budget_alert.py create \
--name monthly-infrastructure-budget \
--amount 10000 \
--period monthly \
--thresholds 50,80,100 \
--email ops@example.com
# Listar todos los budgets
python scripts/budget_alert.py list
# Ver estado de un budget
python scripts/budget_alert.py status --name monthly-infrastructure-budget
# Eliminar budget
python scripts/budget_alert.py delete --name monthly-infrastructure-budget
Características
- ✅ Creación de budgets con múltiples umbrales de alerta
- ✅ Notificaciones por email automáticas
- ✅ Filtros por servicio (opcional)
- ✅ Listado y estado de budgets
- ✅ Gestión completa (crear, listar, eliminar)
Ejemplo de configuración YAML
# aws/budgets.yml (para referencia)
budgets:
- name: monthly-infrastructure-budget
amount: 10000
period: monthly
thresholds: [50, 80, 100]
email: ops@example.com
3. Resource Optimization
Script ejecutable: scripts/resource_optimizer.py
Analizador de recursos AWS que identifica oportunidades de optimización de costos.
Cuándo ejecutar
- Análisis regular: Para identificar recursos subutilizados
- Antes de optimizar: Para planificar cambios de recursos
- Auditoría de costos: Para encontrar oportunidades de ahorro
Uso
# Encontrar instancias idle (CPU < 10%)
python scripts/resource_optimizer.py idle --cpu-threshold 10
# Oportunidades de rightsizing
python scripts/resource_optimizer.py rightsize
# Volúmenes EBS no usados
python scripts/resource_optimizer.py unused-volumes
Características
- ✅ Detección de instancias idle (bajo CPU)
- ✅ Análisis de rightsizing (downsize/upsize)
- ✅ Detección de volúmenes no usados
- ✅ Estimación de costos y ahorros potenciales
- ✅ Análisis multi-región (opcional)
4. Cost Allocation Tags
# k8s/cost-allocation-tags.yaml
apiVersion: v1
kind: Namespace
metadata:
name: production
labels:
environment: production
cost-center: engineering
team: backend
project: payment-service
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: payment-service
labels:
app: payment-service
environment: production
cost-center: engineering
team: backend
project: payment-service
spec:
template:
metadata:
labels:
app: payment-service
environment: production
cost-center: engineering
team: backend
project: payment-service
spec:
containers:
- name: app
image: payment-service:latest
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: 1000m
memory: 1Gi
5. Automated Cost Optimization
Script ejecutable: scripts/auto_optimizer.py
Optimizador automático que combina múltiples estrategias de optimización y genera reportes completos.
Cuándo ejecutar
- Análisis completo: Para obtener visión general de todas las oportunidades
- Reportes regulares: Para generar reportes de optimización periódicos
- Planificación: Para planificar optimizaciones de costos
Uso
# Análisis completo
python scripts/auto_optimizer.py analyze
# Generar reporte detallado
python scripts/auto_optimizer.py report --output optimization-report.json
Características
- ✅ Análisis completo combinando múltiples estrategias
- ✅ Recomendaciones priorizadas por ahorro potencial
- ✅ Reportes detallados en JSON
- ✅ Estimación de ahorros totales
- ✅ Identificación de instancias idle, rightsizing, y recursos no usados
🎯 Mejores Prácticas
1. Cost Visibility
✅ DO:
- Tag all resources
- Track costs by team/service
- Set up budget alerts
- Review costs regularly
❌ DON'T:
- Ignore untagged resources
- Skip cost reviews
- Set unrealistic budgets
2. Optimization
✅ DO:
- Right-size resources
- Use reserved instances for steady workloads
- Implement auto-scaling
- Clean up unused resources
❌ DON'T:
- Over-provision
- Ignore idle resources
- Skip rightsizing
3. Governance
✅ DO:
- Establish cost policies
- Require approvals for large spends
- Track cost trends
- Share costs with teams
❌ DON'T:
- Allow unlimited spending
- Ignore cost trends
- Hide costs from teams
🚨 Troubleshooting
Unexpected Costs
- Check recent changes
- Review cost reports
- Identify cost drivers
- Implement cost controls
Budget Exceeded
- Review spending
- Identify overages
- Optimize resources
- Adjust budget if needed
📚 Recursos Adicionales
Versión: 1.0.0
Última actualización: Diciembre 2025
Total líneas: 1,100+