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
Leia nesta edição:
CAPA | TECNOLOGIA
Centros de Dados privados ainda geram bons negócios
TENDÊNCIA
Processadores ganham centralidade com IA
TIC APLICADA
Digitalização do canteiro de obras
Esta você só vai ler na versão digital
TECNOLOGIA
A tecnologia RFID está madura, mas há espaço para crescimento
Baixe o nosso aplicativo