Thu. Sep 29th, 2022

Ingeniería de construcción y DevOps: parece que nunca los dos se reunirán. La ingeniería de construcción suministra el sistema de construcción, con sus herramientas y procesos que facilitan el desarrollo y la implementación del software. Los profesionales de DevOps utilizan los principios de Agile para desarrollar e implementar aplicaciones con sus equipos. Aunque la ingeniería de construcción y los DevOps son actividades distintas pero conectadas, las organizaciones no suelen unirlas.

DevOps ha disfrutado de una creciente adopción en los últimos 10 años aproximadamente. Antes de eso, había una división discreta entre la codificación, realizada por desarrolladores e ingenieros, y la implementación, realizada por operaciones (también conocida como “Operaciones”). Sin embargo, se hizo evidente que para que las empresas optimicen los beneficios y aumenten la productividad, el desarrollo y las operaciones no deberían ser tan dispares. El resultado de esta alineación es DevOps.

Este cambio a metodologías ágiles ha producido tanto aspectos positivos como negativos. Las organizaciones han intercambiado códigos de propiedad por código abierto, seguridad por velocidad y seguridad por agilidad:

  • La fuente abierta ahora es ampliamente preferida sobre el código propietario debido a los costos más bajos, la mayor innovación y la transparencia que ofrece. En lugar de centrarse en crear código propietario, los desarrolladores pueden iterar rápidamente en una solución al ensamblar código de fuente abierta y acelerar el tiempo de comercialización. Además, la capacidad de aprovechar lo que ya se ha creado puede liberar a sus equipos de desarrollo para innovar y crear IP para los esfuerzos de su empresa.
  • Llegar rápidamente al mercado se ha convertido en un hecho de la vida. La velocidad ahora es más importante que reparar las vulnerabilidades, que siempre se pueden abordar en la próxima versión (con suerte). Y el reacondicionamiento para la seguridad y las vulnerabilidades después de que el hecho se convierta en un gran bloqueador para los equipos de Desarrollo e Ingeniería. Al final del día, el riesgo de pérdida de beneficios es mayor que el riesgo de amenazas desconocidas potenciales
  • En consecuencia, la agilidad vence a la certeza. Por ejemplo, los impulsos iterativos hacia la producción eliminan los planes de trabajo conocidos y fijos en favor de implementar cualquiera de las características y funciones más importantes de esta semana. La tendencia hacia la inmutabilidad también es importante aquí; por lo general, es más sencillo y rápido desechar algo que está roto o desactualizado en lugar de intentar arreglarlo o actualizarlo

Estas compensaciones son más fáciles de manejar para organizaciones con procesos de DevOps maduros. Para la mayoría, la tensión entre arreglar algo y saber si se romperá algo aguas arriba no se ha eliminado. Es posible que pueda actualizar y parchear rápidamente una única solución, pero ¿cómo afectará esto una vez que empuja a su flujo de CI? Incluso para las organizaciones de DevOps maduras, hay un costo de oportunidad oculto asociado con dos factores que se pasan por alto: los lenguajes de programación de código abierto y la ingeniería de construcción.

Los equipos deben centrarse en lo que importa: crear y entregar el último lanzamiento. La actualización de su idioma de código abierto de elección con nuevas versiones, dependencias, parches de seguridad y demás agrega sobrecarga a sus equipos de DevOps.

La ingeniería de construcción sufre cada vez que se actualiza el lenguaje de código abierto subyacente. Debe reconstruir todos sus entornos de desarrollador, sistemas de CI / CD y entornos de producción. Todo este trabajo de ingeniería de construcción es manual, ralentiza el tiempo de comercialización y consume recursos de ingeniería valiosos. Además, no está seguro de que su reconstrucción y actualización proporcionarán mejoras de rendimiento que justifiquen la actualización.

Ya que DevOps se basa en la automatización, ¿por qué no automatizar la actualización y la creación de sus lenguajes de código abierto y conectarse al resto de su ciclo DevOps? Puede garantizar la reproducibilidad de la construcción, la gestión de dependencias y el cumplimiento de los criterios de licencia y seguridad corporativos. Por ejemplo:

  • Actualización del sistema: ¿Qué pasaría si fuera posible actualizar todos los sistemas impactados en todos los entornos de desarrollo, prueba e incluso producción con la última compilación utilizando un solo comando?
  • Validación de la compilación: ¿Cómo mejoraría el flujo de trabajo si cada compilación continua pudiera verificarse en su prueba de humo, incluido el cumplimiento de sus criterios de seguridad y licencia, de modo que supiera si estaba listo para implementarse?
  • Compilaciones continuas: imagine que se inició una nueva compilación cada vez que se encontró una nueva versión de una biblioteca o parche para una vulnerabilidad, y se le notificó cuando se hizo. Entonces podría mantenerse al día con sus implementaciones continuas
  • Empaquetado: ¿Cómo podría cambiar su flujo de trabajo si cada compilación continua pudiera empaquetarse de múltiples maneras, cualquier factor de forma para cualquier sistema operativo?
  • Impacto de la construcción: ¿Imagina poder comprender las mejoras de rendimiento (si las hubiera) que se podrían obtener al tomar la última versión?

La metodología DevOps brinda beneficios significativos para el desarrollo de software, pero también trae algunas sorpresas desagradables. Las actualizaciones pueden funcionar en un área, pero resultar desastrosas en otra. La automatización puede ayudar a suavizar los baches en la carretera DevOps. La automatización del canal de compilación para lenguajes de código abierto detiene la cadena de consecuencias no deseadas. Esto conecta la ingeniería de construcción y DevOps para obtener mejores resultados.

¿Interesado en escuchar a los líderes de la industria discutir temas como este? Asista a la IoT Tech Expo, Blockchain Expo, AI y Big Data Expo, y Cyber ​​Security & Cloud Expo World Series con los próximos eventos en Silicon Valley, Londres y Amsterdam.

Historias relacionadas

By Erica Flores

Enamorada de la tecnología. Apasionada de la velocidad que la información puede adquirir en este mundo cambiante. Actualmente residiendo en Barcelona.