DevOps – Por onde começar?
Muito se fala hoje em dia sobre DevOps, sendo esta a profissão do momento que as empresas têm buscado cada vez mais.
Sim, DevOps é uma profissão. Sabemos que anteriormente ela surgiu como um movimento cultural organizacional visando:
- Ampliação na capacidade de comunicação dos times.
- Difusão no desenvolvimento e entregas de softwares.
- Fomentando a agilidade e a qualidade das entregas em operação.
Porém, surgiram variações dentro desse modelo, e o profissional DevOps nasceu com uma missão muito importante dentro das organizações sendo um agente agregador da cultura e dos processos dessa metodologia.
E, com um mercado aquecido e ansiando por profissionais com este perfil, você deve estar se perguntando: “Qual caminho devo seguir?”
Trago aqui seis soft skills que considero importantes para o início de sucesso nessa jornada.
Espírito de Colaboração
Classifico essa como o marco zero para ter uma boa experiência no mundo DevOps.
Hoje não existe mais espaço no mercado para profissionais que atuam de forma separatistas, que pensem apenas em si e em sua entrega. O bom profissional de DevOps precisa colaborar e ser um agente replicador de integração e de conhecimento entre os times.
Nuvem
Sim, é inevitável não mencionar nuvem como skill de um DevOps. Você precisa conhecer ao menos um provedor de cloud, seja ele Azure, AWS, GCP ou outros provedores menos populares. Nuvem não é mais algo tão novo, e a melhores empresas a utilizam devido aos inúmeros benefícios oferecidos, como:
- Alta disponibilidade e
- Conectividade e segurança.
- Pagar apenas o que realmente você utiliza.
Automação
O grande foco e um grande desafio do DevOps é pensar sempre na automação de processos. Esse viés agrega na agilidade e na qualidade das entregas em uma operação. E, quando falamos em automação, logo pensamos em uma infinidade de ferramentas. Abaixo uma pequena amostra:

Principais ferramentas no Ciclo DevOps
É muito tentador querer aprender todas essas ferramentas de uma só vez, acredite, eu já pensei assim também. Porém, devido a grande quantidade de ferramentas e a frequência nas atualizações, isso se torna tarefa muito difícil. Foque no objetivo e no funcionamento macro dessas ferramentas que você terá um grande aprendizado.
Porém algumas ferramentas são grandes aliadas na automação de processos como Terraform, Ansible e Chef.
Controlador de Versionamento
Controlar o versionamento não é uma tarefa simples em grandes times. Todavia, temos um grande aliado chamado Git que possibilita controlar, versionar, rastrear e assegurar a qualidade do seu código. Esta é a principal e mais conhecida ferramenta do segmento e se mostra extremamente eficaz.
Curiosidade
Git é um projeto de código aberto que foi desenvolvido em 2005 por Linus Torwards (Criador do Kernel Linux), uma vez que odiava o funcionamento de CVS (Concurrent Version System) que eram versionadores de arquivos da época. Como desejava criar algo que atendesse a sua necessidade de versionar códigos, Linus Torwards deu início ao então conhecido Git.
CI/CD
O que é CI/CD?

Ilustração sobre passos de esteira CI/CD
- Continuous Integration: “CI” refere-se à integração contínua, que é um processo de automação para desenvolvedores. Temos uma CI bem-sucedida quando novas mudanças no código de uma aplicação são desenvolvidas, testadas e consolidadas regularmente em um repositório compartilhado.
- Continuous Deployment: “CD”, refere-se ao lançamento automático das mudanças feitas por desenvolvedores no repositório à produção, onde podem ser usadas pelos clientes. Isso evita a sobrecarga das equipes de operações por conta dos processos manuais que atrasam a entrega de aplicações.
Esses são basicamente mantras do DevOps, então adquira o conhecimento em pelo menos uma ferramenta que execute esses ciclos dentro da esteira DevOps.
No mercado existem uma variedade de ferramentas que irão auxiliar o CI/CD, sendo algumas open-source como Jenkins e GitLab. Outras possuem diversos tipos de licenciamento, como Azure DevOps e CircleCI.
Containers
O que é container?
Um container é um empacotamento do código e suas dependências que contém somente o necessário para que o aplicativo seja executado de forma rápida e confiável.
A abstração e arquitetura de containers, seus provedores e seus orquestradores irão te apoiar na automação e na administração da sua carga de trabalho. Os principais e mais conhecidos são Docker e Kubernetes.
Conclusão
Vemos que o profissional DevOps tem uma grande aderência no mercado profissional, porém sua trilha não é tão simples. Existe exigência no comprometimento e compartilhamento entre os times além de soft skills específicos em algumas tecnologias.
Mas, com empenho e dedicação, tudo é possível nesse segmento. Conhecendo essas e outras tecnologias você também terá espaço nessa carreira.
Referencias
[Importância na Colaboração] [Benefícios Cloud]https://www.eveo.com.br/blog/beneficios-cloud-alem-custos/
[Versionador GIT]https://git-scm.com
https://pt.wikipedia.org/wiki/Git
[Definição sobre CI/CD]https://www.redhat.com/pt-br/topics/devops/what-is-ci-cd
[Definição sobre Containers]https://www.docker.com/resources/what-container