DevOps
DevOps (abreviação de DEVelopment OPeration) refere-se a um conjunto de práticas ágeis voltadas para melhorar a eficiência do desenvolvimento de software e dos processos de uso, por meio da integração contínua e colaboração entre diferentes especialistas, utilizando ferramentas de automação.
O conceito de DevOps se caracteriza, principalmente, pela remoção de barreiras organizacionais entre as equipes de desenvolvimento para a criação de um produto melhor. DevOps também foca na implementação da metodologia CI/CD.
Diferente de outros conceitos similares, DevOps propõe a extensão das práticas ágeis ao longo de todo o ciclo de vida de um produto de TI: da criação e testes à operação e suporte.
Outro aspecto que diferencia DevOps é seu suporte à arquitetura de microsserviços. Na prática, isso significa a construção de um sistema segmentado em módulos fracamente acoplados, cada um sob a responsabilidade de um especialista. Isso possibilita a refatoração contínua e o lançamento constante de atualizações sem a necessidade de interromper o funcionamento do produto de TI.
Tarefas do DevOps
- Aceleração da entrada do produto no mercado.
- Redução da taxa de falhas em novos lançamentos.
- Diminuição do tempo de depuração.
- Melhoria na recuperação de falhas.
Princípios do DevOps
O conceito de DevOps é baseado em cinco princípios fundamentais voltados para aumentar a responsabilidade dos desenvolvedores em todas as etapas de produção do produto e acelerar seu lançamento.
- Cultura de comunicação. DevOps está diretamente relacionado ao trabalho das equipes em um ambiente de comunicação confiável, reunindo especialistas de diferentes perfis.
- Automação. Todo novo código deve passar por uma série automatizada de testes antes de ser enviado ao servidor de produção.
- Eficiência. Esse princípio visa eliminar ações e ferramentas de pouca utilidade em favor da melhoria contínua e da otimização na resolução de problemas.
- Medição. O princípio está relacionado à eficácia dos processos por meio da análise contínua de dados e avaliações.
Compartilhamento. Responsabilidade coletiva e compartilhamento de sucessos com toda a equipe. Esse princípio visa a unificação e a interação entre todos os participantes na criação de um produto de TI.