princípios e filosofias culturais que visam aprimorar a colaboração e a comunicação entre as equipes de desenvolvimento de software (Dev) e de operações de TI (Ops). • O objetivo principal é automatizar e otimizar os processos de entrega de software e de mudanças na infraestrutura, fomentando uma cultura de melhoria contínua e lançamentos mais rápidos e confiáveis. O que é DevOps e Site Reliability Engineering (SRE)?
simples de pensá-la é: "tratar problemas de operações como se fossem problemas de software". Foi desenvolvida no Google para criar sistemas de software escalável e altamente confiáveis.
conforme necessário, e garante que o prato seja cozido à perfeição (testando e refinando o código). • SRE: Lida com quaisquer imprevistos ou contratempos, certifica-se de que a cozinha permaneça limpa e organizada, e ajuda o chef a entregar o prato finalizado aos clientes (usuários). DevOps e SRE: uma analogia simplificada
de 2011, a Sony PlayStation Network (PSN) sofreu uma interrupção massiva que durou 23 dias e afetou mais de 100 milhões de usuários. Este incidente é considerado um exemplo clássico dos desafios enfrentados na era pré-DevOps.
e a colaboração, abrindo caminho para o foco em entregas mais rápidas e na integração de equipes. • Automação: A ascensão das ferramentas de automação simplificou as tarefas manuais e repetitivas. • Computação em Nuvem: O surgimento de plataformas de nuvem forneceu um ambiente escalável e flexível para desenvolvimento e implantação.
versão com o Git torna-se o padrão. • Gatilhos automáticos: Um simples commit aciona ferramentas de CD como Github Actions, Gitlab CI, Jenkins e etc. • Automação: As pipelines executam passos como compilação, testes e geram relatórios.
o código em um formato pronto para ser implantado (ex: uma imagem de contêiner Docker). • Implantação em Ambiente de Testes: Automaticamente implantado em um ambiente de homologação ou testes (staging), que é uma cópia fiel do ambiente de produção.
movimento da "Infraestrutura Ágil", focado em aplicar os princípios Ágeis ao gerenciamento de infraestrutura, alinhando-o com as práticas de desenvolvimento.
ser um conceito de nicho para se tornar o padrão da indústria de tecnologia. • DevOpsDays, KubeCon + CloudNativeCon, AWS re:Invent, Google Cloud Next, Microsoft Ignite, Blogs de Engenharia e etc.
vida completo da sua aplicação. • Observabilidade nasce no código: Um sistema não se torna observável magicamente em produção. O desenvolvedor é quem melhor sabe quais informações são cruciais para entender o comportamento da aplicação.
caixa preta. • Expor métricas que vão além de CPU e memória. Prática DevOps: • Métricas de aplicação. Métricas de negócio. • Logs Estruturados. • Tracing distribuído.
ser resolvido no final. • Análise de Dependências: Use ferramentas como Snyk, Falco, Trivy para verificar e corrigir vulnerabilidades. • Gerenciamento de Segredos: Nunca colocar senhas, tokens ou chaves de API direto no código ou em arquivos de configuração
Você raramente criará um Pod diretamente, mas tudo acontece dentro dele. Entenda o ciclo de vida de um Pod. • Configuração: Sua aplicação receberá os dados de um ConfigMap como variáveis de ambiente ou como arquivos montados em um volume.
um grande histórico sobre o que foi feito. • Pull requests pequenos e focados em implementar uma funcionalidade por vez. • Utilize linters para encontrar erros e formatar o seu código. • Mantenha o README.md como a porta de entrada do seu projeto.