9 cenários onde implementamos a cultura DevOps

“A arte do DevOps” reconhece 9 cenários nos quais podemos implementar a cultura DevOps:

1- Plano
2- Codificar/Desenvolver
3- Construir (Edifício)
4- Teste/Teste
5- Liberação
6- Implementar
7- Operar
8- Monitorar
9- Pipeline CI/CD

A Arte do DevOps — As 9 Situações
Capítulo 11 — Fases do ciclo de vida do DevOps

Original em inglês de Greg Billington, traduzido com o apoio da OpenAI

Planejar é a arte de descrever a sequência ideal de eventos e prever a duração desses eventos, para que o líder técnico (com alguma certeza) saiba a data da festa de comemoração após o lançamento.

Code/Develop é a etapa de criação de scripts de pipeline de CI/CD para montar e compilar o código dos desenvolvedores em um servidor central. Isso também requer a adição de tantas ferramentas de verificação e equilíbrio quanto possível, como o famoso “lint” ou sonarcloud.

Build é a fase em que o engenheiro executa scripts e templates para configurar ou instanciar um ambiente construído a partir de infraestrutura real ou virtual.

O teste é onde o engenheiro verifica se o script foi executado corretamente e criou todos os recursos e elementos desejados, e os conectou através de uma rede apropriada para que haja um ambiente completo e operacional.

A implantação é onde o pipeline de CI/CD constrói um ambiente e implanta o software aplicativo nele, com uma alta probabilidade de que funcione conforme testado anteriormente.

A operação é onde o ambiente e o aplicativo são executados para executar a função necessária. O sistema também deve executar tarefas ocultas durante esta fase, em preparação para qualquer contra-ataque que exija a intervenção dos senhores da Continuidade de Negócios ou da Recuperação de Desastres.

O monitoramento é onde você observa o ambiente e a aplicação para garantir que estejam operando dentro de limites aceitáveis; Caso contrário, um alerta será gerado e o engenheiro de DevOps será notificado sobre o evento de alarme. O engenheiro pode investigar mais a fundo por meio do uso de logs do sistema operacional e de aplicativos, que são logs de precisão e virtude inquestionáveis.

CI/CD não é uma fase, mas sim uma cola global significativa e magnífica chamada “o pipeline” que controla o fluxo de construção, teste e implantação de sistemas como a água em um canal que só tem um caminho a percorrer. Este é um cano que deve ser usado com frequência e quanto mais rápido a água passar por ele, melhor. Aqueles que não conhecem a abreviatura CI/CD tremerão diante de seu grande poder e influência.

Faça uma incursão para abastecer sua equipe quando houver muitas terras férteis. Dê a eles os melhores laptops, equipados com montanhas de memória, unidades rápidas e muitas telas. Suas velhas armas confiáveis podem ser entregues a outras pessoas que não estão na linha de frente da batalha e usam apenas aplicativos de escritório.

Os engenheiros, em momentos de desespero, perdem a sensação de medo. Podem estar abertos a mudanças repentinas e imprudentes nos sistemas de produção, o que pode ajudar, mas deve ser utilizado com cautela e apenas se a situação for grave.

Proíbe a interpretação de presságios e dúvidas sobre o futuro; que não existe:

Nenhum "TO-DO" nos scripts. Blocos de código comentados porque a função foi removida, mas deixada como madeira morta para aqueles que a seguem. Qualquer comentário que coloque em dúvida os engenheiros que codificaram essa monstruosidade em tempos anteriores Firewalls com portas abertas Auto -certificados assinados por falta de cuidado ou de tempo para obter um verdadeiro O princípio de gerenciar uma equipe e construir um sistema é estabelecer um padrão que todos devem atingir.

Ao construir sua solução:

Torne-o frágil e suscetível a quebrar e parar em qualquer oportunidade inesperada. Divulgue informações sobre eventuais erros e registre os logs com a definição mais alta. Isso será conhecido como “estágio de desenvolvimento”.

Torne-a resiliente para a batalha, robusta para continuar quando tudo ao seu redor falhar e vacilar. Esconda qualquer motivo de preocupação do inimigo e continue usando o melhor caminho disponível; registra apenas os erros mais graves para que os logs não sejam preenchidos muito rapidamente. Isso será conhecido como "Produção".

Quando você viaja da terra do Desenvolvimento para a Produção, pode haver outras terras entre elas. Quanto mais terrenos, melhor, pois cada um tem suas propriedades que facilitam a navegação. Essas áreas podem incluir testes de recursos, testes de sistema, testes unitários, demonstração do cliente, testes de aceitação do cliente, pré-produção e ambientes de produção.

Teste de recursos: você deve se concentrar em apenas uma coisa.

Teste do sistema: Você deve certificar-se de que todas as partes do produto funcionam corretamente de acordo com a lei moral.

Teste Unitário: Você deve verificar se um único método atende às suas obrigações.

Demonstração do cliente: deve incluir conjuntos de dados amigáveis ao cliente, ter a capacidade de mostrar todos os recursos (detalhes chamativos e enfeites) e ter uma aparência visualmente atraente, carregando a marca do cliente para ganhar pontos extras. Acima de tudo, isso deve funcionar quando solicitado.

Teste de aceitação do cliente – Deve funcionar sem problemas, pois o pagamento de recompensas e marcos depende disso.

Produção: Este deve ser o ambiente mais rápido e robusto de todos, deve ser seguro, sempre funcionando e protegido de invasões acidentais.

Os planos devem ser flexíveis e adaptáveis, e a equipe deve adicionar um painel à sua ferramenta de observabilidade. Compartilhe este painel (ou uma versão simplificada) com professores e partes interessadas. O livro da execução é o almanaque de um mágico e deve ser protegido para que somente quem o entende e acredita possa vê-lo.

Se o inimigo, que são os “bugs”, deixar uma porta aberta, você deve entrar rapidamente e resolvê-los.

Evite um mau lançamento garantindo que você tenha o controle do cliente e se adapte ao problema até poder lutar com um novo lançamento decisivo; caso contrário, implante um patch rápido.

Nicolás Georger

Nicolás Georger

Self-taught IT professional driving innovation & social impact with cybernetics, open source (Linux, Kubernetes), AI & ML. Building a thriving SRE/DevOps community at SREDevOps.org. I specialize in simplifying solutions through cloud native technologies and DevOps practices.