bluebay2014 - stock.adobe.com

Gestionar Aprenda a aplicar las mejores prácticas y optimizar sus operaciones.

DevOps impulsa la economía en tiempos de pandemia

DevOps fue un motor para mantener la economía de TI activa en Brasil y en mundo durante 2020.

Y en un tris llegamos al final de 2020, un año trascendente que quedará marcado bajo el sello del COVID-19 y todos los cambios que trajo a la vida de las personas. Sus repercusiones van más allá de las evidentes pérdidas humanas, también generó cambios en la política, la economía, la educación, las tradiciones y, en consecuencia, en nuestra existencia.

Durante todos esos meses hemos sido testigos de cómo los individuos y las empresas aplicaron diversas técnicas para adaptarse e incluso reinventarse, aunque somos conscientes que muchos no lo lograron de forma adecuada, disminuyeron su participación o tristemente desaparecieron.

Pero entre las cosas malas, también vimos cosas buenas, como algunas prácticas que lograron adecuarse rápidamente a los nuevos tiempos, e incluso promovieron la generación de empleos (solo basta ver la demanda de profesionales de TI en los sitios de empleo de Brasil) y el surgimiento de nuevas startups, particularmente en los estados de São Paulo, Minas Gerais, Espírito Santo y Rio de Janeiro.

La práctica que promovió esta tendencia positiva fue DevOps, un término creado para describir un conjunto de hábitos para la integración entre el desarrollo de software, las operaciones (infraestructura o administrador de sistemas) y los equipos de apoyo involucrados (como el control de calidad) y la adopción de procesos automatizados para la producción rápida y segura de aplicaciones y servicios.

El concepto propone nuevas reflexiones sobre el trabajo para valorar la diversidad de actividades y profesionales implicados y las actitudes de colaboración. Es un proceso que hace posible el desarrollo ágil de aplicaciones en un modelo de gestión de infraestructura definido bajo normas rígidas y burocráticas.

DevOps tiene una cultura que se basa en los siguientes pilares:

Integración continua: fácil transferencia de conocimientos y experiencias entre las áreas de desarrollo, operaciones y apoyo.

Despliegue continuo: lanzamiento rápido y continuo de nuevas versiones o servicios de software.

Retroalimentación continua: retroalimentación frecuente de los equipos que participan en todas las fases del ciclo de vida del software o del servicio.

Para lograr estos objetivos, la práctica de DevOps recomienda acciones tales como:

  • Personas integradas: Apoyar y proporcionar pensamientos que integren a las personas, hacer que compartan sus historias y desarrollar la empatía entre ellas para un trabajo conjunto efectivo y duradero.
  • Enfoque en el proyecto: Crear una atmósfera libre de culpa, con el objetivo común: el proyecto. Los profesionales deben defender el proyecto y no sus áreas de especialización. Es necesario romper las tradiciones y hacer que los equipos se comporten de manera colaborativa, constructiva y respetuosa.
  • Reuniones conjuntas: en lugar de promover discusiones aisladas con el equipo de desarrollo, operaciones o apoyo, integrar siempre por lo menos a un profesional de cada área en las discusiones del sector, de manera que tengan una comprensión de los objetivos a ser alcanzados, los recursos y la demanda previstos, los requisitos necesarios, los problemas ya enfrentados y los riesgos involucrados desde el mismo punto de vista.
  • Negocios justo a tiempo: Suministro de aplicaciones y servicios que promuevan el desarrollo empresarial con calidad y optimización del uso de recursos humanos, de tiempo, tecnológicos y/o financieros.
  • Infraestructura para los negocios: asegurar continuamente la infraestructura con un enfoque en el negocio. Implementar mecanismos que permitan al área de operaciones cumplir con las expectativas del negocio y aun así mantener su confiabilidad.
  • Desarrollo ágil: el desarrollo de software debe seguir una de las metodologías ágiles para entregas rápidas y continuas (SCRUM, XP, ...)
  • Entornos de desarrollo, homologación y producción: que existan al menos estos tres entornos y que sean idénticos para evitar que una versión de software se pruebe en un entorno y se ejecute en producción en otro, creando así problemas inesperados.
  • Estandarización de la configuración: para garantizar que los entornos sean idénticos y contengan sólo cambios aprobados, se debe implementar una gestión de la configuración de manera que cualquier cambio introducido manualmente en los servidores y no a través de una gestión de la configuración se deshaga automáticamente.

Factores imprescindibles para incrementar la cultura de DevOps

Lo antes expuesto refleja el grado de importancia que tiene la cultura de DevOps, pero una serie de ideas recopiladas en la edición 2020 del informe “State of Devops” de Puppet and CircleCI ofrece un panorama de que las organizaciones consiguieron detectar en un año tan especial como el actual.

En la encuesta se entrevistó 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 principales que surgieron de las organizaciones más maduras y de alto rendimiento: el aprovechamiento de las plataformas internas, el establecimiento de procesos eficaces de gestión del cambio y la integración total de la seguridad, y los resultados se describen a continuación:

Desarrollo de plataformas internas

Las plataformas internas surgen cuando las organizaciones tienen equipos fuertes y centrados en el producto, cada uno de los cuales es responsable de entregar un producto o servicio de principio a fin.

Esta plataforma interna tiende a ser un lugar centralizado para proporcionar infraestructura de autoservicio, entornos de prueba, conductos de despliegue, API, herramientas, conocimientos, gobernanza y apoyo. El equipo responsable de esta plataforma interna normalmente reunirá los requisitos de la empresa, proporcionará una hoja de ruta del producto y ayudará a integrar a los nuevos usuarios.

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

Las organizaciones que son capaces de construir una plataforma, teniendo en cuenta la experiencia de los desarrolladores, pueden comenzar a estandarizar las prácticas de desarrollo y reducir la mano de obra y los gastos generales.

La creación de una plataforma interna es un enfoque cada vez más popular entre los encuestados de State of DevOps, ya que el 63% afirma tener 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 usando al menos una plataforma interna.

La razón de la proliferación de plataformas es que los profesionales de DevOps más exitosos comienzan discretamente, desarrollando plataformas para un equipo específico o para cierto tipo de infraestructura -como una nube pública- y crecen a partir de ahí.

Gestión del cambio

Para las organizaciones que todavía están trabajando en la creación de una plataforma interna, la mejor manera de hacerlo es mediante una gestión eficaz del cambio.

El cambio macro de proyectos en cascada y grandes lanzamientos de software a ciclos de microservicio y despliegue más rápidos y regulares ha permitido que DevOps florezca y requiere que los equipos acepten plenamente el cambio constante.

Hacer que este proceso de gestión del cambio sea coherente es una de las partes más difíciles de los proyectos de desarrollo a escala empresarial. También es un importante diferenciador para aquellos que quieren lanzar más software con mayor frecuencia.

Los participantes en la investigación citaron la cobertura incompleta de las pruebas como el mayor obstáculo para la gestión eficaz del cambio, seguida de las mentalidades organizativas establecidas y las arquitecturas de aplicación fuertemente acopladas.

El éxito de la gestión del cambio puede medirse mediante el seguimiento de parámetros clave como la tasa de fracaso del cambio y la frecuencia de despliegue, el nivel de eficiencia en torno a las aprobaciones y el nivel de riesgo comercial aceptable.

Según el informe, los procesos de gestión del cambio más eficaces surgen cuando los equipos emplean:

  • Un alto grado de automatización de las pruebas y del despliegue;
  • Un alto grado de mitigación de riesgos automatizada;
  • Menor rigidez y procesos de aprobación manual bien reducidos;
  • Registros escritos de los cambios de código;
  • Permitir que los empleados tengan más espacio para influir en la gestión del cambio;
  • Los procesos y la cultura están alineados con DevOps.

 En resumen, el aumento de la automatización crea confianza en la gestión del cambio. En el informe se constató que las empresas con aprobaciones muy ortodoxas tienen nueve veces más probabilidades de observar altos niveles de ineficiencia en su proceso de gestión del cambio que las que tienen niveles bajos de aprobaciones ortodoxas.

Integración de la seguridad

Por último, el informe se centró en la integración de la seguridad. "Encontramos que las empresas que han logrado mayores niveles de integración de la seguridad tienen muchas más probabilidades de encontrarse en una etapa alta de la evolución de los DevOps", concluía el informe.

En cuanto a la integración de la seguridad, el informe pide específicamente "un enfoque completamente diferente que haga hincapié en la colaboración entre los equipos y que permita a los equipos de entrega prevenir, descubrir y corregir los problemas de seguridad de forma autónoma".

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

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

Investigue más sobre Desarrollo de aplicaciones

Close