1. Configurar Credenciales
El Gestor de Credenciales es el almacén criptográfico seguro de FinOps Hub. Permite guardar claves de acceso, archivos de cuentas de servicio y tokens Git necesarios para auditar e integrar los diferentes servicios cloud sin exponer credenciales en archivos locales o código fuente.
Tipos de Credenciales Soportadas
- AWS Access Keys (aws_keys): Credenciales IAM compuestas por Access Key ID, Secret Access Key y opcionalmente Session Token y Región por defecto.
- GCP Service Account JSON (gcp_json): Contenido del archivo JSON de clave de cuenta de servicio descargado de Google Cloud Platform.
- Secret Text (secret_text): Texto plano genérico para almacenar contraseñas, API Keys o Tokens de Acceso Personal (PAT) de Git.
Cómo Agregar una Nueva Credencial
Accede al Gestor
Dirígete a la sección Credenciales en la barra lateral izquierda y haz clic en el botón "Nueva Credencial".
Selecciona Tipo e ID
Asigna un ID de secreto descriptivo (ej: git-pat-key, aws-prod-credentials) y
selecciona el tipo en el menú desplegable.
Define el Contenido y Guarda
Pega el secreto en el área de texto (el formulario cargará plantillas JSON sugeridas según el tipo) y haz clic en "Guardar Credencial".
2. Conectar Cuentas Cloud
El apartado de Cuentas Cloud permite gestionar las conexiones activas con tus distintos proveedores en la nube y configurar las importaciones manuales. Es el primer paso operativo para nutrir a la plataforma de métricas de coste.
Integración de Proveedores Cloud
Amazon Web Services (AWS)
Requiere conectar la cuenta cloud asociando una credencial de tipo aws_keys. Es obligatorio habilitar Hourly and Resource-Level Data en la configuración de AWS Cost Explorer.
Microsoft Azure
Se conecta mediante Service Principal ingresando el ID del Tenant, ID de Suscripción, Client ID y Client Secret corporativo.
Google Cloud Platform
Requiere ingresar el ID de Proyecto de GCP y asociar la credencial de cuenta de servicio de tipo gcp_json.
Permisos Mínimos Requeridos y Políticas
Para recuperar de forma segura métricas de coste e inventario, configura tus cuentas con permisos de sólo lectura mínimos:
1. AWS: IAM Policy
Crea una política en tu consola de AWS con el siguiente formato JSON y asóciala a las credenciales provistas. Para más detalles sobre políticas IAM y Cost Explorer, consulta la documentación de permisos de facturación de AWS.
2. Navega a AWS Cost Explorer → Settings (Configuración).
3. Activa la opción Hourly and Resource-Level Data (Datos a nivel de recurso y horarios).
Nota: Tras activar esta opción y conectar la cuenta en el portal, AWS puede tardar hasta 24 horas en propagar y empezar a generar los datos de coste detallados.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ce:GetCostAndUsage",
"ce:GetCostForecast",
"compute-optimizer:GetEC2InstanceRecommendations",
"compute-optimizer:GetEnrollmentStatus",
"eks:ListClusters",
"eks:DescribeCluster",
"ec2:DescribeVolumes",
"ec2:DescribeInstances",
"ec2:DescribeAddresses",
"elasticloadbalancing:DescribeLoadBalancers",
"rds:DescribeDBInstances",
"lambda:ListFunctions",
"cloudwatch:GetMetricStatistics",
"s3:ListAllMyBuckets",
"iam:ListAccountAliases"
],
"Resource": "*"
}
]
}
2. Azure: Asignación de Roles
En el portal de Azure, accede a tu suscripción, ve a Access Control (IAM) y asigna a tu aplicación registrada (Service Principal) los siguientes roles. Puedes seguir la guía oficial de asignación de roles de Azure y el manual para crear una aplicación de Microsoft Entra ID.
- Reader (Lector): Para recuperar inventario de recursos y gobernanza.
- Billing Reader (Lector de Facturación): Para consultar la API de Azure Consumption y Cost Management.
3. GCP: Roles y BigQuery
Asigna a la cuenta de servicio los siguientes roles a nivel de proyecto. Puedes consultar la guía de creación de claves de cuentas de servicio de GCP y el manual de exportación de datos de facturación de GCP a BigQuery.
- Billing Account Viewer: Para visualizar datos de facturación global.
- Recommender Viewer: Para recolectar recomendaciones de optimización.
- BigQuery Data Viewer / User: En el dataset donde esté habilitado el Billing Export de GCP a BigQuery.
3. Integrar Kubernetes
La sección de Clústeres Kubernetes desglosa el consumo de tus cargas de trabajo contenerizadas agrupando los costes por Namespace, CPU, Memoria y almacenamiento persistente.
Métodos de Sincronización: Arquitectura Híbrida
FinOps Hub ofrece dos modos de conexión flexibles para monitorizar y calcular el coste de Kubernetes según la arquitectura de red de tu clúster:
Modo Cloud Native (Agent-less) API Directa
Conexión directa desde el backend a la API de Kubernetes (EKS, AKS, GKE) usando credenciales cloud. Obtiene Namespaces, Pods y etiquetas en tiempo real y calcula costes basándose en las tarifas de los nodos. No requiere instalar ningún agente.
Agente Push (VPC Privada) Helm / Outbound
Diseñado para clústeres situados en VPCs 100% privadas sin IP pública. Un Pod de solo lectura (ocupa <15MB RAM) lee el API Server localmente y envía métricas de salida vía HTTPS hacia el SaaS. Impacto cero en seguridad.
- Usa Cloud Native (Agent-less): Si el API Server de tu clúster (EKS, AKS o GKE) tiene un endpoint accesible desde las APIs de la nube y deseas la máxima rapidez sin tocar el clúster.
- Usa Agente Push (VPC Privada): Si tu clúster tiene Private Endpoint habilitado en su VPC/VNet y prohíbe conexiones entrantes desde Internet. El comando de despliegue Helm personalizado con tu token único se genera automáticamente dentro del panel de control (en la sección Clústeres → Añadir Clúster → Modo Push) para instalar el agente en un solo paso.
- Cálculo de coste verídico (CPU + RAM): Ambos métodos utilizan la misma fórmula de reparto proporcional (50% peso CPU, 50% peso RAM) cruzando los consumos de contenedores con los costes reales diarios de la factura de los nodos.
Si tu clúster de EKS es privado, está bloqueado por red o prefieres no configurar accesos de API directa, FinOps Hub utilizará automáticamente el soporte de facturación nativa en diferido. Para habilitarlo, debes configurar tu cuenta de AWS siguiendo estos pasos:
- Activar EKS Split Cost en AWS: En tu consola de AWS Billing → Cost Management Preferences (Preferencias de gestión de costes), bajo la sección Split cost allocation data, activa la opción para Amazon EKS.
- Activar las etiquetas del sistema: Ve a la sección Cost Allocation Tags (Etiquetas de asignación de costes) de la consola de Billing. Cambia a la pestaña de AWS-generated cost allocation tags (Etiquetas generadas por AWS). Busca, selecciona y activa las etiquetas
aws:eks:cluster-nameyaws:eks:namespace.
Nota: Si acabas de activar el Split Cost, la etiquetaaws:eks:namespaceno aparecerá inmediatamente. AWS tarda entre 12 y 24 horas en procesar los primeros datos de costes divididos y generar la etiqueta físicamente para que puedas activarla. - Permisos IAM necesarios: Asegúrate de que las credenciales de AWS conectadas a la plataforma contengan el permiso
ce:GetCostAndUsage. - Coincidencia de Nombre: El nombre con el que registras el clúster en FinOps Hub (ej:
eks-pre) debe coincidir exactamente con el nombre de tu clúster en AWS.
4. Panel de Control
El Panel de Control (Dashboard) es la pantalla principal que ofrece visibilidad centralizada sobre los costes cloud agregados del tenant. Proporciona una perspectiva consolidada y en tiempo real sobre el consumo y la eficiencia financiera de tus recursos e infraestructura en la nube.
Métricas Clave y KPIs
En la parte superior del panel se visualizan tarjetas con métricas esenciales para la toma de decisiones:
- Gasto Total: El coste incurrido acumulado en el mes corriente, acompañado de una proyección predictiva (forecast) a fin de mes calculada por el motor de estimación.
- Ahorro Potencial: La suma estimada de reducción de costes mensuales que podrías obtener si aplicas el total de las recomendaciones y remediaciones activas identificadas.
- Presupuestos Activos: Indicador del estado general de tus presupuestos y si existen desviaciones importantes que requieran atención.
- Alertas de Consumo: Cantidad de alertas y anomalías de facturación detectadas sin leer en tu bandeja de entrada.
Gráficos Interactivos de Análisis
El panel desglosa la información mediante elementos visuales interactivos:
Histórico de Gastos
Gráfico de tendencias (Trend) que muestra la evolución histórica mensual del coste real para detectar estacionalidades o incrementos imprevistos.
Distribución por Herramienta
Gráfico circular que representa el reparto porcentual del gasto entre tus proveedores conectados (AWS, Azure, GCP y Kubernetes).
Reparto de Namespaces K8s
Desglose de costes internos de Kubernetes ordenado por Namespaces para identificar qué microservicios son los que más recursos consumen.
Además, incluye un widget específico de Recursos Sin Etiquetar / Huérfanos para cuantificar de forma rápida el gasto no asignado a proyectos específicos y facilitar su asignación.
5. Presupuestos
El módulo de Presupuestos permite fijar límites económicos máximos de gasto de forma personalizada para cada una de tus cuentas de nube y monitorizar en tiempo real las desviaciones.
Creación y Configuración
Nueva Regla Presupuestaria
Ve a "Presupuestos", haz clic en "Crear Presupuesto" para abrir el formulario de configuración.
Asignar Límite y Cuenta
Nombra el presupuesto (ej: Presupuesto Sandbox), especifica el importe límite mensual en
dólares y asócialo a la cuenta de destino.
Monitorizar Consumo
Al guardar, el sistema calcula el consumo del mes en curso contrastándolo con el límite establecido, generando una barra de progreso porcentual.
Desviación Presupuestaria (Budget Drift)
La plataforma evalúa la proyección de gasto y cambia dinámicamente el color de la barra del presupuesto:
- Verde: Consumo inferior al 70% del presupuesto mensual.
- Amarillo: Consumo en el rango de 70% a 99%, advirtiendo de cercanía al límite.
- Rojo: Consumo excedido o con proyección inminente de superar el 100% del límite mensual.
6. Gestión de Alertas
La sección de Alertas centraliza las notificaciones urgentes e informativas sobre anomalías en la facturación y picos de consumo inesperados en tu infraestructura.
Motor de Detección de Anomalías (Análisis en Segundo Plano)
FinOps Hub incorpora un algoritmo automatizado que se ejecuta en segundo plano al finalizar cada sincronización de costes con tus proveedores cloud (AWS, Azure y GCP). Este motor analiza la facturación diaria para identificar desviaciones y picos inusuales de gasto:
- Comparación de Referencia: El algoritmo compara el consumo total diario del último día sincronizado contra el coste del mismo día de la semana anterior (hace 7 días), evitando falsas alarmas debidas a patrones de comportamiento semanales (como reducciones de consumo en fines de semana).
- Umbral de Activación: Una alerta de anomalía se genera y registra si se cumplen
simultáneamente dos criterios:
- El coste diario se incrementa en más de un 20% con respecto al de la semana pasada.
- El incremento absoluto de gasto diario supera los $5.00/día.
- Clasificación de la Severidad:
- Crítica (Critical): Si el sobrecoste diario excede los $50.00/día.
- Advertencia (Warning): Si el incremento diario se sitúa entre $5.00 y $50.00/día.
- Control de Spam: El sistema verifica que no exista previamente una alerta de anomalía cargada para la misma cuenta cloud en ese mismo día antes de proceder al registro.
Tipos de Alerta por Severidad
- Información (Info): Avisos del sistema como sincronizaciones completadas correctamente o creación de credenciales nuevas.
- Advertencia (Warning): Presupuestos que han superado el 80% de su capacidad, desviaciones menores proyectadas en GitOps o anomalías de coste moderadas.
- Crítica (Critical): Picos de coste severos de un día para otro (incrementos mayores a $50/día) o presupuestos que han superado el 100% de su límite asignado.
Puedes filtrar y ordenar las alertas por fecha y severidad. Una vez revisada una alerta, puedes marcarla como leída para despejar la bandeja de notificaciones activas del portal.
Notificaciones de Alertas por Email
Además de centralizar las alertas en el panel de control del portal, FinOps Hub permite configurar destinatarios de correo electrónico para recibir notificaciones inmediatas ante cualquier evento de coste crítico o desvío de presupuesto:
- Configuración en el Portal: Los usuarios con rol de administrador (Admin/SuperAdmin) encontrarán un panel específico llamado Configuración de Notificaciones por Correo en la parte superior de la vista de Alertas.
- Múltiples Destinatarios: Se pueden introducir una o múltiples direcciones de correo separadas por comas (por ejemplo:
devops@tuempresa.com, finops-alertas@tuempresa.com) para notificar a todo tu equipo a la vez. - Alertas de Presupuesto Superado: Tan pronto como una sincronización (manual o programada por el Worker) detecte que el consumo real acumulado supera el límite de un presupuesto activo en el mes actual, se enviará una notificación formal HTML con el importe del presupuesto y el coste real registrado.
- Políticas Anti-Spam: Para evitar saturar las bandejas de entrada, el sistema solo enviará una única notificación por correo electrónico al mes por cada presupuesto superado.
7. Gobernanza y Compliance
El módulo de Gobernanza integra un motor de análisis de cumplimiento y políticas cloud (impulsado por Cloud Custodian) encargado de velar por la higiene del gasto y la correcta clasificación de recursos.
Políticas Cloud Automatizadas
La plataforma audita de forma recurrente tus entornos cloud para reportar infracciones a las siguientes directivas:
-
Recursos Huérfanos / Inactivos (Idle Resources): Localización de recursos ociosos que
generan gastos innecesarios, adaptados a cada proveedor:
- AWS: Volúmenes EBS desasociados (EBS Available Status), IPs Elásticas sin asociar (AWS VPC EIPs), instancias RDS sin conexiones activas (RDS DB Connections) y funciones Lambda inactivas (Lambda Invocations).
- GCP: Discos persistentes huérfanos (GCP Disks), IPs estáticas reservadas sin uso (GCP Unused Static IPs), instancias de Cloud SQL sin conexiones activas (Cloud SQL Metrics) y Cloud Functions sin ejecuciones (GCP Function Metrics).
- Azure: Discos virtuales desasociados (Azure Unattached Disks), direcciones IP públicas huérfanas (Azure Public IPs), bases de datos Azure SQL con uso medio de CPU inferior al 1% (Azure SQL CPU Monitoring) y Azure Function Apps detenidas o inactivas (Azure Function App Settings).
- Cumplimiento de Etiquetas (Tagging Compliance): Detección de recursos que carezcan de los
tags definidos como obligatorios en la organización (ej:
Project,Owner, oCostCenter). - Optimización de Namespaces: Identificación de namespaces de Kubernetes que promedien un uso inferior al 5% en la memoria o CPU configurada.
Escaneos Bajo Demanda
Puedes forzar una auditoría de cumplimiento inmediata pulsando el botón Ejecutar Escaneo en la pestaña Gobernanza. La lista de violaciones a las directivas se actualizará detallando el ID de recurso, la cuenta afectada y la regla incumplida.
8. Aplicar Recomendaciones
La sección de Recomendaciones reúne todas las oportunidades de optimización y reducción de costes encontradas por los motores de auditoría financiera de la plataforma.
Tipos de Recomendación
- Eliminar desperdicio (Cleanup): Sugerencias para borrar discos sin uso, almacenamiento huérfano o instancias de computación que han estado apagadas o inactivas de forma continua por más de 30 días.
- Ajuste de Dimensionamiento (Right-sizing): Recomendación de rebajar la categoría o familia de instancias EC2/VMs y bases de datos RDS cuya utilización de procesador y memoria sea menor al 10%, sugiriendo la alternativa óptima con menor coste mensual.
Aplicación de Remediaciones
Cada recomendación se presenta como una tarjeta descriptiva con el ahorro mensual potencial estimado. Al hacer clic en Aplicar, la recomendación se marca como resuelta, desapareciendo de la lista activa y sumando su impacto económico mensual al panel de Ahorros de la organización.
9. Cuantificar Ahorro
La pestaña de Ahorro realiza un seguimiento detallado y cuantificable del valor financiero que el equipo de FinOps ha devuelto al negocio mediante la ejecución de remediaciones y optimizaciones.
Indicadores Clave de Ahorro
El portal calcula y consolida las siguientes métricas:
- Ahorro Realizado Total: Suma acumulativa de la reducción mensual de gasto recurrente obtenida al ejecutar remediaciones (ej: borrar discos huérfanos o reducir instancias).
- Remediaciones Aplicadas: Historial numérico del volumen de optimizaciones completadas satisfactoriamente por los administradores.
Registro Histórico de Remediaciones
Se dispone de una tabla de auditoría que documenta cronológicamente cada remediación aplicada. Registra:
- Nombre del recurso y descripción de la acción correctiva ejecutada.
- Nombre de la cuenta cloud asociada.
- Fecha y hora exacta en que se marcó la optimización como aplicada.
- El impacto económico mensual neto en dólares ahorrado al presupuesto general.
10. Costes IaC (Terraform)
El módulo de Costes IaC ayuda a predecir y auditar el impacto financiero que tendrán tus plantillas de Terraform u OpenTofu antes de que los recursos sean desplegados o modificados en las consolas de los proveedores.
Vinculación de Repositorios mediante Webhook
Para auditar tus proyectos automáticamente en busca de costes de infraestructura en tus flujos de CI/CD de manera 100% segura, rápida y sin necesidad de otorgar accesos de clonado a tus repositorios privados:
Configurar el Repositorio
Ve al apartado "Costes IaC" en el menú lateral de la plataforma, haz clic en "Añadir Repositorio" y registra el nombre y URL de tu proyecto de infraestructura como referencia visual.
Integrar en tu Pipeline (CI/CD)
Agrega un paso en tu workflow (GitHub Actions, GitLab CI/CD, Azure Pipelines, etc.) para exportar tu plan de Terraform a formato JSON tras ejecutar un cambio:
terraform plan -out=tfplan
terraform show -json tfplan > plan.json
Enviar Ingesta (Webhook)
Realiza una petición HTTP POST desde tu runner al endpoint de ingesta seguro de la plataforma, adjuntando el archivo plan.json generado:
# 1. Obtener marca de tiempo actual (epoch)
TIMESTAMP=$(date +%s)
# 2. Calcular la firma HMAC-SHA256 usando tu clave secreta de FinOps
SIGNATURE=$(echo -n "$TIMESTAMP" | openssl dgst -sha256 -hmac "$FINOPS_SECRET_KEY" -hex | cut -d' ' -f2)
# 3. Realizar la petición enviando las cabeceras criptográficas de validación
curl -X POST \
-H "x-finops-key-id: $FINOPS_KEY_ID" \
-H "x-finops-signature: $SIGNATURE" \
-H "x-finops-timestamp: $TIMESTAMP" \
-H "Content-Type: application/json" \
-d @plan.json \
"https://portal.finopshub.es/api/iac/ingest?pr=12&repo=mi-repo&author=dev-user"
El backend procesará el plan estático en memoria comparando los SKUs con el catálogo de precios, registrando el reporte histórico al instante.
11. Simulador GitOps
El Simulador GitOps es un visor interactivo e instantáneo para estimar variaciones en tus costes a partir de los planes de Terraform de tu máquina local o flujos de CI/CD, sin necesidad de registrar repositorios o automatizaciones Git.
Exportación de Plan de Terraform
Genera la representación del plan de Terraform en formato JSON ejecutando los siguientes comandos en la terminal de tu máquina local:
terraform plan -out=tfplan.binary
terraform show -json tfplan.binary > plan.json
Carga e Interpretación de Resultados
Subir Archivo plan.json
Entra en el apartado "Simulador GitOps" en el menú lateral y arrastra o selecciona tu archivo
plan.json local.
Analizar Impacto Neto
El portal procesa el archivo inmediatamente contra la base de datos de precios. Mostrará el Coste Mensual Anterior, el Nuevo Coste Proyectado y el Impacto Neto Mensual (en verde si representa ahorro, en rojo si es un incremento de gasto).
Inspeccionar Recursos Afectados
Revisa la tabla de detalles en la parte inferior para inspeccionar de forma granular cada recurso modificado, creado o eliminado, con sus respectivos costes por unidad y mensuales.
12. Administración de Usuarios
La pestaña de Administración de Usuarios (anteriormente Administrar Inquilinos) centraliza el control de accesos de seguridad a tu espacio de trabajo (Tenant).
Control de Acceso Basado en Roles (RBAC)
La seguridad de la plataforma restringe las acciones en base a dos roles definidos de usuario:
user (Lector / Analista)
Acceso exclusivo de consulta. Puede revisar dashboards, reportes de IaC, histórico de presupuestos y alertas, pero no tiene permisos para crear, editar o eliminar configuraciones.
admin (Administrador)
Control de gestión. Capacidad total para añadir o borrar credenciales y cuentas, configurar presupuestos, aplicar remediaciones de ahorro y modificar la configuración global.
Cómo Cambiar tu Contraseña
Todos los usuarios del portal pueden cambiar su contraseña local de forma autónoma desde el formulario superior de esta pestaña:
Validar Identidad
Ingresa tu clave actual en el campo de **Contraseña Actual**.
Definir Nueva Clave
Escribe tu nueva clave (requiere un mínimo de 8 caracteres por políticas de complejidad en el backend) en el campo **Nueva Contraseña**.
Confirmar Nueva Contraseña
Vuelve a introducir la misma clave en el campo **Confirmar Nueva Contraseña** y haz clic en **Actualizar Contraseña** para aplicar los cambios de inmediato.
13. Ajustes y SSO Corporativo
La sección de Ajustes permite a los administradores personalizar los parámetros globales de la aplicación, habilitar asistentes virtuales e integrar la autenticación federada.
Configuración de IA Integrada
Controla el chatbot interactivo disponible en el portal. Configura el proveedor del LLM (Ollama para despliegues locales, OpenAI o Anthropic en la nube), ingresa el endpoint API y la API Key correspondiente.
SSO Corporativo (OpenID Connect / OIDC)
FinOps Hub permite federar la autenticación a través de protocolos seguros OpenID Connect (OIDC) utilizando tu proveedor de identidad corporativo (Okta, Keycloak, Google Workspace o Microsoft Entra ID / Active Directory).
Activar la Integración
Habilita el interruptor global "Habilitar SSO OIDC".
Configurar Endpoints de Identidad
Ingresa la **Issuer URL** de tu proveedor OIDC (ej: https://accounts.google.com o la URL
de Okta/Keycloak) y registra el **Client ID** y **Client Secret** creados en tu consola de identidad.
Guardar Ajustes
Pasa a guardar la configuración del panel. El botón "Iniciar sesión con SSO corporativo" se habilitará en la pantalla de login para todos los miembros de tu tenant.