book_icon

Como ter o DevSecOps bem-sucedido

O DevSecOps é uma cultura e prática organizacional de engenharia de software que visa unificar o desenvolvimento de software (Dev), a segurança (Sec) e as operações (Ops), de modo que uma ideia de negócio seja de fato materializada em um produto ou serviço, promovendo a melhor experiência para o usuário consumidor.
A principal característica do DevSecOps é melhorar os resultados de negócio e o valor entregue de um software e isto somente se faz automatizando, monitorando e aplicando a segurança em todas as fases de seu ciclo de vida.
A prática do DevSecOps fornece melhorias evidentes ​​na qualidade e na segurança ao longo do ciclo de vida de uma aplicação tradicional. Algumas métricas importantes que podemos extrair que comprovam isto são:

  • Tempo médio para produção: o tempo médio necessário desde a fase de concepção de um novo recurso de software até sua execução em produção.
  • Velocidade de implantação: com que rapidez uma nova versão do aplicativo pode ser implantada no ambiente de produção.
  • Frequência de implantação: com que frequência uma nova versão pode ser implantada no ambiente de produção.
  • Taxa de falhas na produção: com que frequência temos falhas de software implantados em produção.
  • Tempo médio para recuperação: quanto tempo leva para que os aplicativos no estágio de produção se recuperem da falha.

Além disso, a prática ainda permite:

  • Caracterização, monitoramento e mitigação de riscos totalmente automatizados ao longo do ciclo de vida do aplicativo.
  • Número de atualizações e correções de software necessários para tratamento de vulnerabilidades de segurança e fraquezas de código.

No DevSecOps, testes e segurança são tratados de forma proativa, o que conceitualmente chamamos de “shift-left security”. Por meio de testes automatizados de código Estático (SAST), Dinâmico (DAST) e Integrado (IAST), adicionados aos testes de componentes como imagens de containers e os já tradicionais de qualidade de código, garante-se um importante diferenciador do processo, pois recursos funcionais e de segurança são testados e construídos simultaneamente.
Neste contexto, para o sucesso de uma execução de abordagem DevSecOps deve-se seguir alguns princípios-chave:

  • Remover gargalos (incluindo humanos) e ações manuais.
  • Automatizar o máximo possível das atividades de desenvolvimento e implantação.
  • Adotar ferramentas comuns, desde o planejamento e requisitos até a implantação e operações.
  • Aproveitar os princípios de software ágil e favorecer pequenas atualizações incrementais e frequentes em relação a versões maiores e mais esporádicas.
  • Aplicar os conjuntos de habilidades multifuncionais de Desenvolvimento, Cibersegurança e Operações ao longo do ciclo de vida do software, adotando uma abordagem de monitoramento contínuo em paralelo, ao invés de esperar para aplicar cada conjunto de habilidades em sequência.
  • Implantar infraestrutura imutável, com adoção massiva de contêineres para beneficiar uma arquitetura de software em microsserviços.

A adoção do DevSecOps em todas as fases em um ciclo de vida de software tem o objetivo de reduzir ao máximo o esforço necessário de correção, testando e corrigindo as falhas encontradas na ordem em que o código é produzido.
Esta abordagem gera economia de tempo, evitando o retrabalho de toda a cadeia do ciclo de desenvolvimento e produção, além de trazer maior tranquilidade ao negócio, com um software seguro e eficiente aos seus clientes.
Por Otoniel Ribeiro, gerente sênior de TI da Agility

As opiniões dos artigos/colunistas aqui publicados refletem exclusivamente a posição de seu autor, não caracterizando endosso, recomendação ou favorecimento por parte da Infor Channel ou qualquer outros envolvidos na publicação. Todos os direitos reservados. É proibida qualquer forma de reutilização, distribuição, reprodução ou publicação parcial ou total deste conteúdo sem prévia autorização da Infor Channel.