O que é DevOps?
Guia para se tornar um DevOps
Com o DevOps, muitas vezes as equipes de operações e desenvolvimento se tornam uma só.
Em alguns modelos, as equipes de qualidade e segurança se integram às de desenvolvimento e operações — esse modelo também é conhecido como DevSecOps.
Veja abaixo o Guia para se tornar um DevOps e comece a se preparar. O guia apresenta passo a passo os conhecimentos que você deve dominar para atuar nessa área.
O nome – DevOps – é uma junção das palavras development e operations.
Não é apenas um cargo, um grupo de ferramentas ou uma tecnologia.
É um conjunto de práticas para fazer entregas de forma integrada e rápida, garantindo a qualidade em todos os estágios de criação.
DevOps é uma mudança cultural de TI, que integra os times de desenvolvimento de software e operações em busca de maior eficiência na criação e gerenciamento de uma aplicação.
As equipes passam a pensar na organização de uma forma mais sistêmica e a focar nas necessidades dos clientes finais.
Com o DevOps, muitas vezes as equipes de operações e desenvolvimento se tornam uma só.
Os desenvolvedores não estão mais em fases específicas do projeto: eles vão do desenvolvimento, passam pelos testes e chegam à implantação — muitas vezes com diversas funções.
Em alguns modelos, as equipes de qualidade e segurança se integram às de desenvolvimento e operações — esse modelo também é conhecido como DevSecOps.
DevOps também diz respeito a automatização de procedimentos, que antes costumavam ser feitos de forma lenta e manual, agilizando as atualizações e podendo até aumentar o ciclo de vida da aplicação.
É uma forma importante de ganhar eficiência e garantir qualidade em testes e, assim, poder trabalhar com entrega contínua e microsserviços.
Embora DevOps seja um conjunto de práticas que devem ser postas em prática por toda a equipe, é possível especializar-se nessa função.
Os profissionais responsáveis pela aplicação acompanham por completo todo o seu ciclo de vida, que passa por: desenvolvimento, testes, implantação e operações.
São responsáveis pela definição da infraestrutura e ambiente computacional onde o software será executado, e podem criar scripts para construção do software e disponibilização automática nos vários ambientes de execução (desenvolvimento, homologação e produção).
Guia para se tornar um DevOps
1 – Aprenda alguma linguagem de programação
Não importa a linguagem, o importante é ter algum conhecimento de programação para fazer automação:
- Go
- Python
- C
- C++
- Rust
- Ruby
- Node.js
2 – Aprenda conceitos de sistemas operacionais
Gerenciamento de processos
Threads e Concorrência
Sockets
Conceitos básicos de Posix
Conceitos de rede
Gerenciamento de E/S
Virtualização
Memória/Armazenamento
Sistemas de Arquivos
Gerenciamento de Inicialização (intid)
Gerenciamento de Serviço (systemd)
3 – Aprenda sobre gerenciamento de servidores
Estude administração de algum sistema operacional. Escolha qualquer distribuição do Linux ou Windows Server.
Conhecimentos necessários:
- Proficiência em linha de comando e scripts (bash para Linux ou Power Shell para Windows)
- Gerenciamento de processos
- Análise de performance de sistemas
- Setup e configuração de redes
- Ferramentas de apoio
4 – Aprenda sobre segurança, redes e protocolos
Estude os temas fundamentais:
- Servidores de email
- HTTP e HTTPS
- FTP
- SSL/TLS
- SSH
- TCP/IP
- DNS
Aprenda a instalar e configurar:
- Proxy reverso
- Servidor de cache
- Balanceador de carga
- Firewall
- Servidor Web (Apache, IIS, Nginx, Tomcat…)
5 – Aprenda Infrastructure as code
Conteineres (Docker, LXC)
Gerenciamento de configuração (Ansible, Salt, Chef, Puppet)
Orquestração de containeres (Kubernetes)
Provisionamento de infraestrutura (Terraform, CloudFormation, Pulumi)
6 – Aprenda ferramentas de Integração e Deploy Contínuos (CI/CD)
Gitlab CI
Jenkins
Github Actions
Azure DevOps (opcional)
7 – Aprenda como monitorar software e infraestrutura
Monitoramento de infraestrutura (Prometheus, Nagios, Grafana, Zabbix, etc)
Monitoramento de aplicações (Jaeger, New Ralix, OpenTracing, AppDynamics, etc)
Gerenciamento de logs (Elastic Stack, Splunk, etc)
8 – Aprenda sobre provedores de Cloud Computing
Indispensáveis: AWS, Azure, Google Cloud
Desejáveis: Digital Ocean, Heroku
Adicionais: Alibaba Cloud, Red Shiftes (Jaeger, New Ralix, OpenTracing, AppDynamics, etc)
Gerenciamento de logs (Elastic Stack, Splunk, etc)