Como a Datto tornou realidade a segurança com foco no desenvolvedor usando a Snyk
Brian Piper
9 de novembro de 2021
0 minutos de leituraQuando David McCheyne, engenheiro de DevOps na Datto, apresentou um plano para introduzir gradualmente a segurança com foco no desenvolvedor na empresa usando a Snyk, achou que suas equipes levariam um ano para comprovar a ideia. Profissional experiente de DevOps, David entendia muito bem a dimensão dessa mudança e estava preparado para apresentar a plataforma Snyk aos responsáveis por segurança da Datto aos poucos, sem forçar o processo.
Era um ótimo plano, mas as coisas mudaram rapidamente. Em poucos meses, todas as equipes de desenvolvimento da Datto já tinham adotado a Snyk. “Poucas semanas depois do lançamento, os desenvolvedores já conversavam entre si sobre como melhorar as coisas e começaram a me procurar para perguntar se as equipes deles também podiam experimentar [a Snyk]”, explica. “Antes que eu percebesse, quase por acaso, todas as equipes de produto da Datto tinham um responsável por segurança que havia implementado a Snyk.”
Em um momento em que desenvolver software seguro com rapidez nunca foi tão importante, a adoção da segurança com foco no desenvolvedor pela Datto, praticamente sem dificuldades, oferece um modelo que quase qualquer empresa pode seguir. Conversamos com David para saber o que as equipes devem priorizar e para o que devem se preparar. Alerta de spoiler: a adoção rápida não foi a única surpresa de David!
Comece conquistando a adesão
A segurança com foco no desenvolvedor exige adesão, principalmente por parte dos desenvolvedores. David diz que essa é a parte mais difícil de todo o processo. “Os desenvolvedores querem fazer a coisa certa, mas têm muitos interesses concorrentes”, afirma. “Sempre há novos recursos, novas tecnologias, atualizações de sistema operacional… sempre existem 12 coisas diferentes disputando a atenção de um desenvolvedor. E segurança não é algo empolgante ou atraente, nem traz grandes resultados, a menos que vire notícia.”
O segredo é facilitar ao máximo a vida dos desenvolvedores. “A Snyk permite que os desenvolvedores cuidem da segurança enquanto realizam outras tarefas”, afirma. Como as equipes de engenharia de software da Datto trabalham o tempo todo com pipelines de CI, foi simples incorporar a Snyk aos processos existentes, sem interferir nas operações normais. Com esse sinalizador adicional, os desenvolvedores podiam identificar na hora quais dependências precisavam de atualização, bem antes de chegarem ao sinal vermelho. “Assim, fica muito fácil para nossos desenvolvedores fazerem a coisa certa sem comprometer o tempo dedicado ao desenvolvimento de produtos. A Snyk fez um ótimo trabalho para resolver esse problema para nós.”
Houve ainda um benefício extra: a redução drástica do acúmulo de trabalho relacionado ao gerenciamento de dependências. Resolver dependências não é a tarefa favorita de nenhum desenvolvedor, mas automatizar esse processo mudou completamente o jogo na Datto, diz David. Embora a maioria dos projetos da Datto tenha apenas de três a cinco dependências, alguns chegam a ter mais de 2.500. É muita coisa para analisar quando o desenvolvedor está usando a versão errada e só descobre isso no fim do processo. “Em cada pipeline de CI dos desenvolvedores e em cada commit, há um pequeno sinal de trânsito adicional que todos podem ver, o que permite identificar e resolver o problema com aquela dependência logo no início do processo”, explica David. Com a Snyk, as equipes da Datto “conseguem dedicar mais tempo das pessoas a questões de segurança de aplicações mais específicas e valiosas, sem precisar se preocupar tanto com dependências”.
Amplie sua visão sobre segurança
David estava tão concentrado nas dependências que ficou agradavelmente surpreso ao descobrir que a Snyk também podia lidar com outro processo demorado: a análise de licenças de código aberto. “Em muitas empresas, a análise de licenças de código aberto é um processo totalmente manual que envolve as equipes jurídica e de TI”, diz David. E isso certamente acontecia na Datto. Mas, quando a Snyk foi integrada ao pipeline de CI, David percebeu que podia cadastrar na Snyk os projetos com licenças já analisadas. As equipes jurídica e de TI “não trabalham nos mesmos ambientes de CI, pois são equipes completamente diferentes, mas economizar tempo na análise de licenças usando a Snyk foi um benefício extra surpreendentemente valioso para nós”.
Valorize a diversidade entre os responsáveis por segurança
Se as equipes de desenvolvimento da Datto tinham um trunfo na transição para a segurança com foco no desenvolvedor, eram os responsáveis por segurança, diz David. O entusiasmo interno em torno da Snyk levou pessoas de todas as áreas da empresa a se oferecerem para participar da cultura de segurança. Mas, com ou sem esse entusiasmo, é importante que as empresas ampliem bastante a busca por participantes ao criar um programa de responsáveis por segurança, explica. “Não transforme isso em um clube secreto de Segurança”, diz com firmeza. “O objetivo é que todos participem da segurança. Quanto mais pessoas estiverem envolvidas e pensando sobre segurança, melhor.”
David viu pessoas de “áreas inesperadas” da Datto se voluntariarem para assumir o papel de responsáveis por segurança, muitas sem saber exatamente o que essa função envolvia. Um dos motivos é a cultura da Datto, que valoriza a ideia de “guildas” e apoia equipes multifuncionais. “Damos bastante importância e visibilidade aos nossos responsáveis por segurança”, diz. Mas acrescenta que é importante adaptar o programa à cultura existente na empresa. “Não existe uma fórmula única”, afirma. “Você precisa entender como encaixar um programa de responsáveis por segurança no quebra-cabeça da sua empresa.”
Construa uma cultura sólida de DevOps
A sobrecarga dos desenvolvedores é real e deve ser considerada na transição para a segurança com foco no desenvolvedor, diz David. Mas uma cultura sólida de DevOps pode ajudar a combatê-la. Ele sugere ouvir as equipes de DevOps e levar as opiniões delas a quem projeta os produtos. A defesa, pelas equipes de DevOps, das ferramentas e da carga de trabalho dos desenvolvedores é fundamental para a saúde e o sucesso da organização, e suas preocupações precisam ser levadas em conta. As equipes de DevOps devem estar preparadas para se posicionar sobre soluções tecnológicas, principalmente quando elas podem aumentar a carga de trabalho dos desenvolvedores. Toda empresa quer ser mais eficiente, mas, se a liderança não reconhecer a importância da cultura de DevOps para proporcionar uma ótima experiência de desenvolvimento, podem surgir sobrecarga e esgotamento. As equipes querem soluções que facilitem fazer a coisa certa, como a Snyk, diz David.
É só começar!
O último conselho de David é bem direto: não tenha medo de experimentar. Preocupações com adesão, cultura, custo e suporte são legítimas, mas precisam ser equilibradas com a importância de começar a envolver as equipes em segurança. “É fácil se preocupar com o quanto pode ser difícil criar uma prática de segurança com foco no desenvolvedor e se ela vai ser adotada ou bem recebida”, diz David. Mas, se as equipes escolherem bem a tecnologia e fizerem uma implementação cuidadosa, só podem esperar reações positivas. “Uma coisa que a Snyk fez muito bem foi criar um produto que melhora a vida dos desenvolvedores de maneiras pequenas, mas significativas. Hoje, temos uma visão muito mais clara das nossas dependências por causa disso.”
Comece a jogar Capture the Flag
Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.
