Contents

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!