el papel de DevOps en la nueva realidad / Sudo Null IT News

Introducción

Hola Habr! Mi nombre es Evgeny Kalashnikov, soy el CPO de “Herramientas de ingeniería” de la Plataforma Esfera. Y hoy quiero hablar sobre cómo está cambiando el panorama de la transformación digital en Rusia y qué papel juega DevOps en esto. Recientemente mis colegas y yo celebramos estudio a gran escala del mercado ruso de DevOpsy los resultados fueron muy interesantes. Hemos visto que la transformación digital ahora está afectando literalmente a todos los aspectos del negocio. Las empresas que no tienen tiempo para adaptarse a las nuevas realidades corren el riesgo de quedarse irremediablemente atrás. Aquí es donde DevOps pasa a primer plano como factor clave para garantizar la velocidad y flexibilidad en el desarrollo de software.

Nuestro estudio abarcó a 817 especialistas y ejecutivos de TI de diversas industrias. Entrevistamos a representantes de grandes empresas como MTS, IBS, Yandex, Kaspersky Lab y también atraemos a expertos de la Escuela Superior de Economía y otras organizaciones. Me pregunto cómo son los devops rusos modernos. Ir al gato.

Automatización de procesos

Empecemos por lo principal: la automatización. Nuestra investigación demostró que este es uno de los impulsores clave para la implementación de DevOps en Rusia. Ya el 38% de las empresas utilizan prácticas de DevOps específicamente para reducir los costos de desarrollo mediante la automatización de procesos rutinarios. Al mismo tiempo, aspectos como la implementación, la verificación del código en busca de vulnerabilidades, las pruebas y la recopilación de requisitos suelen estar automatizados.

Curiosamente, el 42% de los ejecutivos citó la falta de personal calificado capaz de trabajar con una pila DevOps moderna como el principal obstáculo para implementar la automatización. Existe un claro desequilibrio en el mercado: la demanda de estos especialistas supera con creces la oferta. Y esto crea serias dificultades para muchas empresas.

Una de las tendencias clave en la industria es el uso activo de herramientas de inteligencia artificial. Nuestra encuesta mostró que el 51% de las empresas ya están utilizando inteligencia artificial en diversas etapas de desarrollo. En la mayoría de los casos, se trata de sistemas basados ​​en el aprendizaje automático que ayudan a optimizar los procesos de prueba, encontrar defectos en el código y hacer recomendaciones para mejorar la calidad y la productividad. Aunque hay ejemplos más exóticos: chatbots, generación de pruebas unitarias, refactorización automática, etc.

Alexey Rybalko

Especialista en tecnologías para la protección de entornos de desarrollo de contenedores en Kaspersky Lab

Las herramientas de IA pueden acelerar significativamente el desarrollo, pero la responsabilidad del código final recae en el desarrollador, quien debe verificar el código recibido del “socio de IA” de acuerdo con prácticas seguras de escritura de códigos. Además de la IA, el proceso de desarrollo utiliza un conjunto completo de controles y comprobaciones de código para ayudar a garantizar la seguridad. Además de las herramientas de desarrollador, una vez que el código se transfiere al repositorio, entran en juego los departamentos de control de salida de seguridad del código y utilizan herramientas para analizar el código recibido. Su tarea es garantizar que el código de los desarrolladores no contenga estructuras peligrosas o vulnerabilidades potenciales.

Por supuesto, implementar la IA en DevOps no es fácil. Requiere conocimientos y habilidades especiales, datos de alta calidad para entrenar modelos y procesos optimizados para recopilar y marcar conjuntos de datos. No es casualidad que el 36% de los encuestados mencionara la falta de competencias como el principal obstáculo para el uso de la IA. Además, nadie ha descartado la necesidad de controlar la calidad del trabajo de los modelos, la explicabilidad de sus decisiones y los aspectos éticos. Pero, en general, la tendencia es clara: la IA desempeñará un papel cada vez más importante en la automatización de los procesos de desarrollo.

Calidad y velocidad de desarrollo.

Otro aspecto importante que exploró nuestra encuesta es cómo DevOps afecta la calidad de los productos y la velocidad de su entrega a los usuarios finales. Resultó que para la gran mayoría de las empresas (más del 60%) estas son tareas prioritarias. Además, están directamente relacionados con el nivel de automatización y el uso de herramientas de desarrollo modernas.

Arturo Galeev

Jefe del Departamento de DevOps, IBS

DevOps/DevSecOps en IBS ya es algo común; no se desarrolla ni una sola aplicación sin la implementación de CI/CD, monitoreo y otras herramientas. La velocidad se ve directamente afectada, es difícil de calcular, pero en general, los lanzamientos se lanzan a los clientes entre 2 y 3 veces más rápido.

Cuantos más procesos puedan automatizarse y transferirse a un ciclo continuo de integración y entrega (CI/CD), mayor será la velocidad de desarrollo y más estable será la calidad de los productos. Idealmente, el código entra en producción solo después de pasar con éxito toda la cadena de pruebas: unitaria, de integración, de regresión y de aceptación. Y si ocurre un error en cualquier etapa, los desarrolladores reciben comentarios de inmediato y pueden solucionar el problema rápidamente.

Sin embargo, no es tan simple. La implementación de herramientas DevOps modernas, especialmente aquellas relacionadas con la automatización de pruebas, puede resultar bastante costosa. Según nuestros datos, el 48% de las empresas planean reemplazar sus sistemas actuales durante el próximo año, pero muchas se detienen por el alto costo de las licencias y la falta de especialistas capaces de trabajar con ellos.

Una opción para resolver este problema es cambiar a herramientas de código abierto. Nuestra investigación mostró que la proporción de su uso aumentó del 56 al 73% durante el año. El código abierto atrae a las empresas no sólo por su menor coste de propiedad, sino también por su flexibilidad, la capacidad de personalizarlo y modificarlo para adaptarlo a sus necesidades. Además, se han formado grandes comunidades en torno a soluciones abiertas populares como Jenkins, Selenium, Allure, donde puede obtener soporte y mejores prácticas.

Otra tendencia que hemos notado es la transición a la infraestructura en la nube. Ya el 69% de las empresas utilizan nubes híbridas, combinando entornos públicos y privados. Esto le permite optimizar costos, garantizar la flexibilidad y escalabilidad de la infraestructura para satisfacer las necesidades comerciales cambiantes. Al mismo tiempo, el 44% planea migrar activamente las herramientas DevOps a la nube durante el próximo año.

Es cierto que aquí hay trampas. El principal son los problemas de seguridad de la información. Según nuestros datos, esta es una barrera clave que impide que muchas empresas migren por completo a las nubes públicas. Es necesario garantizar la protección de datos, el cumplimiento de los requisitos regulares y la transparencia de los procesos del proveedor. No es casualidad que el 50% de los encuestados mencionara la apertura de los procesos de seguridad internos como el criterio principal para elegir una plataforma en la nube.

Resumamos. Devops afecta directamente la velocidad y la calidad del desarrollo de software a través de la automatización de procesos y la introducción de herramientas modernas, desde la integración continua hasta los entornos de nube. Pero para muchas empresas esto conlleva serios desafíos: la necesidad de cambiar la arquitectura, los altos costos de las licencias y la escasez de personal en el mercado. El código abierto y la nube pueden resolver parcialmente estos problemas, pero requieren especial atención a las cuestiones de seguridad e interoperabilidad. En general, la tendencia a aumentar la velocidad y la calidad del desarrollo a través de DevOps es clara y no hará más que intensificarse.

Seguridad del desarrollo: DevSecOps

Ahora hablemos de una de las tendencias más importantes y candentes en la intersección de DevOps y seguridad: DevSecOps. Este es un enfoque que integra prácticas y herramientas de seguridad en todas las etapas del ciclo de vida del desarrollo, desde la planificación hasta las operaciones. El objetivo es identificar y corregir vulnerabilidades y defectos de seguridad lo antes posible, reducir los riesgos y cumplir con los requisitos reglamentarios.

Arturo Galeev

Jefe del Departamento de DevOps, IBS

Para aumentar el nivel de seguridad, IBS implementa prácticas DevSecOps de acuerdo con GOST R 56939 y también utiliza herramientas como SAST, DAST, Fuzzing, Pentest. Gestionar secretos, abordar las vulnerabilidades de dependencia y adherirse a estándares de desarrollo seguros son los principales desafíos que enfrentamos.

A juzgar por nuestra investigación, este tema es muy relevante para las empresas rusas. Ya el 77% de los encuestados dijeron que cuentan con equipos o especialistas dedicados al desarrollo seguro (SecDevOps). Al mismo tiempo, el 80% califica como alto el nivel actual de madurez de sus procesos de seguridad de la información (4-5 puntos sobre 5). Esto sugiere que la seguridad está dejando gradualmente de ser algo externo al desarrollo y la operación, para convertirse en una parte integral de todo el ciclo de vida del producto.

Entre las prácticas y herramientas de seguridad más comunes en el proceso de CI/CD se encuentran el análisis de código estático (SAST), que utiliza el 44% de las empresas, el análisis dinámico de aplicaciones (DAST), el 43%, que busca vulnerabilidades en componentes de código abierto ( SCA) – 33%, pruebas de fuzzing – 6%. Este es un conjunto básico que le permite encontrar vulnerabilidades y fallas típicas en el código incluso en la etapa de ensamblaje y prueba.

Además, muchas empresas implementan políticas y procedimientos especiales para el desarrollo seguro, por ejemplo, puertas de calidad del código, escaneo de contenedores, protección de secretos y credenciales en repositorios y plataformas CI/CD. Sin embargo, también hay problemas. El principal es la falta de experiencia y competencias en la intersección de la seguridad de la información y el desarrollo. Según nuestros datos, el 36% de las empresas señalaron la falta de especialistas como el principal obstáculo para la implementación completa de la seguridad en DevOps. La implementación de prácticas de DevSecOps requiere que los empleados no solo tengan habilidades técnicas, sino también la capacidad de crear procesos, comunicarse con equipos de desarrollo y tener en cuenta las características de productos y plataformas específicos.

Alexey Rybalko

Especialista en tecnologías para la protección de entornos de desarrollo de contenedores en Kaspersky Lab

Las empresas pueden proporcionar una ayuda significativa en este asunto. Déjame ponerte Kaspersky Lab como ejemplo. Cooperamos con universidades, ayudando a los profesores a formar personal cualificado en ciberseguridad. Contamos con un programa de pasantías desarrollado, en el marco del cual los estudiantes de último año reciben capacitación práctica y, junto con especialistas, participan en el trabajo, aprenden en la práctica los detalles de la seguridad de la información, reciben capacitación interna y aprueban exámenes.

Además, muchas herramientas de seguridad de la información consumen muchos recursos y pueden ralentizar el proceso de montaje y entrega, especialmente cuando se trata de proyectos grandes y complejos. Combinar velocidad y seguridad es una tarea no trivial que requiere optimización, creación de perfiles y paralelización constante de los análisis. Y, por supuesto, no hay escapatoria a la sustitución de importaciones. Muchas herramientas de seguridad de la información conocidas en el campo de DevSecOps ahora no están disponibles o tienen un alto riesgo de ser deshabilitadas y de que se les revoquen las licencias.

En general, a pesar de todas las dificultades, la tendencia hacia la integración de la seguridad de la información en DevOps definitivamente continuará. Por un lado, los riesgos externos y los requisitos regulatorios aumentan; por otro, aumenta la madurez del desarrollo y la operación. La seguridad se está convirtiendo en el mismo requisito imprescindible para la calidad del producto que la confiabilidad, el rendimiento y la facilidad de uso. Y cuanto antes las empresas comiencen a avanzar hacia DevSecOps, más fácil les resultará escalar estas prácticas y reducir los riesgos técnicos y regulatorios.

Tecnologías en la nube

Pasemos ahora a uno de los temas más candentes en la intersección del desarrollo, las operaciones y la infraestructura: las plataformas en la nube. Como demostró nuestra investigación, las nubes se han convertido en una parte integral del panorama DevOps en la mayoría de las empresas rusas.

Andrei Belevantsev

Doctor en Ciencias Físicas y Matemáticas, Profesor de la Academia de Ciencias de Rusia, Jefe de Análisis y Optimización de Programas, ISP RAS

Nuestros proyectos se centran en el desarrollo y, en la programación de sistemas, los programas que creamos son bastante complejos: hay muchos componentes dependientes, en su mayoría de código abierto, y a menudo modificamos el software de código abierto para adaptarlo a nuestras necesidades. Por lo tanto, los sistemas DevOps construidos correctamente son extremadamente relevantes, ya que ayudan a acelerar el desarrollo, probar rápidamente muchas hipótesis y obtener un producto de alta calidad. Lo principal es que puede realizar un seguimiento de los resultados de todos los experimentos, mantener simultáneamente varias versiones del sistema en desarrollo y obtener comentarios de los clientes. Específicamente, en nuestro equipo, la combinación de Jenkins y GitLab funcionó bien, pero, por supuesto, no se podría hacer sin el “archivo”.

Este arreglo es bastante comprensible. Por un lado, las nubes públicas brindan flexibilidad, escalabilidad y acceso a servicios y herramientas avanzados. Por otro lado, muchas empresas no están preparadas para confiar completamente los datos y sistemas críticos a proveedores externos. Esto es especialmente cierto para los bancos, agencias gubernamentales y empresas industriales. El modelo híbrido le permite encontrar un equilibrio: mantener los componentes más sensibles internamente y transferir el resto a plataformas externas.

El desglose de los proveedores de servicios en la nube es interesante. El mercado ruso está bastante fragmentado y hay muchos actores locales. Cada vez más empresas utilizan plataformas nacionales y su participación va en aumento.

Y, sin embargo, algunas empresas todavía utilizan nubes extranjeras, principalmente debido a la inercia: muchas tienen datos, infraestructura y procesos de desarrollo concentrados allí. Traducir esto rápidamente a otras plataformas es difícil y costoso. Además, no todos los proveedores nacionales pueden todavía ofrecer el nivel requerido de calidad, soporte y funcionalidad de servicios, especialmente en el segmento empresarial. Aunque la brecha se va reduciendo poco a poco.

La tendencia más llamativa en este caso es el fortalecimiento de los requisitos de soberanía de datos y software. Según nuestros datos, es fundamental para varias empresas almacenar sistemas y datos clave en jurisdicción rusa, bajo la protección de las leyes locales. Además, muchos clientes, incluidas agencias gubernamentales, estipulan explícitamente dichos requisitos en contratos y especificaciones técnicas. Esto significa que los proveedores tendrán que mejorar su infraestructura, certificación y soporte para poder satisfacer estas necesidades.

La principal dificultad para los proveedores de servicios en la nube es la falta de experiencia y personal. Para vender e implementar soluciones modernas en la nube, los proveedores no solo necesitan ingenieros y administradores, sino también arquitectos, consultores y evangelistas. Aquellos que comprenden bien las tareas de industrias específicas (minorista, fintech, manufactura), hablan el lenguaje de los negocios, pueden diseñar la solución óptima a los requisitos del cliente, calcular la economía y justificar el valor para el negocio. Pero no hay suficientes especialistas de este tipo en el mercado. Hay que crecer por dentro, seducir, invertir en formación y desarrollo del talento. Son inversiones a largo plazo, pero no se puede vivir sin ellas.

Gestión de equipos y procesos.

Y, por último, sobre el activo principal, sin el cual toda la transformación digital y DevOps son, en principio, imposibles: las personas. Nuestra investigación ha demostrado una vez más que el principal desafío y limitación para el desarrollo de DevOps en Rusia sigue siendo la escasez de personal. Además, la escasez se siente en todos los niveles: promotores, ingenieros, arquitectos, directivos. El mercado está sobrecalentado y la competencia por el talento es mayor que nunca.

Pavel Degtyarev

Director de Desarrollo de Producto en ECOPSY Consulting

La transformación digital consiste, ante todo, en cambiar la cultura. Hay un estudio clásico de McKinsey de 2014 que demostró que los equipos que implementan cambios en la estructura de gestión, los procesos y las prácticas comerciales como “cambios en sí mismos”, ayer funcionaron de la manera antigua y mañana comenzaremos de una manera nueva. al éxito en el 5% de los casos. Pero si primero se evalúa qué es necesario cambiar en el comportamiento diario de los empleados y se influye en ello (cambiar las prácticas de toma de decisiones, planificación, comunicación, etc.), la probabilidad de éxito de los cambios ya alcanza el 52%. Eso es 10 veces mayor.

Las universidades y facultades todavía se centran en conocimientos fundamentales, lenguajes básicos y tecnologías de última generación. Y el mercado necesita especialistas que puedan trabajar con marcos modernos, comprender los procesos y herramientas de DevOps y comprender las áreas temáticas. Estas competencias no se pueden desarrollar en un escritorio; se adquieren únicamente en proyectos reales, en la intersección de los negocios y la tecnología.

Por lo tanto, muchas empresas se ven obligadas a aumentar su personal internamente, a través de pasantías, escuelas y programas de desarrollo de talentos. Por ejemplo, en una empresa, desde hace varios años, existe una división educativa que forma especialistas en la intersección de diferentes disciplinas: desarrollo, análisis de datos, ciberseguridad, gestión de productos. Aquí se invita a los mejores estudiantes y graduados a trabajar, algunos van a otras empresas. Es decir, de hecho, esta empresa actúa como proveedor de personal para todo el mercado y satisface no solo sus propias necesidades, sino también las de socios y clientes. Éste es un buen ejemplo de la simbiosis entre educación y empresas.

Arturo Galeev

Jefe del Departamento de DevOps, IBS

Trabajamos con universidades en las ciudades donde opera IBS, realizamos pasantías, desarrollamos especialistas dentro de la empresa y siempre estamos abiertos a candidatos que buscan una pasantía.

Y para retener el talento, las empresas recurren a varios trucos: ofrecer altos salarios y bonificaciones, mejorar el paquete social y brindar oportunidades de trabajo remoto y reubicación. Pero lo principal, en mi opinión, es crear un ambiente interno que motive a las personas a aprender, experimentar y aportar nuevas ideas y prácticas. Necesitamos una cultura de comunicación e intercambio de experiencias entre equipos, solución conjunta de problemas de ingeniería, apoyo mutuo y respeto. Sólo en un entorno así las personas se sienten cómodas y seguras, ven el significado y el valor de su trabajo y pueden realizar su potencial.

Me gustaría destacar especialmente la importancia de mejorar las habilidades interpersonales de los especialistas técnicos. No basta con poder escribir código de acuerdo con las especificaciones; es necesario poder explicar sus decisiones, argumentar, negociar y gestionar las expectativas de las partes interesadas. Muchos conflictos y problemas en DevOps surgen no debido a errores técnicos, sino a barreras de comunicación y malentendidos entre los equipos de desarrollo, operaciones y negocios. El mismo desarrollador debe poder no sólo implementar una característica, sino también explicar su valor para el producto, acordar los requisitos con un analista, probarlo con un ingeniero de calidad y transferirlo al operador. Y esto requiere habilidades de presentación, negociación, gestión de conflictos e inteligencia emocional. Lamentablemente, pocos lugares enseñan esto; hay que superarse, aprender de los errores.

Y lo último: el trabajo remoto y los equipos distribuidos. La pandemia y la salida de muchas empresas extranjeras impulsaron esta tendencia; la gente se dio cuenta de que podían trabajar eficazmente desde casa, si tan solo tuvieran tareas e Internet. Esto, por un lado, ha dado a los empresarios vía libre: ahora pueden contratar talentos de las regiones, ahorrar en oficinas y atraer expertos para los proyectos. Por otro lado, complicó la comunicación y coordinación y aumentó los riesgos de filtraciones y seguridad. Después de todo, cuando las personas no se ven en persona, se pierde el compromiso y la confianza, trabajan en diferentes zonas horarias, es más difícil transferir conocimientos y sincronizar el trabajo.

Por tanto, las empresas que practican el desarrollo distribuido (y ya son más del 50%) tienen que reforzar los componentes técnico y cultural. Utilice herramientas de comunicación asincrónica (correo, mensajería instantánea, tableros de tareas), prácticas de documentación de conocimientos (wiki, confluencia), herramientas de programación remota en pares y revisión de código. Y, por supuesto, llamarse más a menudo, celebrar reuniones y encuentros virtuales y concertar reuniones informales para fortalecer las relaciones.

En general, el trabajo remoto no es una panacea, sino una prueba de la solidez de los procesos y la cultura, que no todas las empresas pueden soportar. Pero hacia dónde ir: la tendencia es clara.

Conclusión

Nuestra investigación mostró que el mercado ruso de DevOps se está desarrollando activamente, a pesar de todos los desafíos y restricciones. Cada vez más empresas están introduciendo prácticas y herramientas destinadas a acelerar y mejorar la calidad del desarrollo. El nivel de automatización, la penetración de las plataformas en la nube y la integración de la seguridad de la información en el ciclo de desarrollo está creciendo. Aunque la mayoría todavía está lejos de alcanzar su plena madurez, las tendencias son definitivamente positivas.

Los principales impulsores de esta transformación son los propios clientes, que exigen de TI una respuesta cada vez más rápida a los cambios comerciales, lanzamientos frecuentes de nuevos productos y funciones, alta calidad y seguridad de los servicios digitales. Y los puntos débiles más graves son la falta de experiencia y personal en el mercado, las dificultades de la transición de arquitecturas monolíticas a microservicios y nubes, las restricciones regulatorias a la transferencia de datos y el uso de soluciones extranjeras.

En estas condiciones, está aumentando el papel de los proveedores e integradores nacionales, que pueden ofrecer a los clientes soluciones integrales para DevOps y digitalización, sin estar atados a plataformas extranjeras y teniendo en cuenta las particularidades rusas. Deberían centrarse en la capacitación y certificación de los clientes, en presentar productos y servicios estándar y en un modelo flexible de precios y soporte. Mejor aún, invierta en sus propias escuelas y academias, fomente el talento y forme comunidades de expertos a su alrededor. Aunque es un camino largo, es el más correcto.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *