En mis artículos anteriores, discutimos Metodología FinOps, Visibilidad, y Optimización de costosAhora vamos a abordar el siguiente principio, probablemente el más importante: el control.
Poder ver datos históricos de sus gastos en la nube y optimizarlos es importante, pero es crucial tener la oportunidad de crear un proceso en el que los fondos se asignen y utilicen solo para lo que deberían y con una opción para administrar y pronosticar los gastos.
Los beneficios de establecer un proceso adecuado de control de costos de la nube son obvios, pero vamos a resumirlos:
- Es el principal motor de la optimización constante cuando no hay costos ocultos ni recursos huérfanos o no utilizados.
- Sin excederse en el presupuesto: usted conoce su presupuesto y puede prever el gasto proyectándolo para el mes, trimestre o, en algunos casos, incluso año actual.
- No hay peligro de daño para tu equipo, ya que este tiene que revisar periódicamente los gastos y encontrar una manera de optimizar para mantenerse por debajo del presupuesto.
10 pasos para implementar el principio de control en el proceso FinOps
- Cree un presupuesto separado para cada elemento granular que le gustaría rastrear. Puede ser (entre otros) un trabajo de CI/CD, un clúster de aplicaciones, un equipo de I+D, un proyecto de PoC, etc.
2. Asigna un responsable a cada presupuesto específico. No esperes que una sola persona pueda realizar un seguimiento adecuado de más de siete presupuestos. Puede ser un ingeniero de DevOps o un miembro del equipo de FinOps.
3. Identifique una regla sobre cómo los recursos deben incluirse en un presupuesto específico y un propietario. Puede ser una etiqueta o un prefijo o sufijo del nombre del recurso o alguna otra regla que se utilice en su empresa. Lo ideal es que los recursos puedan incluirse en los presupuestos de forma automática (recursos de trabajos de CI/CD creados con una etiqueta, los ingenieros usan su nombre como prefijo, etc.).
4. Establezca reglas TTL. Puede ser otra etiqueta o, por ejemplo, una regla para eliminar recursos con más de 24 horas de antigüedad si no contienen alguna etiqueta específica de "no eliminar".
5. Crea un script de limpieza que se ejecute periódicamente y que elimine los recursos con TTL vencido. No te olvides de los volúmenes, las instantáneas y las imágenes, son recursos costosos pero en tu empresa deberías tener otras categorías.
6. Redacte un guion o utilice herramientas de gestión de costes de la nube de terceros para calcular y realizar un seguimiento de las previsiones presupuestarias y proporcionar datos actualizados sobre los gastos de la nube a cada propietario de los recursos. Las herramientas nativas de la nube son muy limitadas en lo que respecta a la forma de realizar un seguimiento de los gastos; tenga en cuenta que la idea principal de la nube para usted es gastar más, no ahorrar. Sugiero enviar los datos a los propietarios de presupuestos y recursos todos los viernes por la mañana para que tengan tiempo de revisar y solucionar los problemas hasta que comience el fin de semana.
7. El script de la página 6 debería poder enviar alertas instantáneas si hay un gasto excesivo real o si la previsión es 1,5 veces mayor que el presupuesto. Esto da más margen para tomar medidas correctivas.
8. Controlar las instancias reservadas y el uso de los planes de ahorro. Es ridículo cuántas empresas optan por esas opciones, pero aún así las utilizan.
9. Controla el uso de instancias puntuales para trabajos de CI/CDPara la mayoría de los trabajos recurrentes, su equipo puede usar instancias puntuales, pero es posible que no esté familiarizado con la funcionalidad.
10. Este es el paso más importante. Enséñele a su equipo los pasos y explíquele por qué son importantes. Llevar a cabo todos los pasos anteriores es un proceso, no una acción que se lleva a cabo una sola vez. La mayoría de las empresas fracasan precisamente porque olvidan ejecutar los pasos de manera recurrente.
Ten en cuenta también que hay herramientas de gestión de costos en la nube que pueden ayudar con lo principal y encargarse de la mayoría de los pasos, pero no de todos. Si tu equipo no se lo toma en serio o no está capacitado, no sacarás lo mejor de FinOps.
El etiquetado es uno de los pasos iniciales en el proceso de adopción de FinOps y optimización de costos de la nube. Permite identificar a los propietarios de los recursos y el propósito de su uso de manera impecable y obtener una transparencia total de los costos de la nube. Aprenda a definir un sistema de etiquetado para los recursos de la nube → https://hystax.com/how-to-define-a-tagging-system-for-cloud-resources.
Nick Smirnov, CEO en Hystax