1. 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.
2. Gestor de 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, tokens de Infracost, 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-infracost, 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".
3. 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 previamente configurada en el sistema.
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:
{
"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"
],
"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:
- 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:
- 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.
Importación Manual (Bulk Import JSON)
Si deseas simular costes o testear la plataforma sin APIs de red, selecciona el proveedor Manual / Bulk Import al añadir la cuenta. Podrás pegar una lista de recursos en formato JSON directamente en el formulario:
[
{
"name": "Base de Datos RDS Postgres",
"cost": 180.50
},
{
"name": "Almacenamiento S3 Buckets",
"cost": 42.10
},
{
"name": "Instancia EC2 Bastion",
"cost": 15.00
}
]
4. Clústeres 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
FinOps Hub admite tres formas de integrar y calcular el coste de Kubernetes:
Modo Cloud Native (Recomendado) Sencillo
Se vincula directamente al emparejar cuentas cloud. Agrupa los costes cruzando la facturación cloud (Cloud Billing) con las etiquetas del clúster. No requiere instalar nada en tu infraestructura.
Modo Pull (Sondeo Activo)
El backend de FinOps Hub consulta periódicamente un endpoint público expuesto de tu OpenCost usando autenticación segura mediante Bearer Token.
Modo Push (Agente Integrado)
Un CronJob configurado dentro de tu clúster Kubernetes recopila localmente las métricas y las envía al endpoint de ingesta del portal.
Es el método recomendado porque no requiere que instales ningún software, agente ni configuración compleja dentro de tu clúster de Kubernetes. FinOps Hub extrae automáticamente los costes del clúster asociando los datos de facturación de tu proveedor (Cloud Billing) con los tags del clúster (por ejemplo, el tag nativo
aws:eks:cluster-name en AWS EKS). Para activarlo, simplemente ve a tu consola del proveedor cloud (AWS/Azure/GCP) y asegúrate de que tus recursos del clúster estén etiquetados y la facturación esté activa.
Nota: Utiliza los modos alternativos (Push o Pull) únicamente si necesitas análisis de coste granular a nivel de Namespaces y Pods individuales. Para estos modos de red, sí se requiere contar con la herramienta OpenCost instalada en el clúster.
Detalle del Modo Pull
En el Modo Pull, el portal de FinOps Hub actúa como cliente HTTP. Realiza una petición GET programada al endpoint configurado de tu clúster (por ejemplo, https://k8s.miempresa.com/opencost/allocation/compute) para descargar el histórico de asignaciones de coste.
La petición incluye una cabecera HTTP estándar para validar la identidad de la llamada:
GET /allocation/compute?window=1d HTTP/1.1
Host: k8s.miempresa.com
Authorization: Bearer TU_TOKEN_DEL_CLUSTER_GENERADO
Asegúrate de configurar tu API Gateway o Ingress Controller para validar que el token de la cabecera coincide con el asignado al clúster antes de reenviar la llamada al servicio interno de OpenCost.
Detalle del Modo Push (Agente Integrado)
En el Modo Push, tu clúster es el que inicia la comunicación. Configuras un CronJob de Kubernetes que se ejecuta a intervalos regulares (ej. cada 10 minutos). Este CronJob realiza dos acciones:
- Consulta internamente al servicio OpenCost local en su puerto por defecto:
http://opencost.opencost.svc.cluster.local:9003/allocation/compute. - Envía la respuesta JSON al endpoint público de FinOps Hub (
https://portal.finopshub.es/api/metrics/ingest) en una petición POST autenticada con la cabeceraAuthorization: Bearer <Token>.
Manifiesto del CronJob para Modo Push
Puedes desplegar el siguiente manifiesto YAML en tu clúster para automatizar el envío de datos. Reemplaza TU_TOKEN_DEL_CLUSTER con el token provisto por la plataforma al crear el clúster:
apiVersion: batch/v1
kind: CronJob
metadata:
name: finops-cost-agent
namespace: opencost
spec:
schedule: "*/10 * * * *" # Se ejecuta cada 10 minutos
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
containers:
- name: metrics-pusher
image: alpine:latest
command:
- /bin/sh
- -c
- |
apk add --no-cache curl
# 1. Consultar OpenCost local
METRICS=$(curl -s "http://opencost.opencost.svc.cluster.local:9003/allocation/compute?window=10m")
# 2. Enviar a FinOps Hub
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer $CLUSTER_TOKEN" \
-d "$METRICS" \
https://portal.finopshub.es/api/metrics/ingest
env:
- name: CLUSTER_TOKEN
value: "TU_TOKEN_DEL_CLUSTER"
restartPolicy: OnFailure
Despliegue Paso a Paso (Modos Push/Pull)
Crear Clúster en el Portal
Navega a Clústeres K8s en la barra lateral de la aplicación, haz clic en "Añadir Clúster", ingresa un nombre e indica la modalidad (Push o Pull) para generar el **Token de Clúster**.
Instalar OpenCost en el Clúster
Ejecuta Helm en tu clúster de Kubernetes para desplegar el recolector de métricas de coste oficial en su namespace:
helm install opencost opencost/opencost --namespace opencost --create-namespace
Configurar Ingesta
Para **Modo Push**, aplica el archivo YAML anterior configurando tu token. Para **Modo Pull**, expón la URL del servicio OpenCost y configúrala en el panel de FinOps Hub para activar el sondeo.
5. Costes de Infraestructura como Código (IaC)
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 Git
Para auditar tus proyectos automáticamente en busca de costes de infraestructura:
Crear Token Git
Crea una credencial de tipo Secret Text en el gestor de credenciales con tu Personal Access Token (PAT) de GitHub, GitLab o Azure DevOps con permisos de lectura para tu repositorio.
Configurar Repositorio
Ve a "Costes IaC", haz clic en "Añadir Repositorio", ingresa la URL HTTPS de clonado del repositorio de infraestructura y asocia el secreto de acceso Git.
Escanear
Presiona "Escanear". El backend clonará temporalmente tu repositorio en un entorno seguro aislado, procesará los manifiestos de Terraform a través del motor Infracost y guardará el reporte estimado en tu historial.
6. 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.
7. Gobernanza
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: Localización de volúmenes de disco (EBS) sin asociar, IPs elásticas sin vincular, snapshots antiguos y balanceadores sin instancias asociadas.
- 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. 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. 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. 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.
11. 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.
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 o desviaciones menores proyectadas en GitOps.
- Crítica (Critical): Sobrecostes imprevistos de un día para otro (anomalías) 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.
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.