SRE/DevOps: A STACK para você começar com TUDO em 2022!

DevOps from Zero!💻
9 min readJan 11, 2022

--

Opa pessoal, primeiro artigo aqui de 2022 e contando! Bom, antes de mais nada, tenho que agradecer você, isso, você mesmo, que está aqui para aprender mais sobre esse mundo de SRE/DevOps. Obrigado demais por você ter me acompanhado aqui em 2021, sou muitíssimo grato pelo seu tempinho gastado aqui lendo os posts e aprendendo mais sobre Linux, DevOps, Terraform, Ansible… Pode esperar que 2022 será MUITO TOP.

Intro

Bora seguir com o post e hoje promete… Vou mostrar para vocês qual stack de SRE/DevOps que eu venho usando para me dar bem na carreira de DevOps e me desenrolar no trabalho, no dia a dia e talz. Sem enrolação alguma, vamos do zero à stack que você poderá levar para seu aprendizado pessoal ou até mesmo para sua empresa/projeto, as ferramentas aqui que serão citadas é de grande relevância no mercado e muito buscada por diversas empresas, sejam aqui do BR ou até mesmo da gringa.

Sei que existem n vídeos, posts, threads disponíveis pela interwebs a fora sobre essas dicas de stack de SRE/DevOps e tudo mais… aliás vou citar dois vídeos muito legais que eu curto e aprendi com eles também, mas isso vou deixar para o meio do post, assim você pode focar direto aqui na lógica 😆

A premissa por trás da ferramenta

Bom, eu disse que não iria enrolar no post, mas eu preciso escrever essa parte para que vocês possam entender do porque é útil manter uma stack ferramental perto de você e o valor em que consiste a mesma.

Como muitos já sabem, existem MUITAS ferramentas de DevOps mundo à fora, no Github, nas empresas, em projetos open-source, etc, e para quem está com o objetivo de migrar para essa área, que já vem estudando sobre SRE/DevOps… já deve ter percebido que só de gerência de configuração (Configuration Management) existem pelo menos 4 muito fortes no mercado, que são: Ansible, Chef, CF-Engine e Puppet. Claro, cada qual com sua particularidade, isso depende dos requisitos da sua infraestrutura/projeto.

Levando em consideração esse cenário, será mesmo que é necessário eu aprender todas as ferramentas de gerência de configuração? Eu não poderia focar em apenas uma? Justamente isso, pode sim e é muito bom que você apele para isso, vou explicar…

Uma coisa que eu aprendi com a comunidade foi: não se apegue à ferramenta, tente entender como funciona o conceito por trás dessa ferramenta, ou seja, se estamos falando de gerência de configuração, eu preciso ter em mente que, estou usando uma ferramenta que fornece uma camada de automação para que eu possa usar no meu parque de máquinas, e assim gerenciar as configurações dos meus servidores/aplicativos de forma automatizada. É isso que você precisa entender, e não ficar correndo atrás somente das ferramentas sem entender a premissa que consiste a mesma.

Porque usar uma stack de SRE/DevOps

A ideia do porque da stack eu mostro aqui, sabendo agora que você tem esse poder de escolha da ferramenta, busque aprender alguma que seja notável pelo mercado, na comunidade como um todo, e para isso sabemos que o Ansible é muito forte e essa ferramenta faz parte da minha stack de SRE/DevOps.

Você deve usar uma stack justamente para facilitar e aprimorar seu aprendizado no dia a dia, seja no trabalho, na comunidade, numa entrevista técnica, você tendo conhecimento das possíveis ferramentas que compõem o que um profissional de SRE/DevOps usa, com certeza isso vai facilitar muito o seu lado.

Um exemplo aqui seria você usar Git e Github para versionamento de código e adotar uma Cloud (AWS) por exemplo, e subir recursos de infraestrutura como código usando Terraform. Isso é uma stack ferramental bem simples de DevOps, que prove para você uma forma de provisionar recursos em Cloud de forma automatizada e versionada. No mercado temos Pulumi, CloudFormation da AWS e outros… mas qual a comunidade e as empresas tem adotado mais? Terraform, aqui está uma ferramenta da minha stack de SRE/DevOps, mas porque? Porque é muito utilizada no mercado, é multicloud, usa HCL como linguagem e sem contar que a Hashicorp é TOP.

A stack de SRE/DevOps para 2022 (minha visão)

Sem enrolação, a stack que eu uso para meu dia a dia, para desenrolar atividades, automações e projetos… eu sigo com essa abaixo. Vou separar por tópicos e discorrer previamente cada tópico.

Vou escrever de acordo com minha experiência, ou seja, isso não é usado por todos os DevOps Engineers do mercado, pode ser que determinada ferramenta abaixo não seja tão útil quanto à real necessidade do mercado/projeto, isso varia muito no mundo de TI, apenas esse disclaimer antes de relatar, eu posso estar errado e não existe problema algum nisso, fique a vontade para comentar no final do artigo.

  • Sistema Operacional (LINUX): eu poderia mencionar o Windows mas minha carreira toda foi em Linux, e é legal saber sim Windows, mas como estamos mais voltados à automação, Linux tem sido mais forte, aqui nesse sistema você deve saber como funciona toda a estrutura de diretórios, permissões, processos, gerenciamento de pacotes e como fazer um troubleshooting do zero, por exemplo, de redes, ou instalar alguma aplicação… não precisa compilar kernel mas é bom entender como o kernel funciona e porque ele é essencial no Linux.
  • Controle de versão (GIT): saber Linux e não saber GIT não adianta nada. Hoje como tudo é código a aplicação e a infraestrutura, o Git se torna tão relevante quanto o Linux. Para versionamento de código eu tenho usado GIT na minha stack de DevOps, pois é o maior versionador de código do mundo. Aqui você deve aprender os principais comandos do Git (git add , git commit , git push , git init , git branch ) entre outros comandos da CLI do Git. Vou deixar abaixo um repositório de DevOps que criei e que sempre atualizo com os comandos relacionados à DevOps e o Git está lá…
  • Linguagem de programação (Python): muito se fala na comunidade sobre um profissional de SRE/DevOps saber programar, na minha humilde opinião, acredito que sim, você aprender uma linguagem com certeza vai agregar e MUITO, ainda mais para os perrengues do trabalho/projetos. Eu escolhi Python por n motivos. É claro que não precisamos aprender ao mesmo nível que um desenvolvedor de software, existem muitas particularidades e funções que uma linguagem possui, no nível de SRE/DevOps você precisa ser capaz de codar um programa que ajude você no dia a dia, chamar uma API, ou desenrolar uma integração com outra ferramenta, nada muito além disso.
  • CI/CD (Gitlab): chegamos em outra ferramenta que eu tenho adotado como CI/CD para meu dia a dia. Existem muitas outras ferramentas, como Jenkins, Drone, Circle CI… mas eu fui de Gitlab porque usa Yml e é bem simples de você escrever um pipeline, a documentação dos caras é sensacional demais e sem contar que na comunidade como um todo Gitlab predomina fortemente. Aliás eu estou para escrever um post de como eu criei um pipeline de IaC usando Ansible e Gitlab, ficou maneiro meu lab, logo vou postar aqui para vocês verem e aprenderem.
  • Gerência de configuração (Ansible): eita, um dos meus favoritos da minha stack é esse carinha chamado Ansible, já fiz muitas automações usando Ansible, seja para infraestrutura on-premise ou para ambientes em Cloud (AWS). Ansible sempre me ajuda nos perrengues do dia a dia e do trabalho, é um excelente gerenciador de configuração mantido pela comunidade e MUITO poderoso por ser agentless, é escrito em Python e você usa Yml para escrever seus playbooks/roles. Vale a pena demais aprender Ansible e usar ele como gerenciador na sua stack. Basta navegar pela documentação e você verá o tanto de módulos que ele possui, seja de Cloud, de Windows, filesystems, pacotes, etc.
  • Infraestrutura como código (Terraform): essa ferramenta com certeza é minha predileta atualmente, uso sempre que posso, seja na AWS, DigitalOcean ou qualquer Cloud provider. Para provisionar recursos em infraestrutura como código é Terraform sempre, aqui sabemos do peso que tem a Hashicorp (empresa que mantém o Terraform), usa HCL, é multicloud, e sua documentação é super escrita, bem fácil de entender e com muitos exemplos.
  • Cloud (AWS): falando de Cloud sabemos o peso que tem a AWS no mercado e inclusive em todo o mundo. Se você olhar o quadrante do Gartner você verá a porcentagem que está a AWS perante os outros concorrentes. Aqui você deve saber os principais serviços da AWS (EC2, S3, RDS, IAM, Load Balacing, VPC, Lambda, Auto Scaling, etc), sei que é um mundo de recursos mas sabendo os principais já te deixa muito a frente de outras pessoas, é bom também subir recursos com Terraform, Ansible e montar um cluster com Kubernetes. Aproveita e cria uma conta no Github e adiciona todos os códigos que você usou para provisionar seus recursos.
  • Monitoramento/Métricas (Prometheus/Grafana): sobre a parte de monitoramento e métricas tenho usado Grafana e no momento aprendendo Prometheus, Eu vim de infraestrutura on-premise, e usava muito Zabbix, fiquei muito tempo em cima do Zabbix por necessidade do projeto/empresa e me ajudava demais no monitoramento dos servidores e serviços. Lembro-me se ter integrado o Grafana com o Zabbix e tinha diversas opções de prover dashobards fantásticos, a gerência amava! Para containers tenho focado em Prometheus e posso ver o poder que ele possui para monitorar as aplicações, isso ainda não é observabilidade.
  • Containers (Docker): muito se fala em Docker e aqui está mais uma ferramenta que eu tenho adotado na minha stack de SRE/DevOps. Hoje quase tudo é container, sabemos das diversas vantagens que existem por trás de você containerizar uma aplicação, não estou falando sobre: ahh mas na minha máquina funciona… não, não, vai muito além disso! Aqui você deve saber como acessar um container, como criar volumes Docker, como ver os logs de uma aplicação que está arquitetada dentro do Docker, saber como criar um Dockerfile, criar um cluster usando Swarm… eu tenho alguns posts sobre Docker e Swarm, acredito que seja bem útil para você começar!
  • Orquestração de containers (Kubernetes): agora já mirando aplicações Cloud Native, temos o tão famoso e utilizado Kubernetes. Realmente, esse é muito forte no mercado e está também com certeza na minha stack de DevOps de 2022. Tenho estudado Kubernetes e aqui vai uma dica pessoal, antes de você entrar de cara no Kubernetes, aprenda Docker primeiro, aprenda a escrever um Dockerfile, a criar volumes Docker, gerenciamento de imagens, um pouco sobre Dockerhub para depois você cair de cabeça no Kubernetes, tenho certeza que você se sairá MUITO bem!

A stack fornecida pela comunidade de TI

Falando agora da stack que o pessoal tem publicado na comunidade de TI, seriam esses os que eu mais curto, esse aqui abaixo é um vídeo bem legal que o Jeferson Fernando a.k.a BadTux, comenta sobre as principais ferramentas que compõem o que um profissional de DevOps deve manjar/conhecer. Inclusive foi nesse vídeo que eu acabei trocando e analisando algumas ferramentas que eu já vinha adotando… vale a pena demais assistir!!!

E esse do Matheus Fidelis, a.k.a somelier de bebidinhas, eu curto demais também esse vídeo dele, porque ele explica fazendo café, ou seja, duas paixões SRE e café, e sem contar que o vídeo ficou sensacional de bom!

Finalizando…

Acredito que eu tenha coberto as principais ferramentas que eu, Amaury, venho utilizando em torno de SRE/DevOps. Foi um post onde eu citei ferramentas que eu adotei para meu dia a dia e que tem dado MUITO certo para desenrolar os perrengues e as atividades.

Espero que você tenha gostado do que eu escrevi e gostado também dos pontos que eu mencionei dentro de cada ferramenta, fazer uso de uma stack ajuda muito no seu desenvolvimento profissional, assim você separa algumas ferramentas que são relevantes e começa a estudar.

Sempre procure entender a premissa por trás de cada ferramenta, não adianta querer aprender Kubernetes sem ao menos, saber como criar uma imagem ou um volume em Docker, precisa saber o que está acontecendo por trás dos panos, para assim você possa iniciar sua jornada Cloud Native, esse que será o tema dos meus próximos artigos, fica ligado que vem mais post topzera!!!

Ahhh e se você usa outra stack ou acha que eu não mencionei uma ferramenta legal, não deixe de comentar aqui, vai ajudar todo mundo. Valew!!! 🚀

--

--

DevOps from Zero!💻

SRE/DevOps Engineer| Lifelong learner | Medium Creator | AWS/Azure certified☁️ | Hashicorp Ambassador | Containers | Tech | Community | Coffee