A ideia desta página é descrever de forma básica ferramentas e conceitos para ser possível atuar como DevOps / SRE hoje no mercado de TI.
Todo o conteúdo que coloco aqui foram ferramentas, cursos, livros que estudei até hoje e o que vejo ser usado nas maiorias das Empresas. Existem muito mais ferramentas no mercado, mas as que menciono aqui já trará uma boa estrutura para boas oportunidades.
Para ter uma ideia de qual nível de conhecimento é necessário para participar de uma oportunidade de DevOps / SRE tenha em mente algo do tipo:
Para uma oportunidade de Júnior ou mesmo Pleno nível I, entendo que tentar possuir o máximo de conhecimento indicado como ideal na tabela de classificação do Bloco 1 informado abaixo lhe dará ampla vantagem ao nível de conhecimento técnico que é geralmente solicitado nas descrições das vagas e também será a sua principal base para todos os outros níveis.
Etapa | Domínio |
---|---|
Bloco 1 - Etapa 1 | - Min: Domínio total de 50% dos itens mencionados - Ideal: Domínio total de 80% dos itens mencionados |
Bloco 1 - Etapa 2 | - Min: Domínio total de 30% dos itens mencionados - Ideal: Domínio total de 60% dos itens mencionados |
Bloco 1 - Etapa 3 | - Nginx Min: Domínio total de 50% de conhecimento na ferramenta - Nginx Ideal: Domínio total de 80% de conhecimento na ferramenta --- - Apache Min: Domínio total de 30% de conhecimento na ferramenta - Apache Ideal: Domínio total de 50% de conhecimento na ferramenta |
Bloco 1 - Etapa 4 | - AWS Min: Curso AWS Practitioner - AWS Ideal: Certificação AWS Practitioner --- - Azure Min: Curso AZ-900 - Azure Ideal: Certificação AZ-900 |
Bloco 1 - Etapa 5 | - Min: Domínio Mínimo de 50% da ferramenta - Ideal: Domínio Mínimo de 80% da ferramenta |
Bloco 1 - Etapa 6 | - Min: Domínio total de 50% dos itens mencionados - Ideal: Domínio total de 80% dos itens mencionados |
- Comandos básicos de Shell
- Dominar ao máximo a ferramenta vi / vim
- Ferramentas para manipular textos (awk, sed, grep, egrep, fgrep, sort, uniq, cat, cut, echo, fmt, tr, nl, wc, Less, more, tac)
- Ferramentas para monitoramento de processos (ps, top, htop, atop, lsof)
- Ferramentas para thsoot de redes (nmap, tcpdump, ping, mtr, traceroute, dig, airmon, airodump, iptables, netstat)
- Ferramentas para analise de performance de sistemas (nmon, iostat, sar, vmstat)
- Outras ferramentas (find, tar, gz, zip, unzip, bz2, strace, dtrace, systemtap, uname, df)
- Criar e Entender Linux File System
- SSH Key Management
Recomendação para estudos: Overview do conteúdo Linux Essentials e Curso Linux Essetials e de Shell Script
- Configurações básicas de firewalls
- Conhecimento sobre Camada OSI
- Entender sobre IP addresses, CIDRs subnets, portas, protocolos e DNS
- Load Balancers
- Proxy Server
- Proxy Reversos
- HTTP/HTTPS
- SSL e TLS
- Port Forwarding
- Nginx
- Apache
- IIS
Dica: Focar em configuração de SSL TLS para cada WebServer acima, pois hoje tudo tem que ter certificado nem que seja Let's Encrypt. Tente dominar instalações, configurações e alguns tshoots da ferramenta e de certificados.
- AWS
- Azure
- GCP
Obs.: Escolha como principal AWS ou Azure e aprenda ao máximo, e tenha conhecimento suficiente na segunda opção como backup técnico.
- GIT
Obs.: O seu nível de conhecimento nesta ferramenta deverá ser de no mínimo 50%, pois ela será a sua ferramenta principal para versionar tudo o que for código para as próximas etapas.
Materiais de apoio:
Dica: Após ter conhecimentos sólidos em Git, tente estudar sobre Git Flow.
- Yaml
- Json
- XML
- Markdown
Obs.: Focar no aprendizado de Yaml e Json para trabalhar com a maior quantidade de arquivos de configurações, XML para alguns cenários que ainda utilizam e entender bastante sobre Markdown para criações e sustentações de documentações.
- Terraform
- Ansible
- Baseado na Etapa 4, estude CloudFormation ou Azure Resource Manager
Obs.: Focar no aprendizado de Containers será muito importante para a próxima Etapa.
Dica: Dedique maior esforço no aprendizado de Docker e ao se sentir confortavel dedique um tempo ao Containerd. Com o passar do tempo vá conhecendo as outras opções de mercado.
- Kubernetes
- Docker Swarm
- AWS ECS (Caso tenha escolhido AWS na Etapa 4)
- Rancher
Obs.: Dedique mais estudos a Kubernetes pois é a ferramenta mais usada atualmente, mas tenha conhecimento em Swarm pois há casos de ambientes que ainda o utilizam como solução.
Dica: Utilizar material de CKAD no primeiro momento irá ajudar muito a entender e atuar com Kubernetes.
- Jenkins
- Gitlab CI
- Github Actions
- Bitbucket
Obs.: Estas ferramentas são as mais presentes nas empresas atualmente
- Zabbix
- Prometheus
- AWS CloudWatch
- Grafana
- New Relic
- Jaeger
- ELK
- Graylog
- Splunk
- Python
- Golang
- Shell Script
- Powershell
- EXIN Agile Scrum Foundation
- DevOps Foundation
- Para quem possui assinatura premium do Linkedin pode fazer o curso Become a DevOps Engineer
Obs.: Essa lista eu busquei em minha conta, se for adquirir algum deles, verifique se há alguma versão mais atualizada.
Essenciais:
- O Projeto Fênix: Um romance sobre TI, DevOps e sobre ajudar o seu negócio a vencer
- Manual De DevOps: Como obter agilidade, confiabilidade e segurança em organizações tecnológicas
- DevOps na prática: Entrega de software confiável e automatizada
- Site Reliability Engineering: How Google Runs Production Systems (English Edition)
- Ansible for DevOps: Server and configuration management for humans (English Edition)
Bom para complementar estudos e ter ideias:
- The Site Reliability Workbook: Practical Ways to Implement SRE (English Edition)
- 97 Things Every SRE Should Know: Collective Wisdom from the Experts (English Edition)
- DevOps and Site Reliability Engineering (SRE) Handbook : Non-Programmer’s Guide ( Second Edition) (English Edition)
- Lean Inception: Como Alinhar Pessoas e Construir o Produto Certo
- Scrum e Métodos Ágeis: Um Guia Prático
- SCRUM em equipes de Infraestrutura: Relatos práticos de um gerente de TI Jonas Salengue
- O que é DevOps?: Colaboração como caminho para entregar valor ao negócio
- DevOps & Microservices Handbook: Non-Programmer’s Guide to DevOps and Microservices (English Edition)
- TimeDev - Muito mais do que código
Caso sua opção tenha sido AWS na Etapa 4 essa leitura é fundamental:
- Conhecer os Git Workflows usados por desenvolvedores
- Tipo de ambientes usados atualmente em uso pelos desenvolvedores (Prod, Staging, Developer, etc)
- Ferramentas de testes mais utilizadas atualmente