Todo es mejor como código: El uso de las FinOps para gestionar los costos de la nube

Nota: Hacemos nuestro mejor esfuerzo por preservar el espíritu original y los matices de nuestros artículos. Sin embargo, nos disculpamos de antemano por cualquier falla de traducción que pueda notar. Agradecemos sus comentarios en reader_input@mckinsey.com

¿Le suena familiar? Una empresa gasta más de $50 millones de dólares al año en servicios en la nube con un pequeño equipo de operaciones financieras (financial operations, o FinOps) dedicado a rastrear los gastos. Este equipo, apoyado por contratistas, utiliza diversas soluciones para monitorear y controlar el gasto, así como para identificar ineficiencias y oportunidades de mejora. Sin embargo, el despilfarro en la nube persiste, desde el almacenamiento de datos innecesarios hasta el uso de servicios excesivamente caros.

Estas situaciones no son únicas. Analizamos más de $3,000 millones de dólares en gasto en la nube en diversas organizaciones y sectores, y descubrimos que la mayoría de las empresas tenían ahorros de costos adicionales sin explotar de entre el 10 y el 20 por ciento (vea el recuadro “Metodología”). Pero incluso cuando se identifica una oportunidad significativa, los equipos de FinOps a menudo encuentran dificultades para capturar ahorros más allá de su mandato. Una de las principales razones es que los ingenieros no tienen los incentivos ni el acceso para actuar sobre los costos de la nube.1 Las acciones para optimizar los costos suelen quedar en el camino para los ingenieros, que ya están sobrecargados con múltiples prioridades empresariales, implementado acciones de resiliencia y mejorando la seguridad.

Por ello, algunas organizaciones están adoptando una filosofía de “todo como código” para las FinOps, similar al enfoque utilizado en la seguridad y la infraestructura.2 Las operaciones financieras como código (FinOps as code, o FaC) ayudan a reducir costos al integrar automáticamente las mejores prácticas de las FinOps en los flujos de trabajo de los ingenieros. Cuando se combina con técnicas de observabilidad y un sólido conjunto de políticas de seguridad, las FaC pueden optimizar los costos.

Más perspectivas de McKinsey en Español

Mire nuestra colección de artículos en Español y suscríbase a nuestro newsletter mensual en Español.

Navegue por la colección

Estimamos que el valor potencial de las FaC es de unos $120 mil millones de dólares, basado en un gasto proyectado de alrededor de $440 mil millones de dólares en infraestructura de nube como servicio (cloud infrastructure as a service, o IaaS) y plataforma como servicio (platform as a service, o PaaS) a nivel global en 20253, así como en el aproximadamente 28 por ciento del gasto en la nube que las organizaciones reportan como desperdicio.4

En este artículo, analizamos el papel de las FaC cuando se integran en el ciclo de vida de la gestión de la infraestructura (infrastructure management life cycle, o IMLC), los beneficios para los equipos de ingeniería y un conjunto de herramientas que las organizaciones pueden utilizar para hacer realidad las FaC.

¿Qué son las FaC?

Las FaC son un enfoque práctico para integrar los principios de gestión financiera en el IMLC5 con el fin de gestionar automáticamente los costos de la nube. Mediante una combinación de automatización, aplicación de políticas y servicios nativos de la nube, las FaC permiten a las organizaciones implementar las directrices de las FinOps directamente en los procesos de desarrollo, despliegue y aprovisionamiento de infraestructura6 (Gráfica). Además, las FaC pueden utilizarse para hacer cumplir los presupuestos y las prácticas de arquitectura rentables, identificar automáticamente las áreas de reducción de costos y apoyar una mejor programación de los recursos.

Las FinOps como código permiten que las directrices de FinOps se codifiquen directamente en los canales de aprovisionamiento de infraestructura

 

Utilizar herramientas (p.ej., Infracost) para proyectar el costo de la infraestructura

 

 

Entorno de desarrollo integrado

 

 

Sistemas de control de versiones (p.ej., GitHub)

 

 

Integrar controles de las FinOps directamente en los canales de CI/CD1 para un desarrollo rentable de infraestructura como código

 

 

Desarrollar y probar

 

 

Desarrollo, puesta en escena y producción

 

 

Utilizar herramientas de las FinOps para monitorear el uso de recursos en la nube e identificar oportunidades de optimización de costos

 

 

Desplegar

 

 

Implementar estrategias de gestión de costos basadas en datos de monitoreo

 

 

Monitoreo continuo del rendimiento y los costos de la aplicación

 

Monitorear y optimizar

 


Si las FaC se integran correctamente en el IMLC, las FinOps reducen la deuda arquitectónica (las configuraciones de codificación complejas o únicas que hacen que los ajustes futuros sean más tardados y costosos) y fortalecen la calidad del código. También disminuyen la necesidad de intervención manual mediante el uso de código y automatización para hacer cumplir las políticas de gobernanza de costos de la nube.

Estas nuevas políticas de las FaC también pueden aplicarse a una amplia variedad de activos o cuentas en la nube a nivel granular para optimizar su uso y lograr ahorros de costos. Por ejemplo, un gran minorista convirtió métricas de utilización en reglas de FaC que identificaban oportunidades para apagar servidores por las noches y los fines de semana. Como resultado, el minorista redujo sus costos de la nube en aproximadamente un 6 por ciento. Este enfoque también puede ayudar a evitar posibles desperdicios en nuevas áreas de crecimiento, lo que garantiza la eficiencia desde el principio.

Los beneficios de las FaC para los ingenieros

En comparación con un enfoque tradicional y más manual de las FinOps, las FaC ofrecen varias ventajas para los equipos de ingeniería:

  • Automatizan la optimización de costos. Los proveedores de la nube introducen continuamente nuevos servicios que pueden ser más rentables y ofrecer un mejor rendimiento. Las FaC liberan a los ingenieros de la carga de implementar estos cambios y utilizan código para incorporarlos automáticamente en su flujo de trabajo. Por ejemplo, un proveedor de la nube presentó una oferta de almacenamiento optimizado que era más barata y más compatible con las máquinas virtuales (virtual machines, o VM).7 Una vez que los equipos de las FinOps convierten esa oferta en código y la implementan, los modelos de almacenamiento heredados pueden actualizarse automáticamente a las nuevas VM.
  • Proporcionan visibilidad en tiempo real de costos y responsabilidad para los ingenieros. Las herramientas de las FaC brindan a los ingenieros visibilidad inmediata de las implicaciones de costos de sus diseños en un entorno de desarrollo integrado8, lo que les permite tomar decisiones más rentables antes de desplegar el código. Esta retroalimentación en tiempo real fomenta una cultura de responsabilidad financiera desde las primeras etapas del desarrollo (shift-left). Como parte de los procesos de implementación, los desarrolladores pueden revisar los informes financieros y las organizaciones pueden hacer cumplir las restricciones presupuestarias.
  • Reducen las disrupciones y el trabajo de “mantenimiento”. El enfoque tradicional de “limpieza de primavera anual” —la práctica de realizar periódicamente actividades de mantenimiento y depuración en una base de código— suele requerir que las empresas desconecten recursos o realicen cambios significativos en las configuraciones. Esto interrumpe el trabajo y, a menudo, afecta negativamente a los clientes, y no es un buen uso del tiempo de los ingenieros. En su lugar, los equipos de ingeniería podrían emplear las FaC para optimizar continuamente los recursos y las configuraciones, reduciendo así las disrupciones y permitiendo que los ingenieros dediquen su tiempo a tareas más importantes.
  • Facilitan una asignación y planeación más eficiente de los recursos en la nube. Los equipos de ingeniería pueden usar las FaC para identificar en tiempo real dónde se están utilizando los recursos en la nube de manera ineficiente y automatizar la corrección de esas ineficiencias. Optimizar este proceso libera presupuestos operativos para que los fondos puedan reinvertirse en innovación adicional y desarrollo de funciones.
  • Identifican infraestructura olvidada o en desuso. Ya sea debido al rápido desarrollo y expansión de aplicaciones, o como parte de los procesos de retiro de sistemas, algunos componentes de infraestructura como direcciones IP no asignadas, interfaces de red, copias de seguridad y snapshots pueden seguir generando costos para la organización. Las FaC pueden ayudar a identificar estos componentes y, mediante procesos automatizados de remediación, eliminarlos. Esto también puede resolver brechas en la devolución de cargos (charge-back) y mejorar la visibilidad de los gastos asociados con activos y aplicaciones que deberían haber sido retirados.

La caja de herramientas de las FaC

La implementación de las FaC no tiene que ser excesivamente difícil, a pesar de su aparente complejidad. Sí requiere que las empresas comprendan claramente lo que se necesita y se comprometan a integrar las FaC en la producción. Para hacer realidad las FaC, las organizaciones deben centrarse en cuatro componentes:

  • Herramientas especializadas. Una implementación efectiva de las FaC requiere las herramientas adecuadas para aplicar políticas. Son necesarias herramientas (por ejemplo, Open Policy Agent) que validen los scripts de infraestructura como código (infrastructure as code, o IaC) frente a políticas predefinidas que están escritas en un lenguaje declarativo optimizado para la configuración de políticas (por ejemplo, Rego). Otras herramientas, como las que ofrecen barreras de seguridad de IaC similares a las políticas como código (policy as code, o PaC), se enfocan en diferentes áreas de la gestión de la nube.
  • Categorización de políticas. Las organizaciones pueden establecer una categorización sencilla de políticas según su función. Un ejemplo son las políticas de informar, advertir y bloquear, que son un conjunto de medidas de control de acceso que gestionan el acceso de los usuarios a los recursos en función de condiciones predefinidas. Las políticas de informar proporcionan al equipo recomendaciones bien estructuradas, como aprovechar un servicio de base de datos nativo de la nube en lugar de un enfoque de hágalo usted mismo. Las políticas de advertir alertan a los equipos –sin impedir el aprovisionamiento– sobre las mejores prácticas que no se están siguiendo (por ejemplo, la ausencia de un grupo de autoscaling). Las políticas de bloquear impiden por completo el despliegue si se cumplen ciertas condiciones, como aprovisionar más de $100,000 dólares en infraestructura para un entorno de desarrollo. Las mejores prácticas incluyen ejecutar estas políticas contra la IaC en cada solicitud de extracción antes de promoverla a producción.
  • Scripts de políticas. Los scripts de políticas son la columna vertebral de las FaC. La IA generativa puede simplificar la creación de políticas mediante el uso de prompts en lenguaje natural, el entrenamiento en un gran conjunto de datos de controles y políticas de las FinOps y la implementación de la generación aumentada por recuperación (retrieval-augmented generation, o RAG). Al comienzo del proceso de las FaC, las organizaciones solo necesitan entre diez y quince políticas. Para determinar qué políticas crear, las organizaciones pueden examinar las principales fuentes de desperdicio, como el mantenimiento de entornos no productivos fuera del horario laboral o la configuración de períodos de retención de registros innecesariamente largos. Luego, los equipos pueden identificar y probar un caso de uso específico que pueda implementarse con recursos limitados.
  • Gestión del cambio. La implementación exitosa de las FaC requiere una gestión del cambio efectiva. A medida que se implementan las políticas, es fundamental notificar a todas las partes interesadas clave sobre las nuevas políticas de cumplimiento y asegurarse de que los ingenieros comprendan qué son las FaC, cuál es su valor y cómo afectan sus operaciones diarias. Esto garantiza una adopción fluida y minimiza la resistencia a los nuevos procesos.

La gestión de los costos de la nube debería ser más ciencia y menos arte. Mediante las prácticas de las FaC, las empresas pueden aprovechar el código para obtener una variedad de beneficios, desde la automatización de la optimización de recursos hasta el fomento de la responsabilidad financiera y la reducción de la presión sobre los equipos de ingeniería para mantener los resultados de la optimización.

Explore a career with us