¿Qué es DevSecOps?
El desarrollo de software es una actividad compleja que, con el paso de los años, se ha ido acomodando a diferentes metodologías y herramientas como DevOps, y ha evolucionado muy rápidamente.
Si nos vamos al terreno de la teoría «clásica», la que todos hemos aprendido en alguna fase de nuestra formación, el desarrollo de software es el proceso de concebir, especificar, diseñar, programar, documentar, probar y corregir errores en una aplicación. Además, esto implica la creación y el mantenimiento de aplicaciones, marcos de trabajo u otros componentes de software.
El desarrollo de software es un proceso de escritura y mantenimiento del código fuente, pero en un sentido más amplio incluye todo lo que está involucrado entre la concepción del software deseado hasta su manifestación final. De esta forma, el desarrollo de software puede incluir la investigación, el nuevo desarrollo, la creación de prototipos, la modificación, la reutilización, la reingeniería…
Tiempos de desarrollo reducidos implican la necesidad de seguridad integrada
Hace años, el desarrollo de software podía llevar meses, o incluso años de trabajo. En el presente, gracias a las diferentes herramientas de desarrollo, a las nuevas metodologías y, en parte, a la urgencia por lanzar nuevos productos, los tiempos de desarrollo se han ido reduciendo, llegando incluso a ser de semanas.
La seguridad es algo que, en el pasado, podía dejarse para las fases finales del ciclo de vida del software. Ahora, eso no es viable ni razonable. Si hablamos de DevOps, no podemos pensar que se trata de algo que concierne tan solo a los equipos de desarrollo y operaciones. Al contrario, si queremos sacar partido a la agilidad y la capacidad de respuesta de los enfoques de DevOps, la seguridad debe estar presente a lo largo de todo el ciclo de vida de las aplicaciones. Es entonces cuando hablamos de seguridad integrada en DevOps, también conocida como DevSecOps para hacer énfasis en esta integración de la seguridad en cada fase del desarrollo. Una metodología efectiva de DevOps garantiza ciclos rápidos y frecuentes de desarrollo, pero si las prácticas de seguridad son obsoletas, pueden contrarrestar fácilmente las ventajas de las iniciativas DevOps.
DevSecOps es una filosofía que se basa en la integración de la seguridad en el proceso DevOps, lo cual implica pensar desde el principio en la seguridad de las aplicaciones y de la infraestructura.
Las ventajas de DevSecOps
El enfoque con DevSecOps es la prevención y se basa en la fluidez, evitando los cuellos de botella que se pueden generar durante el desarrollo por temas de seguridad y garantizando una entrega del código rápida y segura. Así, los problemas críticos de seguridad se resuelven de forma preventiva y no después de que sean una amenaza o, peor aún, de que hayan comprometido el sistema.
Veamos, a continuación, algunos de los beneficios interesantes de DevSecOps:
- Se estimula la identificación temprana de las posibles vulnerabilidades en el código.
- Mayor velocidad y agilidad a la hora de aplicar la seguridad en todas las fases de desarrollo.
- En todo el proceso de desarrollo, se facilitan las herramientas y los mecanismos para responder a los cambios y a los nuevos requisitos que surjan de forma más rápida y eficiente.
- Mejor colaboración y comunicación entre los equipos implicados en el desarrollo, como sucede en DevOps.
- Se abre la puerta a más oportunidades para builds automatizadas y test de QA efectivos.
- Mayor concienciación acerca de la seguridad entre los miembros de los equipos implicados.
- Por otra parte, el equipo dedicado a la seguridad se ve liberado de estas tareas para poder hacer un trabajo que aporte mucho más valor de negocio.
Como vemos, DevSecOps es la evolución natural de DevOps introduciendo la seguridad desde el inicio del proceso de desarrollo. Esta integración no solo requiere de nuevas herramientas, sino también un enfoque organizativo distinto.