001 - Glossário Tech - o que é Devops
Salve salve pessoal!!!
Tudo bem com vocês? Espero que sim! Antes de mais nada, um Feliz Ano Novo para vocês! E esse o nosso primeiro post do ano e vamos iniciar uma série chamada Glossario Tech onde irei trazer algumas tecnologias e falar delas de forma teórica. Bora lá?
O que é DevOps
DevOps é uma abordagem de desenvolvimento de software que visa integrar as equipes de desenvolvimento (Dev) e operações (Ops) para melhorar a colaboração e a eficiência ao longo do ciclo de vida do desenvolvimento de software. A palavra “DevOps” é uma combinação de “Desenvolvimento” e “Operações”.
A principal ideia por trás do DevOps é criar um ambiente de desenvolvimento mais ágil, no qual as equipes de desenvolvimento e operações trabalham de maneira colaborativa e contínua, desde a concepção do software até a sua implementação e manutenção. Isso envolve a automação de processos, a utilização de ferramentas apropriadas, e a criação de uma cultura organizacional que promove a comunicação e a colaboração entre as equipes.
Princípios-chave
Colaboração: Promove uma cultura de colaboração e comunicação eficaz entre as equipes de desenvolvimento e operações.
- Exemplo: Reuniões regulares entre equipes de desenvolvimento e operações para discutir requisitos, metas e desafios.
- Ferramenta: Plataformas de comunicação como Slack, Microsoft Team, entre outras
Automação: Busca automatizar tarefas repetitivas e processos para aumentar a eficiência e reduzir erros.
- Exemplo: Automação de processos de compilação, teste e implementação.
- Ferramenta: Jenkins, Travis CI, Rundeck, GitLab CI, entre outras.
Entrega Contínua (Continuous Delivery): Procura entregar continuamente software de alta qualidade aos usuários, reduzindo o tempo entre o desenvolvimento e a implementação em produção.
- Exemplo: Implementação automática de novas funcionalidades em ambientes de teste assim que o código é confirmado.
- Ferramenta: Ferramentas CI/CD (Continuous Integration/Continuous Delivery) como Jenkins, GitLab CI, Azure DevOps.
Integração Contínua(Continuous Integration): Envolve a prática de integrar regularmente o código desenvolvido por diferentes membros da equipe para detectar e corrigir problemas rapidamente.
- Exemplo: Uso de um sistema de controle de versão para integração contínua de código.
- Ferramenta: Git, SVN, entre outras.
Monitoramento e Feedback: Implementa sistemas de monitoramento para acompanhar o desempenho do software em produção, permitindo uma rápida resposta a problemas e melhorando continuamente o produto.
- Exemplo: Monitoramento em tempo real do desempenho do aplicativo em produção.
- Ferramenta: Prometheus, Grafana, ELK Stack, entre outras.
Tem mais
Outros compontentes importantes que vamos criar posts exclusivos em breve, que também fazem parte da cultura DevOps são:
Infraestrutura como Código (IaC):
- Exemplo: Descrever a infraestrutura (servidores, redes, bancos de dados) como código.
- Ferramenta: Terraform, Ansible, Chef, Puppet, entre outras.
Testes Automatizados:
- Exemplo: Desenvolvimento de testes automatizados para garantir a qualidade do código.
- Ferramenta: JUnit, Selenium, TestNG, entre outras.
Containerização:
- Exemplo: Empacotamento de aplicativos e suas dependências em contêineres.
- Ferramenta: Docker, Podman, entre outras.
Orquestração de Contêineres:
- Exemplo: Gerenciamento automatizado de contêineres em produção.
- Ferramenta: Kubernetes, Docker Swarm, entre outras.
Deploy Blue-Green:
- Exemplo: Lançamento de uma nova versão em um ambiente (Green) enquanto o ambiente anterior (Blue)continua em operação.
- Ferramenta: Ferramentas de orquestração como Kubernetes.
Rollback Automático:
- Exemplo: Se uma nova versão causar problemas, um mecanismo automático reverte para a versão anterior.
- Ferramenta: Ferramentas de orquestração, scripts personalizados.
Ciclo de Retorno Rápido (Fast Feedback):
- Exemplo: Implementação de uma cultura onde feedbacks sobre o software são recebidos rapidamente.
- Ferramenta: Ferramentas de monitoramento em tempo real, testes automatizados.
Que tal uma leitura mais abrangentes?
Para irmos um pouco além do que a documentação oficial, e ler alguns livros relacionado ao assunto, eu faço aqui para vocês duas indicações.
Manual de DevOps: como obter agilidade, confiabilidade e segurança em organizações tecnológicas:
Nesse livro, é abordado de uma forma mais abrangente os conceitos sobre DevOps com casos reais de uso, descritos pelos idealizadores e referências da cultura DevOps, nele você entende onde surgiu e muito mais!
O projeto fênix: um romance sobre TI, DevOps e sobre ajudar o seu negócio a vencer
O Projeto Fênix é uma nova forma de falar sobre gerenciamento de TI. É uma história fictícia sobre algo tão comum do dia-a-dia do profissional de TI. Vale muito a pena!
E por hoje é só pessoal, nos veremos em breve com novos posts sobre o Glossario Tech aqui no blog.
Abraço!