Cómo Datto hizo realidad la seguridad centrada en los desarrolladores con Snyk
Brian Piper
9 de noviembre de 2021
0 minutos de lecturaCuando David McCheyne, ingeniero de DevOps en Datto, presentó un plan para ayudar a la empresa a adoptar gradualmente un enfoque de seguridad centrado en los desarrolladores con Snyk, pensó que sus equipos tardarían un año en demostrar su viabilidad. Como profesional experimentado de DevOps, David entendía muy bien la magnitud de este cambio y estaba preparado para incorporar poco a poco a los referentes de seguridad de Datto a la plataforma de Snyk, sin forzar el proceso.
Era un gran plan, pero cambió rápidamente. En cuestión de meses, todos los equipos de desarrollo de Datto habían adoptado Snyk. “A las pocas semanas del lanzamiento, los desarrolladores hablaban entre sí sobre cómo mejorar las cosas y empezaron a preguntarme si sus equipos también podían probar [Snyk]”, explica. “Antes de darme cuenta, casi por accidente, todos los equipos de producto de Datto tenían un referente de seguridad que había implementado Snyk”.
En un momento en que nunca ha sido tan importante desarrollar software seguro con rapidez, la adopción casi sin esfuerzo de la seguridad centrada en los desarrolladores por parte de Datto ofrece un modelo que casi cualquier empresa puede seguir. Le pedimos a David que compartiera qué deberían priorizar los equipos y para qué deberían prepararse. Alerta de spoiler: ¡la rápida adopción no fue la única sorpresa para David!
Empieza por lograr el apoyo del equipo
La seguridad centrada en los desarrolladores requiere el apoyo del equipo, especialmente de los desarrolladores. David dice que ese es el aspecto más difícil de todo el proceso. “Los desarrolladores quieren hacer lo correcto, pero tienen muchos intereses en competencia”, afirma. “Siempre hay funciones nuevas, tecnologías nuevas, actualizaciones del sistema operativo… siempre hay 12 cosas distintas que compiten por la atención de un desarrollador. Y la seguridad no es atractiva ni emocionante, y no da grandes resultados a menos que se convierta en noticia”.
La clave es que sea muy fácil para los desarrolladores. “Snyk permite que los desarrolladores se ocupen de la seguridad mientras realizan otras tareas”, explica. Como los equipos de ingeniería de software de Datto viven y respiran los pipelines de CI, incorporar Snyk a esos procesos existentes requirió poco esfuerzo y no interfirió con las operaciones habituales. Con esta señal de tráfico adicional, los desarrolladores podían saber de inmediato qué dependencias debían actualizarse, con suficiente anticipación para no llegar a la luz roja. “Así, nuestros desarrolladores pueden hacer lo correcto con facilidad, sin que eso compita con el tiempo dedicado a desarrollar productos. Snyk hizo un gran trabajo al ayudarnos a resolver este problema”.
Además, hubo una ventaja adicional: la deuda de gestión de dependencias se redujo drásticamente. Resolver dependencias no es la tarea favorita de ningún desarrollador, pero automatizar el proceso ha cambiado por completo las cosas en Datto, afirma David. Aunque la mayoría de los proyectos de Datto tienen solo entre tres y cinco dependencias, algunos tienen más de 2500. Es mucho para revisar si un desarrollador usa una versión incorrecta y solo lo descubre al final del proceso. “En cada pipeline de CI de los desarrolladores y en cada commit hay una pequeña señal de semáforo adicional que todos pueden ver, para que puedan resolver desde el principio el problema con esa dependencia”, explica David. Con Snyk, los equipos de Datto “pueden dedicar más tiempo de las personas a otros problemas de seguridad de las aplicaciones más valiosos y preocuparse mucho menos por las dependencias”.
Adopta una visión más amplia de la seguridad
Como era de esperar, David estaba tan enfocado en las dependencias que le sorprendió gratamente descubrir que Snyk también podía resolver otro proceso que consume mucho tiempo: el análisis de licencias de código abierto. “En muchas empresas, el análisis de licencias de código abierto es un proceso completamente manual en el que participan los equipos legales y de TI”, comenta David, y Datto no era la excepción. Pero una vez que Snyk estuvo en el pipeline de CI, David se dio cuenta de que podía tomar las licencias ya revisadas y configurar esos proyectos en Snyk. Los equipos legales y de TI “no trabajan en los mismos espacios de CI porque son equipos completamente distintos, pero ahorrar tiempo en el análisis de licencias con Snyk fue una ventaja inesperadamente valiosa que nos dio muy buenos resultados”.
Apuesta por la diversidad entre los referentes de seguridad
Si los equipos de desarrollo de Datto tuvieron un arma secreta en su transición a una seguridad centrada en los desarrolladores, fueron los referentes de seguridad, afirma David. El entusiasmo interno por Snyk hizo que personas de todas las áreas de la empresa se ofrecieran para participar en la cultura de seguridad. Pero, con o sin entusiasmo, es importante que las empresas convoquen a personas de todos los ámbitos al crear un programa de referentes de seguridad, explica. “No lo conviertas en un club secreto de seguridad”, dice con firmeza. “El objetivo es que todos participen en la seguridad; cuantas más personas se involucren y piensen en ella, mejor”.
David vio a personas de “áreas poco habituales” de Datto asumir el rol de referentes de seguridad, muchas de ellas sin tener idea de lo que implicaba. Una de las razones es la cultura de Datto, que valora el concepto de los “gremios” y apoya a los equipos interdisciplinarios. “Tenemos un alto nivel de formalidad en torno a nuestros referentes de seguridad”, afirma, pero agrega que es importante adaptar el programa a la cultura existente de cada empresa. “No hay una fórmula única”, explica. “Tienes que entender cómo encajar un programa de referentes de seguridad en tu propio rompecabezas”.
Construye una sólida cultura de DevOps
La sobrecarga de los desarrolladores es real y es algo que se debe tener en cuenta al avanzar hacia una seguridad centrada en ellos, afirma David. Sin embargo, una sólida cultura de DevOps debería ayudar a contrarrestarla. Escucha a tus equipos de DevOps y comparte sus comentarios con quienes diseñan los productos, sugiere. La defensa que hace DevOps de las herramientas para desarrolladores y de su carga de trabajo es fundamental para la salud y el éxito de la organización, y sus inquietudes deben tener mayor visibilidad. Los equipos de DevOps deben estar preparados para defender sus posturas sobre las soluciones tecnológicas, en particular las que podrían aumentar la carga de trabajo de los desarrolladores. Todas las empresas quieren ser más eficientes, pero si los líderes no valoran la importancia de la cultura de DevOps para ofrecer una sólida experiencia para desarrolladores, pueden aparecer la sobrecarga y el agotamiento. Los equipos quieren soluciones que faciliten hacer lo correcto, como Snyk, afirma David.
¡Simplemente hazlo!
El último consejo de David es muy sencillo: no tengas miedo de intentarlo. Las inquietudes sobre el apoyo del equipo, la cultura, el costo y el soporte son reales, pero deben equilibrarse con la importancia de empezar a involucrarse en la seguridad. “Es fácil preocuparse por lo difícil que podría ser crear una práctica de seguridad centrada en los desarrolladores y preguntarse si tendrá aceptación o será popular”, dice David. Pero si los equipos eligen bien la tecnología y la implementan con cuidado, las respuestas solo pueden ser positivas. “Una de las cosas que Snyk hizo muy bien fue crear un producto que mejora la vida de los desarrolladores con cambios pequeños pero significativos. Hoy tenemos una visibilidad de las dependencias mucho más saludable gracias a eso”.
Empieza con los retos de Capture the Flag
Aprende a resolver retos de Capture the Flag viendo nuestro taller virtual de nivel básico a pedido.
