Pré-requisitos DevOps

Você sabe o significado de pré-requisito e pra que ele serve?

Segundo o “pai dos burros”, vulgo dicionário, pré-requisito é uma condição prévia indispensável para se alcançar algo, seguir uma formação, fazer um curso, ocupar uma função etc. Ou seja, é uma disciplina cursada obrigatoriamente antes de outra, por envolver conhecimentos prévios necessários ao estudo de disciplinas posteriores (uma ou mais).

Quem me conhece sabe que eu sempre bato nessa tecla de ter conhecimentos básicos e sólidos justamente para você saber o que está fazendo. Em grupos de tecnologia vemos diariamente pessoas fazendo perguntas que soam a “imbecilidade” no ponto de vista de pessoas que tem os conhecimentos básicos na veia. Isso porque a pessoa que desdenha de tais questionamentos creem que o indivíduo que faz uma pergunta básica em um deveria ter a resposta se tivesse conhecimentos básicos sobre o assunto. Eu disse básico. Básico é diferente de aprofundado. Quando eu digo conhecimento básico, é ter o mínimo necessário para conseguir seguir a fluência necessária em um conhecimento mais avançado. E o que vemos atualmente são pessoas pulando etapas querendo aprender ferramentas sem ter os pré-requisitos necessários. Resumindo, vai ser uma BOSTA de DevOps.

Eu poderia ficar enchendo linguiça desse post colocando vários exemplos aqui. Mas, vou me abster e mostrar apenas um desses exemplos:

Em um grupo de Docker, um indivíduo envia uma mensagem perguntando se ele poderia ter duas ou mais aplicações em uma mesma porta. Um segundo indivíduo responde ao primeiro que pode, desde que ele não mapeie uma porta já usada por outro serviço no host. Claramente aqui nesse exemplo o primeiro indivíduo não tem conhecimento técnico básico do Modelo OSI, suas camadas, protocolos de rede etc. Sem contar que ele também não deve ter lido a própria documentação da ferramenta, que expõem detalhes de como um container Docker é isolado do sistema, podendo executar aplicações que usam a mesma porta, só que no container, e não no host que roda os containers. Sendo assim, ele pecou em não ter os pré-requisitos para usar uma ferramenta. Já quis pular etapas sem ter conhecimento prévio (mais uma vez o chato aqui falando de base sólida). Pecou novamente porque poderia ler a documentação e entender como funciona o isolamento de containers do sistema, entre eles o uso de redes.

Afinal, o que eu preciso aprender para me tornar um DevOps?

Você precisa aprender o básico de Linux. Não leia como básico aqui aprender a instalar e executar comandos básicos no terminal. Eu digo aprender o suficiente para você seguir as etapas seguintes, ou seja, fazer cursos de DevOps e as ferramentas utilizadas nesse mercado.

Com isso, aqui vai algumas dicas do que você deve fazer.

  • Aprenda a trabalhar no terminal
  • Aprenda sobre gerenciamento de pacotes
  • Aprenda editor VI/VIM
  • Estude sobre serviços
  • Estudo e aprenda o básico de redes no Linux (roteamento, DNS, firewall etc).
  • Antes de estudar sobre container, entenda sobre máquinas virtuais e quais as diferenças. Lembre-se de aprofundar em ferramentas como Vagrant (não fique no modo manual do VirtualBox).
  • Faça laboratórios usando várias VMs interconectadas em rede. Teste regras de firewall, roteamento etc. (quem disse que você sempre vai trabalhar com cloud?). Fazendo labs você vai ganhar confiança na configuração de um ambiente e de quebra vai aprender a solucionar de problemas de rede.
  • Estude o básico de como construir e implantar aplicações (Python, Node, Go etc.). No site bitnami.com você encontra várias stacks para fazer laboratórios em cloud, containers ou VMs. Isso vai ajudar você a ganha experiência pratica em vários cenários e ambientes. Você pode ver um exemplo básico aqui nesse post.
  • Estude Git e ferramentas de gerenciamento de controle de versão.
  • Estude o básico sobre banco de dados relacionais e NoSQL.
  • Aprenda sobre SSL e TLS. (pular isso aqui vai ser automutilação).
  • Aprenda YAML e JSON.
  • Estude o básico sobre o funcionamento de APIs e para que isso serve.

Eu preciso mesmo ter pré-requisitos?

No meu entendimento, qualquer pessoa pode iniciar uma carreira ou almejar um cargo sem pré-requisitos. Só que a história sempre mostra que mesmo que uma pessoa que não é da área de TI, que não fez faculdade etc. corre atrás de entender como funciona tal tecnologia. Essa pessoa corre atrás de suprimir o mínimo necessário para seguir adiante. Ela busca o conhecimento básico, os tais pré-requisitos que foi o que me fez escrever esse post. Esses profissionais geralmente se destacam da maioria.

Só que o mundo não tem 100% desse tipo de pessoas.

Temos também os profissionais que preferem pular etapas. Eles denigrem a sua própria imagem. Pular etapas me soa também como pegar atalhos. Mas, sabe aquele cara que pega um atalho na sorte e não sabe o que pode acontecer com a escolha que ele fez lá atrás? Isso acontece porque ele não estudou os caminhos, as dificuldades que pode encontrar nos atalhos. Pegar atalho errado é certeza de se dar mal. E se dar mal no mercado é sujar a sua imagem, que vai fazer você ficar estagnado.

Portanto, pense na sua carreira e só pegue atalhos que você saiba o que pode acontecer. Não se aventure em uma ferramenta se você não tem os pré-requisitos técnicos e muito menos não tem o conhecimento básico sobre a ferramenta. Nunca ache que isso vai ser desnecessário, perda de tempo. Muito pelo contrário, quem ganha mais com isso é você mesmo.

Lembre-se. Antes de se aventurar no mundo Cloud, DevOps e afins, não se esqueça de suprimir a parte fundamental que limita seu avanço.

Deixo aqui um roadmap muito legal que você pode seguir para auxiliar nos estudos. Entro em detalhes mais aprofundados nele em um post futuro.

Bons estudos.

Publicado por Janssen dos Reis Lima

+20 anos de experiência na área de TI. Graduado em Sistemas de Informação pela FeMASS e especialista em Administração em Redes Linux pela UFLA. Apaixonado por tecnologia, procuro sempre me manter atualizado. Já escrevi livro, já plantei árvore e tenho um filho. Possuo certificação em Kubernetes (CKA), Azure (AZ-104) e Zabbix (ZCS e ZCP).

Um comentário em “Pré-requisitos DevOps

  1. Muito bom Janssen, ressalto sempre essa questão de laboratório de ESTUDO/TEST/DEPLY enfim, testar sempre varias condicionais antes de ir pra uma aplicação. Uma ferramenta que me auxilia muito quando quero aprender algo novo/cenario é o EVE-NG ( se bem configurado e munido de imagens ) você constroi qualquer ambiente real.
    Forte abraço meu caro.

    Curtir

Deixe um comentário

Crie um site como este com o WordPress.com
Comece agora