La nueva era digital está transformando no solo la forma en que las empresas están gestionando su relación con los clientes reales, sino también el modo en que se ofrecen servicios y aplicaciones. El creciente uso de metodologías ágiles para tratar de adaptar las organizaciones a los ciclos cada vez más dinámicos y exigentes del mercado ha derivado en la necesidad de acelerar el ciclo de vida de las aplicaciones. En la actualidad, no puede entenderse el proceso de desarrollo sin que se utilice un enfoque DevOps.

El concepto DevOps surge de la fusión de otros dos términos (development y ope­rations), precisamente porque unifica la organización de los departamentos de TI y de desarrollo de software. Básicamente promueve la comunicación, colaboración e integración de ambos mundos, unificando el flujo de entrega de valor del servicio, la prueba y el despliegue. Es decir, cuando asumimos un enfoque de De­vOps hablamos de actuar desde las pruebas de concepto hasta el lanzamiento, pasando por el testing y los entornos de prueba; todos los pasos involucrados requieren la máxima agilidad po­sible y eso pasa por integrar los procesos y los equipos de programación con los de sistemas.

Sin embargo, es necesario un cambio de cultura, ya que la automatización tiene un papel crucial en este enfoque, sobre todo a la hora de asegu­rar la calidad y seguridad en los procesos de des­pliegue de software. Para que sea posible lograr la eficiencia y agilidad requeridas, el proceso debe ser reproducible y, por tanto, la construc­ción, prueba y despliegue deben estar automa­tizados. Lamentablemente, estos procesos no pueden hacerse de forma manual, pues se corre el riesgo de realizar un despliegue diferente en cada versión. Si esto fuera así, sería imposible auditar e identificar los errores cometidos a la hora de realizar los cambios en la configuración del sistema, de los entornos o incluso en la mis­ma aplicación. Lógicamente, la conclusión es que no existe control en el proceso de release y, por lo tanto, no hay forma de asegurar la calidad del software.

Reducir el riesgo

Lógicamente, una vez que ponemos en mar­cha esta automatización, la frecuencia de liberación de nuevas versiones puede acor­tarse, ya que el proceso de despliegue implica un esfuerzo mucho menor. De este modo, no es necesario esperar a incorporar todas las funcionalidades del programa para realizar el despliegue, con el consiguiente beneficio deri­vado de que el cambio entre una versión y la si­guiente será pequeño. Pero, es más, al reducir el conjunto de cambios entre cada release, se reduce el riesgo asociado a la liberación en los entornos de producción, haciendo mucho más sencillo un posible roll back.

De esta forma se consigue optimizar el ciclo completo de desarrollo, facilitando un diálogo más cercano con el cliente, más rápido y de mayor calidad, dado que es posible explotar las funcionalidades de una aplicación de manera más rápida y con mayor seguridad.

Efectivamente, hablamos de seguridad en el enfoque de DevOps precisamente porque estos nuevos servicios y aplicaciones digitales están cambiando los procesos de producción tradi­cionales. La seguridad se está convirtiendo en un área clave a lo largo de todo el proceso, más allá del diseño, el desarrollo, la implementación y el mantenimiento. En este nuevo escenario, la seguridad se está transformando, pasando de un simple parche sobre la capa de implementa­ción a convertirse en una parte fundamental de cualquier servicio o aplicación digital, debien­do cubrir todo el proceso, desde el diseño has­ta el mantenimiento.

DevSecOps busca distribuir a gran velocidad todas las decisiones en materia de seguridad

Devsecops

Esta es la razón principal por la que el ciclo de vida de desarrollo seguro o (SSDLC – secure software development life cycle) cubre una gama más amplia de características y responsabili­dades, que generan nuevas figuras tales como el DevSecOps, cuyo propósito e intención es construir los nuevos servicios digitales sobre la base de que “todos son responsables de la se­guridad”. Se trata de distribuir a gran velocidad todas las decisiones en materia de seguridad, haciéndolas al mismo tiempo escalables a aque­llos que tienen el más alto nivel de contexto.

Según IDC, en 2020, en cualquier nuevo servi­cio/activo digital, SSDLC será una prioridad para el 90% de las organizaciones. En este contexto, las nuevas figuras como DevSecOps desempe­ñarán un papel fundamental a la hora de alinear las estrategias digitales de las empresas con los nuevos estándares de seguridad necesarios.

El impacto de la transformación digital en las empresas, la sociedad y las nuevas aplicaciones digitales implica rediseñar los procesos de de­sarrollo para atender las nuevas necesidades con el más alto nivel de seguridad. Hablamos de interiorizar el SSDLC desde el principio, ha­ciendo que la detección y protección contra las vulnerabilidades del software permitan lograr la seguridad desde el diseño inicial hasta la im­plementación.

En esta línea, según IDC, la previsión de inver­sión en España en soluciones de gestión de vul­nerabilidades alcanzará los 176,45 millones de euros entre 2018 y 2021, suponiendo una tasa de crecimiento soste­nido del 6% (CAGR) en dicho período. SSDLC deberá mini­mizar el impacto que las vulnerabilidades tengan en los nuevos servicios digitales, mostrando una nueva forma de implementar la seguridad desde el diseño que afectará a todas las estrategias de ciberseguridad que se ejecu­ten a lo largo de la nueva era digital.

Evolución y seguridad

Sin lugar a dudas, estamos ante un proceso de evolución digital en todas las áreas de aquellas empresas que buscan convertirse en nativas digitales. Precisamente, ese camino de evolu­ción debe comenzar a aplicarse desde la misma base del diseño de los nuevos servicios digita­les, arrastrando en este proceso un cambio cul­tural dentro de la propia empresa que propicie la tan anhelada competitividad digital.

Implantar una estrategia de DevOps en una orga­nización puede resultar algo complicado, ya que implica derribar barreras entre equipos (o silos, como se llaman en el argot empresarial), incor­porar nuevas herramientas, modificar procesos existentes o crear otros nuevos que permitan lograr la tan ansiada automatización.

Pero si pensamos en términos de beneficios que podemos obtener, sin duda, merece la pena: desde la reducción de errores en dise­ño hasta la posibilidad de obtener una renta­bilidad más rápida del software desarrollado, eficiencia en costes económicos y en horas de desarrollo, así como en despliegue de software más sencillo sin la necesidad de tener conoci­mientos técnicos.

Conclusión

Solo podrán ser competitivas aquellas empre­sas capaces de articular procesos ágiles de producción de servicios, incorporando seguri­dad desde la base. Por ello, roles tan disrupti­vos como el de DevOps, e incluso posteriores evoluciones hacia el concepto DevSecOp, con­firman este camino imparable hacia la nueva era digital. Un camino que apenas acaba de comenzar y que, a buen seguro, nos deparará desaparición de antiguos roles, la evolución de otros y la aparición de nuevos que deberán dar respuesta a las demandas actuales de la socie­dad digital.