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)

 

 

Alguma dúvida? Mande uma mensagem!