Skip to content

Latest commit

 

History

History
51 lines (45 loc) · 2.25 KB

001-o-que-e-devops-e-desecops.md

File metadata and controls

51 lines (45 loc) · 2.25 KB

O que é DevOps e DevSecOps?

DevOps é uma abordagem de cultura, automação e design de plataforma que tem como objetivo agregar valor aos negócios e aumentar a capacidade de resposta às mudanças por meio de entregas de serviços rápidas e de alta qualidade.

A metodologia descreve abordagens que ajudam a acelerar os processos necessários para levar uma ideia do desenvolvimento à implantação em um ambiente de produção no qual ela seja capaz de gerar valor para o usuário.

DevSecOps é uma prática que integra segurança ao longo de todo o ciclo de vida de desenvolvimento de software, desde a concepção até a produção. A sigla "DevSecOps" combina "Desenvolvimento" (Dev), "Segurança" (Sec) e "Operações" (Ops), e representa uma evolução do DevOps tradicional, com a segurança sendo tratada como uma responsabilidade compartilhada entre as equipes de desenvolvimento, operações e segurança.

Ciclo

Benefícios:

  • Entrega Rápida e Frequente de Software;
  • Melhoria na Qualidade do Software;
  • Melhoria Contínua;
  • Maior Confiabilidade;
  • Colaboração e Comunicação Aprimoradas;
  • Escalabilidade e Flexibilidade;
  • Redução de Custos Operacionais;
  • Segurança Integrada;
  • Satisfação do Cliente.

Desafíos:

  • Resistência à mudanças;
  • Comunicação;
  • Escolha das Ferramentas;
  • Integração de Ferramentas;
  • Automação e implantação de Testes e guardrails;
  • Segurança e Gerenciamento de Segredos;
  • Segurança de dados;
  • Migração de dados;
  • Visibilidade;
  • Resposta a incidentes;
  • Consistência de Ambientes;
  • Ambientes Dinâmicos;
  • Gerenciamento de dependências;
  • Retorno sobre Investimento;
  • Regulamentações e Conformidade;
  • Metrificar.

Boas práticas:

  • Integração contínua;
  • Manter os repositórios de códigos bem estruturado e organizado;
  • Configurar regras de proteção de Branch;
  • Manter um ambiente estável, escalável e atualizado;
  • Planejamento e automação para deploy, falhas e rollback;
  • Monitoramento;
  • Rastreabilidade;
  • Feature flag;
  • Arquitetura bem estruturada (ex: módulos);
  • Tempo de build (custos);
  • Tamanho da aplicação (custos);
  • Segurança;