A HackerOne alcança implantações cinco vezes mais rápidas com a segurança integrada do GitLab
Quer saber o que o GitLab Ultimate pode fazer pela sua equipe?
A HackerOne, a empresa de segurança mais confiável do mundo, especializada em segurança colaborativa com hackers, adotou o GitLab para eliminar cadeias de ferramentas dispersas e antecipar a segurança no ciclo de desenvolvimento.
A HackerOne melhorou o tempo de pipeline, a velocidade de implantação e a eficiência dos desenvolvedores com o GitLab Ultimate.
Plataforma de segurança especializada em colaboração com hackers
A HackerOne ajuda o mundo a criar uma Internet mais segura. Sendo a plataforma de segurança baseada em colaboração humana mais confiável do mundo, a HackerOne oferece às empresas acesso à maior comunidade de hackers do planeta. Com o banco de dados mais completo de tendências de vulnerabilidade e benchmarks do setor, a comunidade de hackers reduz riscos cibernéticos ao procurar, identificar e relatar de forma segura falhas reais de segurança para empresas de todos os setores e superfícies de ataque.
Conforme o mundo se torna cada vez mais conectado e as empresas migram para a nuvem, a segurança cibernética precisa acompanhar essas mudanças. A HackerOne ajuda as equipes de segurança a expandir sua capacidade de lidar com superfícies de ataque ágeis, oferecendo testes de segurança baseados em hackers e informações sobre vulnerabilidades que ajudam a reduzir riscos em todo o SDLC.
Em busca de velocidade no desenvolvimento e na implantação
A HackerOne é uma empresa globalmente distribuída, o que faz com que as equipes dependam umas das outras para concluir projetos. Muitas vezes, quando um desenvolvedor nos Países Baixos trabalhava em um código, outra pessoa na América do Norte continuava de onde ele parou. Tempos longos de pipeline podiam interromper as transferências de trabalho. De acordo com Mitch Trale, Chefe de Infraestrutura da HackerOne: "Em muitos casos, a solicitação de merge ficava parada em um ponto em que já gostaríamos de ter lançado (…) se tivéssemos ferramentas mais rápidas, poderíamos implementar isso mais cedo".
A HackerOne usava ferramentas separadas para controle de versão de código e integração contínua. Quando a empresa começou a crescer, aumentando a equipe de engenharia de 10 para 30 membros, Mitch destacou que essas ferramentas eram "significativamente limitadas (…). Um exemplo disso é o tempo que levava para executar um único pipeline no nosso sistema antigo, o que tornava inviável fazer isso com frequência", disse Trale. "Então, a equipe de engenharia começou a contornar essas limitações. Começamos a gerar esses efeitos colaterais, que precisávamos gerenciar separadamente." A equipe precisava de uma ferramenta capaz de acompanhar o desenvolvimento da HackerOne e gerenciar vários projetos que impactariam diversas equipes.
Os principais fatores que impulsionaram a equipe na escolha de novas ferramentas de software foram a velocidade de desenvolvimento e implantação e a satisfação dos desenvolvedores. "Estamos otimizando para que a equipe de engenharia fique satisfeita, sempre que possível. Ferramentas melhores nos ajudam a automatizar mais, proporcionando maior produtividade e qualidade", esclareceu Trale. A equipe precisava de uma plataforma que melhorasse a experiência dos desenvolvedores de ponta a ponta: do desenvolvimento à implantação.
Capacidade de ajuste de escala e senso de propriedade do desenvolvedor
A HackerOne adotou o GitLab no final de 2018 para gerenciamento de código-fonte, gerenciamento de tíquetes, CI/CD e recursos de segurança e conformidade que não existiam no sistema de ferramentas anterior da equipe. A adesão ao GitLab aumentou drasticamente em toda a empresa graças às diversas soluções de agilidade, que funcionam bem em diferentes ambientes. "A HackerOne adotou o GitLab de forma abrangente, mas também descobrimos novos recursos que os gerentes de produto e os responsáveis pelos sprints podiam aproveitar. Agora as equipes estão planejando ainda mais adiante no futuro", relata Trale. "Temos diagramas de Gantt que representam as dependências. Esse tipo de sofisticação foi fundamental nesse estágio do desenvolvimento da HackerOne, pois estávamos em processo de expansão."
O GitLab não apenas ofereceu uma maneira de expandir o trabalho das equipes, como também permitiu que os processos de desenvolvimento de aplicações fossem mais igualitários. Graças à interface intuitiva do GitLab, o número de usuários ampliou na HackerOne. "Nossos gerentes técnicos de produto agora podem fazer alterações no código, que modificam o texto no site ou a cor da fonte, por exemplo", acrescentou Trale. "As ferramentas de edição visual do GitLab facilitam o processo para os usuários, permitindo que uma solicitação de merge seja facilmente aprovada e implantada atomicamente. Isso simplesmente não era viável antes."
A facilidade de uso do GitLab torna o trabalho na plataforma mais gerenciável para desenvolvedores e engenheiros. Como uma ferramenta de código aberto, o GitLab é moderno, mas sem ser complexo demais. Apesar de oferecer muitos recursos, ele é acessível e funcional para engenheiros de todos os níveis da empresa. "Agora podemos democratizar o controle sobre nossos pipelines. Nossos engenheiros podem atuar como DevOps e como infraestrutura (…) e podem administrar as ferramentas de um jeito que antes não era possível. Nossas ferramentas antigas eram pesadas, bem como difíceis de manter e gerenciar", disse Trale.
A segurança integrada gera implantações mais rápidas
Um dos maiores benefícios da adoção do GitLab é a capacidade de detectar problemas de código mais cedo no pipeline. Aliado a pipelines mais rápidos, isso permite que as equipes trabalhem de forma iterativa para resolver falhas de segurança. A equipe de engenharia costumava gastar pelo menos 60 minutos em cada execução de pipeline de integração, que ia desde o commit até o teste, passando por testes de fumaça, testes finais e implantação. Se houvesse um único erro, todo o processo teria que ser executado novamente.
"Isso tornou as pessoas excessivamente cautelosas ao enviar código por push. O que realmente queremos é diminuir ao máximo essa duração do ciclo e reduzir os riscos associados a qualquer lançamento de código", explicou Trale. "Nesse sentido, o GitLab foi estrategicamente importante para nós, pois nos permitiu refinar o código e criá-lo de acordo com as nossas próprias especificações de qualidade."
A equipe também pode reexecutar partes específicas do pipeline, o que antes não era viável. Ela pode focar na parte do pipeline de integração contínua que está falhando, sem precisar reiniciar todo o processo. "A velocidade é importante (…) agora, um pipeline leva cerca de oito minutos para ser executado. É uma diferença enorme. Só isso já seria suficiente para considerarmos a mudança: a promessa de um pipeline de integração contínua de alta velocidade", observou Trale. Além disso, agora há uma visão mais detalhada dos logs de auditoria, permitindo que eles acompanhem o que está acontecendo nos bastidores e entendam o que está contribuindo para a redução do desempenho.
Usando a API e os recursos de segurança do GitLab, a equipe de engenharia criou um bot que gera automaticamente solicitações de merge com base em pacotes desatualizados. O bot analisa repositórios e cria solicitações de merge para os pacotes que precisam ser atualizados. A equipe de engenharia só precisa revisá-los e aprová-los para realizar a implantação. Essa automação reduz a duração do ciclo manual e agiliza a análise de segurança. Agora, ninguém precisa gastar uma hora a mais por implantação para realizar esses testes. "Implantamos código várias vezes ao dia (…) agora, pelo menos de uma a cinco vezes ao dia, novas versões da HackerOne são disponibilizadas na web. Cada engenheiro gastava, no mínimo, uma hora em cada uma delas", descreveu Trale. "Talvez meia hora entre dois engenheiros para garantir que o trabalho esteja correto. Estimando de forma conservadora, estamos economizando de quatro a cinco horas de trabalho por dia para cada engenheiro ao consolidar essas tarefas com as ferramentas."
Antes do GitLab, o ciclo de implantação da HackerOne era de uma a duas vezes por dia. Agora, com todas as informações reunidas em um só lugar, devidamente etiquetadas e organizadas de forma eficiente, os gerentes de projeto e os responsáveis pelos sprints podem escolher no que querem trabalhar. "O GitLab está nos ajudando a detectar essas questões com antecedência e integrou isso ao fluxo de desenvolvimento."
Com todas as ferramentas centralizadas, o processo de análise de segurança e auditorias ficou muito mais fácil em comparação ao fluxo de trabalho anterior da equipe. "O custo de executar análises de segurança no GitLab é significativamente menor do que era antes. Com isso, estamos mais dispostos a executar análises mais minuciosas e rápidas. Seja em pacotes individuais ou até mesmo executando um conjunto de testes de segurança. Acho que estamos muito mais conscientes disso e estamos usando o GitLab exatamente para esse fim", explicou Trale.
A equipe de engenharia também criou um bot personalizado para o Slack que se integra ao GitLab e aciona as implantações. Todas as implantações são públicas no canal do Slack, onde ocorre boa parte do trabalho da HackerOne. Com a integração, todos os membros podem acompanhar o status da implantação no Slack, em vez de precisar acessar o pipeline ou o log de auditoria. Nos casos em que a implantação falha, há 30 pessoas disponíveis para ajudar na depuração em tempo real. Trazer as implantações ao Slack e usar o GitLab para CI/CD proporciona um acesso mais fácil e rápido ao gerenciamento de código e segurança.
Embora a consolidação de ferramentas e a velocidade de implantação tenham sido os principais motivos para a HackerOne migrar de plataforma, é o desenvolvimento contínuo do GitLab que ainda impressiona os membros da equipe. O GitLab lança versões mensais que aprimoram os recursos atuais, como a segurança, com base no feedback dos clientes. "A parceria que temos com o GitLab está se consolidando cada vez mais. Algumas das outras ferramentas que avaliamos não tinham essa mesma força de desenvolvimento e a dinâmica que o GitLab oferece", disse Trale. "A cadência mensal confirma isso: regularmente são disponibilizados novos recursos que podemos usar. O GitLab tem essa mentalidade contemporânea de desenvolvimento ativo, o que é muito atraente para nós."
Todas as informações e pessoas mencionadas no estudo de caso refletem a realidade na data da publicação.