Você sabe o que é DevOps?

karennovaes - Jun 2 '22 - - Dev Community

O que é?

Image description

É um movimento cultural que veio pra "atacar" o conflito entre equipe de desenvolvimento e de operação, através de colaboração e uso de uma série de ferramentas para fornecer aos clientes produtos melhores e mais confiáveis.

Essas equipes usam práticas para automatizar processos que historicamente sempre foram manuais e lentos. As ferramentas ajudam, também, os engenheiros à realizar tarefas independentemente (por exemplo, implantação de código ou provisionamento de infraestrutura) que normalmente exigiriam a ajuda de outras equipes, e isso aumenta ainda mais a velocidade da equipe.


Benefícios?

Image description

Velocidade:

Operar com velocidade para que possa trazer inovações mais rapidamente, adaptar-se melhor a mercados dinâmicos e tornar-se mais eficiente na geração de resultados comerciais.

Entrega rápida:

Aumentar a frequência e o ritmo de lançamentos para poder inovar e melhorar seu produto mais rapidamente. Quanto mais rápido você puder lançar novos recursos e corrigir erros, maior será a sua agilidade para responder às necessidades dos clientes e criar vantagem competitiva.

Confiabilidade:

Garantir a qualidade das atualizações de aplicativos e alterações de infraestrutura para que você possa entregar com confiança e manter uma experiência positiva para os usuários finais.

Escala:

Operar e gerenciar processos de infraestrutura e desenvolvimento em escala. A automação e a constância ajudam a gerenciar sistemas complexos ou dinâmicos com eficiência e risco reduzido. Por exemplo, a infraestrutura como código que  ajuda a gerenciar os ambientes de implantação, teste e produção de modo repetido e mais eficiente.

Colaboração melhorada:

Criar equipes mais eficientes, que enfatiza valores como propriedade e responsabilidade, colaborando de perto, compartilhando muitas responsabilidades e combinando seus fluxos de trabalho. Isso reduz ineficiências e economiza tempo.

Segurança:

Operar rapidamente enquanto mantém o controle e preserva a conformidade. Podendo adotar o modelo DevOps sem sacrificar a segurança usando políticas de conformidade automáticas, controles minuciosos e técnicas de gerenciamento de configuração.


Como?

Integração e Entrega contínua (CI/CD):

Na entrega contínua, cada alteração de código é criada, testada e enviada para um ambiente de teste ou preparação, que não pertence à produção. Já na integração contínua, os desenvolvedores, com frequência, juntam as alterações de código em um repositório central e após isso os testes são executados.

A diferença entre as duas é a presença de uma aprovação manual para atualizar o ambiente de produção. Com a CI, a atualização da produção ocorre automaticamente, sem aprovação explícita. 

Microserviços:

É uma abordagem de projeto para a criação de uma aplicação única como um conjunto de pequenos serviços.

Cada serviço é executado em seu próprio processo e se comunica com outros serviços por meio de uma interface bem definida usando um mecanismo leve, geralmente uma API.

Infraestrutura como código:

Define os recursos e as topologias do sistema de uma maneira descritiva que permite às equipes gerenciar os recursos da maneira como codificarem. Essas definições também podem ser armazenadas e versionadas em sistemas de controle de versão, onde podem ser revisadas e revertidas.

A prática de infraestrutura como código ajuda a automatizar a implantação e reduz o risco de erro humano, especialmente para ambientes grandes e complexos. Também, a duplicação de ambientes para diferentes data centers e plataformas em nuvem também se torna mais simples e eficiente.

Monitoramento e análie:

O monitoramento de métricas e logs serve para ver como a performance do aplicativo e da infraestrutura afeta a experiência do usuário final do seu produto.

Comunicação e colaboração:

O aumento da comunicação e da colaboração é um dos principais aspectos culturais do DevOps pois auxilia em unir fisicamente os fluxos de trabalho e as responsabilidades de desenvolvimento e operações, permitindo que se alinhem mais às metas dos projetos.


Finalização

Agora que você aprendeu sobre o conceito de DevOps, o próximo passo é aplicá-lo.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .