Ahora que ya sabemos qué es FinOps y tenemos claros los principios básicos, os contamos cómo empezar la adopción del framework, desde los primeros pasos hasta los estados de madurez de FinOps, con ejemplos prácticos sobre alguna capacidad concreta.
Según la FinOps Foundations, uno de los principales desafíos (pain point) para las compañías es ‘Adopción organizacional de FinOps’:
Establecer una única hoja de ruta para la adopción de FinOps es complejo y no tiene mucho sentido, ya que dependerá de cada compañía, pero sí queremos daros una visión de por dónde empezar a dar los primeros pasos.
Una de las claves para la implementación de Cloud FinOps es tener un equipo centralizado con visión cross de la compañía. Este equipo debe estar formado con perfiles clave de ingeniería, finanzas, tecnología y liderazgo.
El tamaño del equipo y quienes son las personas clave es una de las preguntas más repetidas.
La FinOps Foundation propone los siguientes perfiles clave: FinOps Personas, es una visión ambiciosa y aspiracional. No vamos a repasar todos y cada unos de los roles, destacamos las áreas y roles de mayor relevancia e impacto en la práctica:
- Executives: CEO/CIO/CTO/CFO.
- Garantiza que las inversiones en la nube estén alineadas con los objetivos comerciales.
- Aprovechar la tecnología para darle al negocio una ventaja competitiva.
- Administrar el gasto de utilización de la nube (entre otros costes en toda la organización).
- FinOps/CCoE Partitioner: Cloud FinOps Manager, Cloud FinOps Analyst, Cost Optimization Lead.
- Impulsar las mejores prácticas en la organización a través de la educación, la estandarización y el crecimiento y apoyo cultural.
- Supervisión de la función FinOps para respaldar las unidades de negocios con iniciativas en la nube, garantizando la alineación con las metas comerciales y los objetivos clave.
- Se centra en monitorizar y auditar el gasto en la nube, el cumplimiento del presupuesto y el ahorro de costes, con el objetivo de mejorar la eficiencia de los costes operativos
- Engineering / Platform: ingenieros, DevSecOps, ingenieros de sistemas, arquitectos Cloud.
- Considera los costos de las decisiones de arquitectura y ayuda en la automatización tanto de los datos de facturación como de optimizaciones, informes de presupuestos y pronósticos, y gobierno.
- Diseño y uso eficiente de los recursos a través de actividades como resizing, asignación de costes, encontrar almacenamiento y recursos de computación “unused” e identificar si se esperan anomalías en los gastos.
- Crea e integra análisis de datos para informes, reportes y modelos financieros en la nube
- Desarrolla e integra herramientas de automatización de costes en la nube en los procesos de integración y entrega continua.
- Finance: equipo financiero, analistas, centro de costes, etc.
- Utilizan los informes proporcionados por el equipo de FinOps para la asignación de costes, la asignación de presupuesto y la previsión.
- Trabajan en estrecha colaboración con los profesionales de FinOps para comprender los datos históricos de facturación, de modo que puedan colaborar y crear modelos de forecasting precisos utilizados para la planificación y la elaboración de presupuestos.
La realidad es que a la hora de empezar a poner en marcha una iniciativa de FinOps debes seleccionar los stakeholders adecuados para que la iniciativa tenga éxito. Entre estos stakeholders hay que contar perfiles de gran relevancia y de áreas de peso en la compañía.
Respecto al tamaño de los equipos, no es algo cerrado y depende tanto del tamaño de la compañía como del estado de madurez. La FinOps Foundation nos da una visión de cómo han ido evolucionando el tamaño de estos equipos, tamaño de equipo promedio de cinco 5 en 2021.
Como veis no hay una única respuesta a esta pregunta, lo que sí podemos deducir es que hay un interés creciente hacia la inclusión de Cloud FinOps como práctica de gestión financiera con un equipo centralizado dedicado.
Para poder abordar la práctica de FinOps de manera ordenada y con sentido común se han definido tres estados de madurez. Este enfoque permite a los equipos de FinOps ejecutar tareas acotadas en alcance, evaluar los resultados y tomar medidas de forma rápida y granular, aportando valor desde el inicio.
Como hemos visto en secciones anteriores, existen tres estados de madurez:
- Crawl (gatear):
- Existen muy pocos informes y herramientas para la gestión de costes.
- No existen o si existen los KPI son básicos y están enfocados para la medición del éxito.
- Los procesos y políticas básicas se definen en torno a la capacidad.
- Los equipos dentro de la organización no están informados, ni involucrados en la gestión financiera.
- Walk (caminar):
- FinOps se comprende, existe un equipo centralizado y la práctica se sigue dentro de la organización.
- Existe un roadmap y objetivos claros de qué capacidades abordar y potenciar.
- La automatización y/o los procesos cubren la mayoría de capacidades del framework.
- Existen KPIs medio-altos establecidos para medir el éxito.
- Run (correr):
- FinOps se comprende, existe un equipo centralizado y la práctica se sigue por todos los equipos dentro de la organización.
- Existe un roadmap y objetivos claros de qué capacidades abordar y potenciar y se están abordando edge cases.
- Objetivos/KPI muy altos establecidos para medir el éxito.
- La automatización es el enfoque por defecto.
Ahora que sabemos cuáles son los estados de madurez, hay que analizar cada una de las capacidades del framework para identificar en qué estado está la compañía y definir tareas relacionadas, en función de la madurez, para cada una de las fases (que veremos más adelante).
Capacidad: Asignación de costes (metadatos y jerarquía) [Cost Allocation]
No vamos a entrar en cada una de las capacidades, pero os dejamos un ejemplo con una capacidad concreta (una de las que consideramos más prioritaria) y las tareas a las que nos enfrentamos en cada fase del modelo: capacidad: asignación de costes (metadatos y jerarquía).
La asignación de costes es el conjunto de prácticas para dividir una factura o factura consolidada entre quienes son responsables de las distintas partes que la componen. En el contexto de FinOps, esto normalmente implica dividir las facturas consolidadas de los Cloud Service Provider entre varios grupos de TI que utilizan la nube dentro de la organización.
La asignación de costes puede ser un desafío para dividir adecuadamente la factura total de la nube entre las muchas partes de una organización que la utilizan. Se utilizan labels o tags para identificar recursos, grupos de recursos o agrupaciones lógicas de recursos (jerárquicos) para la identificación, ya sea para “showback” o “chargeback”.
Un prerrequisito importante para una asignación eficaz de costes es la estrategia de metadatos (Tagging), que debe incluir todos los detalles que rigen el proceso de asignación de costes.
Crawl | Walk | Run |
---|
Asignación de costes generalista (poco granular). | Mecanismos para la asignación de costes bien establecidos (estandarizados y uso consciente). | Las estrategias para metadatos, jerarquía y estándares de nomenclatura se utilizan de manera consistente, efectiva y global. |
Asignación “fija” de costes: Por cuenta, proyecto, subscripción. | Asignación de costes granular (grupos de recursos, proyectos, etc.). | Asignación de costes granular, adecuada para la organización y flexible. |
Costes desconocidos (sin tag/label). | Existen partes de la infraestructura sin asignación tan granular. | Existen, se entienden y están automatizados los KPI para la asignación de costes. |
Estrategia de metadatos poco instaurada (no estandarización de etiquetas o uso escaso de las mismas). | Existen y se entienden los KPI para la asignación de costes. | Alta automatización para la gestión financiera y uso de herramientas (cloud, internas o de terceros) integradas y mantenidas. |
Sin KPIs. | Baja automatización. | |
Tareas específicas:
- Establecer/revisar una estrategia de tageado/etiquetado de recursos: estándares de nomenclatura, jerarquía, etc.
- Determinar cómo y cuándo se aplicarán los tags/labels a grupos de recursos y recursos jerárquicos.
- Automatizar el tagging para la asignación de costes.
- Granularizar la asignación de costes-
- Definir e identificar las unidades organizativas y presupuestarias a las que se asignan los costes.
- Retroalimentar /Iterar el proceso de asignación en función del feedback de los equipos implicados (Ej. Incluir nuevas fuentes de metadatos, mejorar la automatización, etc.).
Es importante recordar que, como nos dicen los principios de FinOps, el valor empresarial debe impulsar nuestra toma de decisiones, por lo que hay que valorar el esfuerzo dedicado a evolucionar cada una de las capacidades para seguir aportando mayor valor a negocio.
De nada sirve un estado de madurez alto en una capacidad concreta, si dejamos de lado otras capacidades que sabemos o hemos identificado que contribuyen al valor empresarial.
El framework define una serie de fases iterativas. Cualquier compañía puede estar en varias fases en cualquier momento, dependiendo de la unidad de negocio, aplicación o equipo esté involucrado en la adopción de la práctica.
Las fases definidas por el framework e independientes de la nube que uses son:
- Inform: visibilidad y responsabilidad.
- Identificación de fuentes de datos para los datos de coste, uso y eficiencia de la nube.
- Generación de informes: presupuestos, forecasting, evaluaciones comparativas, etc.
- Establecer gobernanza y políticas para administrar el gasto en la nube y obtener valor comercial.
- Impulsar la responsabilidad financiera y definir un conjunto de KPI y métricas
- Visibilizar:
- Perspectivas de coste, Chargeback, Showback.
- Categorías de costes, Agrupación dinámica.
- Kubernetes Cost Allocation (By Node/Cluster/Workload).
- Asignación de costes de Kubernetes (por nodo/clúster/workload).
- Visualizaciones de costos multicloud.
- Importar costes de terceros.
- Paneles de BI personalizados.
- Forecasting.
- Inventario de la nube.
- Operate: mejora continua, planificación, herramientas & aceleradores.
- Implementar e integrar un conjunto de herramientas en la nube para administrar y rastrear de manera efectiva el gasto sobre la nube.
- Modernizar los métodos de elaboración de presupuestos, y forecasting para permitir prácticas de desarrollo iterativas, innovadoras y rentables.
- Implementación de cambios organizacionales para poner en funcionamiento FinOps utilizando los datos y las capacidades desarrolladas en la fase de Informar y Optimizar.
- Establecer políticas de gobierno de la nube: aplicación automatizada de reglas de gobernanza, presupuestos, alertas y reporting.
- Optimize: optimización de costes, tarifas y uso.
- Proporcionar visibilidad financiera y recomendaciones sobre el uso de recursos de TI para optimizar el gasto en la nube.
- Colaboración entre equipos para optimizar la visibilidad, los informes y los procesos de gestión.
- Identificar oportunidades para mejorar la eficiencia de la nube:
- Detección de anomalías.
- Gestión automatizada de recursos inactivos.
- Spot Orchestration.
- Orquestación de clústeres en spot instances.
- Recomendaciones del node-pool de Kubernetes.
- Recomendaciones de workload de Kubernetes.
- Recomendaciones multicloud compute AWS, Azure, GCP, Oracle, etc.
- Identificar y optimizar las tarifas de la nube: Committed use discounts (CUDs), Savings Plans (SPs), Instancias reservadas (RI), etc.
- Identificar posibles medidas de optimización de licenciamiento
Finalizamos aquí este segundo post de la serie. Hemos introducido muchos conceptos y capacidades que se deben procesar y entender para poder dar los primeros pasos.
En el siguiente post, FinOps modo avanzado: Crawl, Walk, Run & herramientas, hablaremos de por dónde continuar, daremos pistas para ver si FinOps está funcionando y qué herramientas nos pueden ayudar.
Tell us what you think.