Por Omar Bashir, Principal Consultant, Servicios Financieros, Reino Unido
"La nube se trata de cómo haces la computación, no de dónde la haces" Paul Maritz, ex CEO de VMWare
Introducción
"La nube es más que tecnología: es un cambio generacional", Mark Hurd, ex Co-CEO de Oracle
La nube puede ayudar a las organizaciones a lograr agilidad empresarial, flexibilidad tecnológica y economía operativa. Sin embargo, los marcos de gobernanza tradicionales son prescriptivos e intensivos en procesos. Esto distrae a los equipos de lograr los resultados mencionados y limita las oportunidades de innovación, optimización y flexibilidad en la nube.
Por lo tanto, para maximizar los beneficios, la gobernanza en la nube debe basarse en principios fundamentales que ayuden a alcanzar los resultados tecnológicos y empresariales. Creemos que la gobernanza debe basarse en los siguientes tres principios fundamentales:
- Reducir la fricción en la entrega
- Aumentar la confianza
- Optimizar los márgenes
La reducción de la fricción disminuye el tiempo de llegada al mercado, lo que ayuda a lograr agilidad y flexibilidad empresarial y tecnológica. Una mayor confianza a través de pruebas tempranas y frecuentes reduce la demanda de fallas, lo que ayuda a que los equipos se centren en la entrega de valor. Las conversaciones sobre los costos en la nube suelen centrarse en mantener los costos bajos. Sin embargo, a medida que aumentan los volúmenes empresariales, los costos también aumentan junto con los ingresos. En lugar de eso, el enfoque debería estar en mantener o aumentar los márgenes a medida que las empresas se expanden en la nube, en lugar de simplemente reducir los costos.
Además, estos principios permiten que los equipos sean autónomos y les otorgan la capacidad de adoptar y adaptar las prácticas necesarias. Esto mejora su productividad al entregar los resultados deseados dentro de las limitaciones organizativas y técnicas que enfrentan. Estos principios también son facilitadores para optimizar las métricas clave (Acelerar), que, según el Informe State of DevOps 2019, se relacionan directamente con la capacidad de una organización para alcanzar sus objetivos.
Desafíos de la gobernanza tradicional
"Los problemas actuales provienen de las soluciones de ayer", Peter Senge, autor de The Fifth Discipline
La gobernanza de TI es el medio para garantizar que las estrategias tecnológicas y empresariales estén alineadas y avancen hacia los resultados empresariales. Los marcos populares y establecidos de gobernanza incluyen COBIT (Control Objectives for Information and Related Technologies) e ITIL (Information Technology Infrastructure Library). COBIT proporciona directrices estratégicas para desarrollar, implementar, supervisar y mejorar la gobernanza tecnológica a nivel organizativo. ITIL es un marco para mejorar los servicios de TI mediante la optimización de los equipos y sus cargas de trabajo para satisfacer las necesidades del negocio. En conjunto, parecen complementarse entre sí.
Sin embargo, en la práctica, las organizaciones pueden experimentar los siguientes desafíos al implementar estos marcos:
- Implementaciones disruptivas y que consumen mucho tiempo. Las organizaciones gastan tiempo y recursos significativos en implementaciones elaboradas de COBIT y ITIL. Por lo tanto, las adaptaciones o migraciones posteriores a versiones más recientes de estos marcos se vuelven desafiantes (por ejemplo, como se indica en este reporte). Por lo tanto, a menudo existe el riesgo de que partes de estas implementaciones se vuelvan irrelevantes en entornos empresariales y tecnológicos en evolución, como la nube.
- Gobernanza prescriptiva. Si bien la alineación empresarial es un objetivo clave de ambos marcos, estas implementaciones terminan siendo orientadas a procesos y actividades en lugar de estar centradas en resultados. Por lo tanto, la gobernanza misma puede convertirse en un impedimento para la innovación y la optimización.
- Gobernanza desconectada. Más importante aún, la gobernanza termina siendo implementada y ejecutada por aquellos que están alejados del desarrollo tecnológico y la entrega de servicios. Esto resulta en una sobrecompensación en forma de puertas innecesarias en el flujo de entrega, lo que provoca el aumento de los tiempos de liderazgo y el desinterés de los empleados. El Informe State of DevOps 2020 ha analizado el impacto de la gobernanza en la entrega de cambios. Las organizaciones con aprobaciones altamente ortodoxas tienen nueve veces más probabilidades de ser altamente ineficientes. Por el contrario, las empresas con más automatización e involucramiento de los empleados en la gestión del cambio tienen tres veces más confianza en la gestión del cambio y cinco veces más efectividad con un mayor compromiso de los empleados.
Por lo tanto, las empresas pueden no beneficiarse de la flexibilidad, la agilidad y la economía de la nube si su tecnología en la nube está gobernada mediante marcos tradicionales prescriptivos, procesales y basados en actividades. Alinear equipos y sus prácticas con los principios de gobernanza y fomentar la gobernanza a través de código, en lugar de texto, hace que la gobernanza se convierta en un facilitador empresarial en lugar de ser percibida como un obstáculo.
Primeros principios para la gobernanza en la nube
"Los primeros principios son una forma de ver el mundo desde la física. Simplificas las cosas a las verdades fundamentales y dices: '¿De qué estamos seguros de que es cierto?'... y razonas a partir de ahí", Elon Musk
Para que la gobernanza sea vista como un facilitador empresarial, debe estar alineada con los negocios y centrada en resultados. Para lograr esto con éxito, debe ser:
- Responsiva a los cambios en los entornos empresariales y tecnológicos.
- Lightweight en la implementación y ejecución.
- Cubrir todo el ciclo de vida de los sistemas en la nube.
Los entornos operativos, los requisitos empresariales y las restricciones regulatorias definen en gran medida las necesidades de gobernanza de las organizaciones, lo que las hace específicas para cada organización. Además, la nube introduce tecnología en rápida evolución y un enfoque de gastos operativos (OpEx). Por lo tanto, una gobernanza efectiva en la nube requiere revisitar con frecuencia los primeros principios de gobernanza en la nube y adaptar las operaciones para continuar alineadas con ellos.
Creemos que los siguientes tres principios son los primeros principios de la gobernanza en la nube y están muy cerca de los principios fundamentales del éxito empresarial:
- Reducir la fricción: Reducir el tiempo y el esfuerzo requeridos para entregar valor al mercado, lo que también puede reducir el costo de oportunidad para el negocio.
- Aumentar la confianza: Entregar y operar tecnología de alta calidad, segura, cumpliente y resiliente.
- Optimizar los márgenes: Aprovechar la mayor transparencia de OpEx en la nube para gestionar los costos de manera que los márgenes del negocio se mantengan o aumenten incluso al escalar.
Estos principios están interrelacionados. Una mayor confianza, por ejemplo, pruebas tempranas, rápidas y frecuentes, ayuda a reducir las regresiones, lo que también ayuda a reducir la fricción en la entrega de valor. La reducción de la fricción permite obtener comentarios más rápidos y la capacidad de corregir defectos de manera rápida y temprana. Esto brinda oportunidades para una mayor confianza en general. Una mayor confianza reduce el retrabajo y una menor fricción generalmente se logra a través de tuberías y procesos más eficientes y menos derrochadores. Ambos reducen los costos en la nube, lo que ayuda a optimizar los márgenes.
Los párrafos siguientes discuten estos principios en detalle.
Reducir la fricción
La fricción en la entrega tiene dimensiones organizativas, de procesos y de tecnología. Eliminar los obstáculos en el camino del valor empresarial requiere transparencia en toda la organización. Esta transparencia resalta el desperdicio que debe eliminarse mediante la optimización de los modelos operativos empresariales y tecnológicos.
Los silos organizativos restringen la visibilidad y la responsabilidad de la entrega debido a la comprensión limitada del contexto general. Por lo tanto, las entregas entre silos requieren una coordinación considerable que obstaculiza gravemente el flujo de valor. Esto se puede reducir con equipos multidisciplinarios centrados en los resultados que son responsables de la entrega de principio a fin. Estos equipos tienen la libertad de operar mientras cumplen con los principios rectores alineados con los objetivos organizativos.
La mayor parte de la fricción y el desperdicio se debe a procesos manuales en la provisión de entornos, pruebas y promoción de compilaciones y lanzamientos. La automatización completa de las tuberías de entrega hace que estos procesos sean consistentes y eficientes. La optimización de las cuatro métricas clave (Acelerar) garantiza la mejora continua de las tuberías y los procesos de entrega.
El equilibrio entre la estandarización y la diversificación tecnológica también afecta la fricción. Una estandarización más estricta restringe la adaptación de implementaciones para cumplir con los nuevos requisitos empresariales. Por otro lado, la falta de estandarización resulta en riesgos de divergencia que conducen a mayores costos totales de propiedad. El desarrollo basado en capacidades empresariales permite identificar las subcapacidades que son comunes y se pueden estandarizar en una plataforma. Esto respalda la diversificación de las subcapacidades que brindan valor diferenciado al negocio.
Aumentar la confianza
La confianza en el valor que se entrega es mucho más completa que la simple garantía de calidad y las pruebas. Aunque ambas son medios clave para obtener esa confianza, dependen de una serie de otros factores.
La construcción de confianza comienza en el momento de la definición del producto, especificando tanto los requisitos funcionales como los requisitos cruzados funcionales (CFR, por sus siglas en inglés). Ambos son esenciales para definir la arquitectura del sistema. Por lo tanto, relegar los CFR (como rendimiento, resiliencia y seguridad) y las pruebas cruzadas correspondientes conduce inevitablemente a un trabajo costoso y complicado hacia el final de un proyecto.
Las pruebas tempranas, frecuentes y rápidas son cruciales para obtener comentarios tempranos y resolver defectos de manera temprana durante el desarrollo, cuando es fácil, económico y menos arriesgado. Esto incluye asegurar que la integridad de la arquitectura y el diseño se mantenga a través de las funciones de ajuste de arquitectura.
Además, como las pruebas son un medio para ganar confianza, también debemos tener confianza en esos medios. Las pruebas poco confiables y no deterministas reducen la confianza en el régimen de pruebas, lo que aumenta los costos de las pruebas y los tiempos de liderazgo.
La mejora continua de la resiliencia y la capacidad de soporte es clave para aumentar la confianza operativa. Cuando los problemas de soporte requieren la intervención del equipo de desarrollo, la demanda de fallas resultante reduce la capacidad del equipo para entregar valor. La capacidad de soporte se ve beneficiada con una mayor observabilidad, junto con la supervisión y las alertas.
Una seguridad mejorada con una arquitectura de confianza cero ayuda a evitar el uso malicioso o accidental del sistema. Por último, hacer cumplir el cumplimiento dentro de las tuberías de entrega garantiza consistencia y confianza en el cumplimiento de los requisitos, especialmente en industrias altamente reguladas.
Optimizar los márgenes
Sin considerar holísticamente los factores que afectan los costos en la nube, las conversaciones al respecto pueden afectar negativamente tanto los resultados empresariales como tecnológicos. Los ciclos y procesos presupuestarios tradicionales son especulativos y motivan comportamientos locales, como la sobredimensionamiento. Estos pueden anular los ahorros que ofrece la nube y restringir la capacidad del negocio para responder a las volatilidades del mercado.
Los costos en la nube representan el consumo. Se debe identificar y eliminar el consumo inútil que no proporciona valor al cliente ni beneficios empresariales. Esto generalmente se logra mediante el aumento de la capacidad unitaria de un servicio y la reducción de sus costos de escalado. El enfoque de la empresa debería ser optimizar los márgenes en lugar de simplemente reducir los costos, ya que los costos aumentarán a medida que aumenten los volúmenes empresariales.
Definir y supervisar los costos de ejecución como una función de ajuste de arquitectura, preferiblemente dentro de las tuberías de construcción, proporciona visibilidad temprana de los costos en la nube con oportunidades para equilibrar de manera óptima la capacidad unitaria y los costos de escalado. Además, aprovechar las arquitecturas hexagonales permite reubicar convenientemente la funcionalidad empresarial entre contenedores y funciones para optimizar los costos cuando los perfiles de tráfico cambian sustancialmente.
Existen numerosas oportunidades, desde la definición del producto hasta la ingeniería y las operaciones, para reducir los costos en la nube y optimizar los márgenes. Algunas prácticas clave se enumeran en la figura siguiente. El denominador común aquí es la optimización: optimizar el producto, la implementación, la entrega y las operaciones.
Curiosamente, el Informe State of DevOps 2019 encontró que las empresas que implementan las cinco características esenciales de la NIST en la nube tienen:
- 2.6 veces más probabilidades de estimar con precisión los costos operativos del software.
- El doble de probabilidades de identificar las aplicaciones más costosas en funcionamiento.
- 1.65 veces más probabilidades de mantenerse dentro de su presupuesto operativo de software.
Ponerlo en práctica
"La visión sin ejecución es una alucinación", Thomas Edison
Cualquier marco de gobernanza liviano para la nube comienza con la claridad sobre los resultados empresariales. Esto ayuda a establecer principios rectores que se derivan de los primeros principios descritos anteriormente y se alinean con los resultados empresariales.
Uno o más equipos de gobernanza interfuncionales ejecutan la función de gobernanza, que es objetiva por naturaleza y evoluciona con el viaje en la nube de la organización. Uno de estos equipos se asegura de que los principios rectores correctos estén en su lugar y de que la gobernanza ayude a lograr los resultados empresariales. Otro equipo puede ser necesario para capacitar al resto de la organización tecnológica en la implementación de prácticas alineadas con los principios rectores acordados. Para ser eficaz, esta capacitación puede involucrar todo el ciclo de vida del producto, incluidas las prácticas de gestión de productos, el desarrollo y entrega de tecnología y las operaciones.
La transparencia es clave para el éxito de la función de gobernanza y para demostrar cómo la gobernanza es un facilitador para la organización. Los equipos de gobernanza deben comunicar abierta y abundantemente los resultados empresariales, los principios rectores y las prácticas aceptadas. También deben crear medios para obtener y proporcionar comentarios a la organización sobre qué tan bien se están logrando estos resultados empresariales. Esto implicaría acordar algunas métricas relevantes con las cuatro métricas clave como los indicadores líderes esenciales del rendimiento de la organización. Los equipos de gobernanza deben permitir que la organización recopile estas métricas de manera automática y las ponga a disposición de toda la organización para verlas según sea necesario.
En conjunto, los equipos tienen la libertad dentro del marco de gobernanza de adoptar prácticas que se adapten mejor a su misión. Estas prácticas están alineadas con los primeros principios y ayudan a lograr los resultados empresariales.
Los proveedores de nube pública también han recomendado marcos de gobernanza. Microsoft Azure define cinco disciplinas de gobernanza como parte de su modelo de gobernanza del Marco de Adopción de la Nube. Estas incluyen la gestión de costos, la línea base de seguridad, la consistencia de recursos, la línea base de identidad y la aceleración de implementación. De manera similar, AWS define un marco de gobernanza que incluye definir los requisitos de gobernanza, implementar un modelo operativo de gobernanza y medir, evaluar y optimizar las operaciones en AWS. Tanto Azure como AWS proporcionan pautas completas y recomiendan herramientas para implementar estos marcos en sus respectivas plataformas.
Si se examinan de cerca, estos marcos se alinean con los primeros principios descritos aquí, y sus componentes son principios o prácticas para lograr los resultados empresariales. En conjunto, estos enfoques demuestran que la gobernanza en la nube puede ser ágil, alineada con los resultados empresariales y ser un facilitador para la organización.
La gobernanza de la nube híbrida puede presentar desafíos. Las nubes híbridas existen debido a ciertas restricciones, como regulaciones críticas de residencia de datos que requieren que algunas aplicaciones se mantengan en las instalaciones, mantener aplicaciones críticas de rendimiento en las instalaciones, etc. Los primeros principios siguen siendo aplicables para gobernar una nube híbrida como una entidad única dentro de estas restricciones. El desafío principal aquí radica en contar con una gestión y monitorización unificadas en ambos lados, público y privado, de una nube híbrida. La implementación de una nube híbrida utilizando las opciones de plataforma proporcionadas por un proveedor de nube pública, por ejemplo, AWS Outposts, Azure Stack, Azure Arc o Google Anthos,, puede simplificar este desafío de herramientas. Además, existen opciones de herramientas de gestión listas para usar para nubes híbridas.
Comenzando
"Dentro de un año, desearás haber empezado hoy", Karen Lamb
Incluso adoptar un marco de gobernanza ligero puede resultar desalentador. Requiere una forma diferente de pensar y operar. Estos primeros principios pueden sonar más como conceptos empresariales que como principios tecnológicos. Para tener éxito en la nube, tanto el negocio como la tecnología deben acercarse y tener una sólida alineación para brindar un valor indiscutible al cliente.
Pero los equipos pueden querer saber qué prácticas pueden priorizar a medida que se alinean incrementalmente con estos principios. Debido a que estos primeros principios están entrelazados, muchas de las prácticas descritas aquí se relacionan con más de un principio, como se muestra a continuación. Esta asignación ayuda a priorizar las prácticas que se alinean con la mayoría de los principios. Como se discutió anteriormente, la función de gobernanza debe facilitar y no obstaculizar a los equipos en la adaptación y adopción de prácticas que se ajusten a las necesidades de los equipos mientras se logra este objetivo.
Por ejemplo, la desactivación de características no utilizadas (3) se facilita si la arquitectura es modular (7). Una arquitectura hexagonal (8) depende de la modularización. Las arquitecturas modulares y hexagonales mejoran la capacidad de realizar pruebas y ayudan a desplazar las pruebas hacia la etapa inicial. Juntas, estas prácticas ayudan a reducir la fricción, aumentar la confianza y optimizar los márgenes.
La gobernanza y la ingeniería deben trabajar en estrecha colaboración para implementar estas prácticas y lograr eficientemente tanto resultados empresariales como tecnológicos en la nube. Y con la recopilación y difusión eficiente y automatizada de métricas, especialmente las cuatro métricas clave, tanto la gobernanza como la ingeniería reciben comentarios tempranos, frecuentes y accionables para mejorar continuamente y lograr resultados empresariales.
Aviso legal: Las declaraciones y opiniones expresadas en este artículo son las del autor/a o autores y no reflejan necesariamente las posiciones de Thoughtworks.