Llegamos a ustedes gracias a:



Reportajes y análisis

Las 3 claves para aumentar el uso de DevOps empresarial

[31/12/2020] Las organizaciones más maduras en sus trayectorias de DevOps confían en plataformas internas de autoservicio, procesos automatizados de gestión de cambios y seguridad integrada, según el informe 2020 State of Devops de Puppet y CircleCI.

El informe encuestó a más de 2.400 profesionales técnicos de todo el mundo sobre su continua adopción de DevOps y prácticas ágiles, con tres temas clave que emergen de las organizaciones más maduras y de alto rendimiento: aprovechar las plataformas internas, establecer procesos efectivos de gestión del cambio, e integrar estrechamente la seguridad. Abordémoslos uno por uno.

Construir plataformas internas

Las plataformas internas surgen cuando las organizaciones tienen equipos sólidos y centrados en el producto, cada uno de los cuales es responsable de la entrega de un producto o servicio de un extremo a otro.

Esta plataforma interna tiende a ser una ventanilla única local para el aprovisionamiento de autoservicio de infraestructura, ambientes de prueba, canalizaciones de implementación, APIs, herramientas, conocimiento, gobernanza y soporte. El equipo responsable de esa plataforma interna generalmente recopilará los requisitos comerciales, proporcionará una hoja de ruta del producto y ayudará a incorporar nuevos usuarios.

La plataforma interna permite a los equipos de desarrollo de aplicaciones crear, implementar y ejecutar sus aplicaciones de una manera estandarizada y difiere de las plataformas como servicio genéricas vendidas por proveedores como AWS, Azure, Google Cloud Platform, IBM/Red Hat o VMware.

Al igual que con cualquier gran idea, esto a menudo puede fracasar cuando se aplica a una empresa muy compleja, con cientos de productos o servicios, y varios equipos que atienden a cada uno con sus propios procesos y tecnología únicos.

"Frecuentemente, una de las razones por las que DevOps no se expande más, es que la mayoría de las empresas están estructuradas de manera que crean incentivos desalineados y falta de responsabilidad o propiedad sobre los resultados que se supone deben generar», escriben los autores del informe.

Desafíos de DevOps empresarial

Esa falta de estandarización lleva a la empresa hacia un conjunto común de desafíos de DevOps. El informe identifica tres:

  • La gobernanza se vuelve cara y casi imposible de gestionar.
  • Los stacks separados reducen el intercambio de conocimientos en toda la organización.
  • Muchos de sus equipos de productos en realidad no tienen las habilidades o la experiencia para operar una infraestructura completa y un stack de aplicaciones.

Las organizaciones que pueden construir una plataforma, teniendo en cuenta la experiencia del desarrollador, pueden comenzar a estandarizar las prácticas de DevOps, y reducir el trabajo y los gastos generales en todos los ámbitos. Esta plataforma debe permitir el aprovisionamiento, la configuración y la administración de autoservicio, de modo que cada equipo pueda concentrarse en su producto sin tener que esperar a que un equipo centralizado les proporcione la infraestructura.

"Centrarse en la experiencia y el flujo del desarrollador. No podemos enfatizar lo suficiente que la empatía es un conjunto de habilidades fundamentales. La empatía significa comprender la posición de alguien, y es imposible construir un buen producto sin tener empatía por su usuario, advierte el informe.

La construcción de una plataforma interna es un enfoque que es cada vez más popular entre los encuestados por State of DevOps, y el 63% afirma que tiene al menos una plataforma interna de autoservicio. De los que tenían plataformas internas, el 60% tenía entre dos y cuatro, y casi un tercio de los que tenían plataformas internas tenían entre el 26% y el 50% de sus desarrolladores utilizando al menos una plataforma interna.

La razón de la proliferación de plataformas es que los profesionales de DevOps más exitosos comienzan con poco, construyendo plataformas para un equipo específico, o para un cierto tipo de infraestructura -como la nube pública- y aumentando su escala desde allí. Este enfoque es mejor que intentar construir una plataforma de gobernanza para todos, basándose en un conjunto de supuestos generales sobre lo que necesitan sus equipos. Un enfoque de "constrúyelo y ellos vendrán aquí, está destinado al fracaso.

Más importante aún, las empresas más evolucionadas, según la definición de los autores del informe, tenían casi el doble de probabilidades que las organizaciones de nivel medio de informar un alto uso de plataformas internas, y seis veces más probabilidades de informar un alto uso en relación con las organizaciones de bajo nivel.

Estandarizar la gestión del cambio

Para aquellas organizaciones que aún se están abriendo camino hacia una plataforma interna, la mejor gestión del cambio es la mejor vía de acceso.

El cambio macro de proyectos en cascada y grandes lanzamientos de software a microservicios, así como a ciclos de implementación más rápidos y regulares, ha permitido que los DevOps prosperen y requieren que los equipos adopten por completo el cambio constante. Hacer que ese proceso de gestión de cambios sea coherente es una de las partes más difíciles de las operaciones de desarrollo a escala empresarial. También es un diferenciador clave para cualquiera que busque lanzar más software con más frecuencia.

Los encuestados citaron la cobertura de prueba incompleta como la mayor barrera para una gestión de cambios eficaz, seguida de una mentalidad organizativa establecida y arquitecturas de aplicaciones estrechamente acopladas.

Solo rompiendo los silos entre la gestión de cambios, la gestión de versiones, los equipos de auditoría y cumplimiento, creando ciclos de retroalimentación efectivos y siguiendo el progreso, las organizaciones pueden madurar sus procesos de gestión de cambios.

El éxito de la gestión de cambios se puede medir mediante el seguimiento de métricas clave como la tasa de fallas del cambio y la frecuencia de implementación, el nivel de eficiencia en torno a las aprobaciones y el nivel de riesgo aceptable para el negocio.

Según el informe, los procesos de gestión de cambios más efectivos se producen cuando los equipos emplean:

  • Un alto grado de automatización de implementación y pruebas
  • Un alto grado de mitigación de riesgos automatizada
  • Procesos de aprobación menos rígidos y mucho menos manuales
  • Cambios de escritura en el código
  • Una mayor margen de influencia, por parte de los empleados, para influir en la gestión del cambio
  • Procesos y cultura DevOps

En resumen, una mayor automatización genera confianza en la gestión del cambio. El informe encontró que las empresas con aprobaciones muy ortodoxas tienen nueve veces más probabilidades de ver altos niveles de ineficiencia en su proceso de gestión de cambios que aquellas con bajos niveles de aprobaciones ortodoxas.

El espectro de la gestión de cambios automatizada comienza con una revisión secundaria -es decir, sin automatización- hasta el santo grial de la implementación y las pruebas completamente automatizadas, con evaluación de riesgos incorporada y capacidades de progresión inmediata.

Centrarse en la integración de la seguridad

Por último, el informe se centró en la integración de la seguridad. "Descubrimos que las empresas que han logrado niveles más altos de integración de seguridad tienen muchas más probabilidades de estar en una etapa alta de evolución de DevOps, concluyó el informe.

Mediante la integración de la seguridad, el informe solicita específicamente "un enfoque completamente diferente, uno que enfatiza la colaboración entre equipos y les permite a los equipos de entrega evitar, descubrir y remediar de manera autónoma los problemas de seguridad. Romper los silos de conocimiento entre los equipos y colaborar para mejorar la seguridad, aumentan la conciencia general sobre los problemas de seguridad, lo que hace que sea más probable que todos, incluso aquellos fuera del equipo de seguridad, adopten patrones conocidos para la protección de la seguridad».

El informe mostró una fuerte correlación entre la capacidad de integrar la seguridad completamente en el proceso de entrega de software, y la capacidad de una organización para remediar vulnerabilidades críticas rápidamente.

Específicamente, el 45% de las empresas con integración de seguridad completa informaron que podían remediar vulnerabilidades críticas en un día, mientras que solo el 25% de las empresas con integración de seguridad baja podían hacer lo mismo.