Como se tornar um engenheiro DevOps em seis meses ou até mais rápido. Parte 1. Introdução

Público-alvo

Você é um desenvolvedor que deseja direcionar sua carreira para um modelo DevOps mais avançado? Você é um engenheiro de operações clássico e gostaria de entender o que significa DevOps? Ou você não é nem um nem outro e, após passar algum tempo trabalhando em tecnologia da informação, deseja mudar de emprego e não sabe por onde começar?
Se sim, continue lendo para descobrir como se tornar um engenheiro DevOps de nível intermediário em seis meses! Por fim, se você já está trabalhando com DevOps há muitos anos, ainda poderá extrair muito conhecimento útil deste ciclo de artigos e aprender onde está a indústria de integração e automação atualmente e para onde ela está se direcionando.

Como se tornar um engenheiro DevOps em seis meses ou até mais rápido. Parte 1. Introdução

O que é isso, afinal?

Primeiro, o que é DevOps? Você pode pesquisar definições e passar por toda essa enxurrada de palavras, mas saiba que a maioria das definições é apenas uma mistura de termos disfarçada em uma forma elegante. Portanto, eu lhe darei um resumo de todas essas definições: DevOps é uma forma de entrega de software onde a dor e a responsabilidade são compartilhadas por todos os envolvidos. É isso.

Certo, mas o que essa sigla realmente significa? Ela significa que, tradicionalmente, os desenvolvedores (pessoas que criam software) em seu trabalho eram guiados por incentivos que diferem significativamente dos incentivos das operações (pessoas que gerenciam o software). Por exemplo, como desenvolvedor, quero criar o maior número possível de novas funcionalidades o mais rápido possível. Afinal, esse é o meu trabalho e é isso que os clientes exigem! Porém, se eu sou uma pessoa de operações, preciso de o menor número possível de novas funcionalidades, pois cada nova funcionalidade é uma mudança, e qualquer mudança traz riscos de falhas. Como resultado dessa divergência de incentivos, surgiu o DevOps.

O DevOps tenta unir desenvolvimento e operações (integração e automação) em um único grupo. A ideia é que agora um grupo compartilhe tanto a dor quanto a responsabilidade (e provavelmente a recompensa) pela criação, implantação e geração de receita de software voltado para o cliente.

Puristas dirão que não existe algo como um 'engenheiro DevOps'. 'DevOps é uma cultura, não um papel', dirão eles. Claro, do ponto de vista técnico, eles estão certos, mas, como frequentemente ocorre, esse termo ultrapassou seu significado original. Assim, um engenheiro DevOps é algo como um 'engenheiro de sistemas 2.0'. Em outras palavras, é alguém que entende o ciclo de vida do desenvolvimento de software e cria ferramentas e processos de desenvolvimento de software para resolver problemas operacionais clássicos.

Como se tornar um engenheiro DevOps em seis meses ou até mais rápido. Parte 1. Introdução

DevOps, em última análise, significa criar pipelines digitais que levam o código do notebook do desenvolvedor e o transformam em receita através do uso do produto final; isso é o que realmente importa. Observe que a escolha de carreira em DevOps apresenta uma alta compensação financeira, com quase toda empresa ou 'fazendo DevOps' ou reivindicando fazê-lo. Independentemente de onde essas empresas estão localizadas, as oportunidades gerais de emprego como DevOps são bastante altas e implicam em um trabalho 'divertido' e significativo por muitos anos.

No entanto, tenha cuidado com as empresas que contratam uma 'equipe DevOps' ou um 'departamento DevOps'. Estritamente falando, tais coisas não deveriam existir, pois, em última análise, DevOps ainda é uma cultura e uma maneira de entregar software, e não simplesmente reunir uma nova equipe ou criar um departamento com um nome da moda.

Isenção de responsabilidade

E agora, vamos deixar de lado o copo de 'Cool-Aid' por um momento e pensar no seguinte. Você já ouviu o velho ditado 'não existem engenheiros DevOps juniores'? Se não, saiba que esse é um trope popular no Reddit e no StackOverflow. Mas o que isso realmente significa?

De forma simples, essa frase significa que são necessários muitos anos de experiência combinados com uma forte compreensão das ferramentas para, eventualmente, se tornar um verdadeiro praticante eficaz de Senior DevOps. E, infelizmente, não há um caminho mais curto para atingir esse objetivo. Portanto, não se trata de enganar o sistema — não acredito que seja realmente possível se passar por um engenheiro DevOps sênior com apenas alguns meses de experiência na área. Atingir uma compreensão clara das ferramentas e metodologias em rápida evolução exige anos de experiência, e isso é inegável. No entanto, existe um menu quase consenso (moderno, se preferir) de ferramentas e conceitos que a maioria das empresas utiliza, e é sobre isso que falaremos.

Novamente, ferramentas são diferentes de habilidades, então, enquanto você estuda as ferramentas, certifique-se de que não está negligenciando suas habilidades (entrevistas, networking, comunicação escrita, solução de problemas, etc.). O principal é não perder de vista o que queremos encontrar – uma maneira de criar uma linha de produção digital totalmente automatizada que pega ideias e as transforma em trechos de código que geram receita. Essa é a única e mais importante conclusão de todo este artigo!

Chega de conversa, quando posso começar?

Abaixo está o roteiro 'Conhecimentos Fundamentais em DevOps'. Dominando tudo o que está ali representado, você pode se chamar orgulhosamente e honestamente de engenheiro DevOps! Ou engenheiro de nuvem, se você não gosta do título “DevOps”.

Como se tornar um engenheiro DevOps em seis meses ou até mais rápido. Parte 1. Introdução

Este mapa reflete a minha (e provavelmente a de muitas pessoas que trabalham neste espaço) visão do que um engenheiro DevOps competente deve saber. No entanto, isso é apenas uma opinião, e claro, haverá discordâncias. Isso é normal! Não estamos buscando a perfeição, estamos buscando uma base sólida sobre a qual realmente é possível construir.

Você deve seguir esse caminho gradualmente, camada por camada. Comece (e continue!) com os fundamentos, aprendendo primeiro os elementos destacados em azul — Linux, Python e AWS. Depois, se o tempo ou a demanda do mercado permitir, trabalhe nas coisas em roxo — Golang e Google Cloud.

Para ser sincero, a camada fundamental é algo que você terá que estudar indefinidamente. O sistema operacional Linux é bastante complexo, e leva anos para dominá-lo. Python exige prática constante para se manter atualizado. A AWS evolui tão rapidamente que o que você sabe hoje será apenas uma parte do seu portfólio de conhecimentos dentro de um ano. Assim que você aprender o básico, passe para um conjunto real de habilidades. Note que existem 6 colunas azuis (Configuração, Versão, Empacotamento, Implantação, Execução, Monitoramento), uma para cada mês de estudos.

Como se tornar um engenheiro DevOps em seis meses ou até mais rápido. Parte 1. Introdução

Você certamente notou a ausência de uma etapa importante em nosso cronograma de seis meses – os testes. Eu não a incluí no roteiro intencionalmente, porque escrever o módulo, integrar e realizar testes de aceitação não são tarefas fáceis e geralmente recaem sobre os desenvolvedores. E a omissão da etapa 'testes' se justifica pelo fato de que o objetivo deste roteiro é dominar as habilidades e ferramentas básicas o mais rápido possível. A falta de experiência em testes, na opinião do autor, é apenas um obstáculo menor para o uso correto do DevOps.

Além disso, lembre-se de que não estamos aqui para estudar uma infinidade de jargões técnicos desconectados, mas sim buscando entender as ferramentas que, em conjunto, criam uma narrativa compreensível. Essa narrativa é a automação de ponta a ponta do processo — uma linha de produção digital que move dados como uma linha de montagem. Você não quer aprender uma pilha de ferramentas e ficar parando o tempo todo! O conjunto de ferramentas DevOps muda rapidamente, enquanto os conceitos mudam muito menos frequentemente. Portanto, você deve usar as ferramentas como proxies de aprendizado para conceitos de nível superior.

Vamos nos aprofundar um pouco mais!

Conhecimento fundamental

Debaixo do degrau superior com a inscrição Foundation, você verá as habilidades que todo engenheiro DevOps deve dominar. Essas habilidades incluem o domínio dos três "pilares" da indústria: o sistema operacional, a linguagem de programação e a nuvem pública. Esses tópicos não são algo que você pode rapidamente estudar e seguir em frente. Essas habilidades precisam ser constantemente aprimoradas e o domínio delas deve ser refinado para que você esteja na vanguarda da indústria e mantenha seu ambiente profissional atualizado. Vamos analisá-los um por um.

O Linux é onde tudo acontece. Você pode ser um praticante DevOps brilhante, permanecendo totalmente dentro do ecossistema Microsoft? Com certeza! Não existe uma lei que exija o uso exclusivo do Linux. No entanto, tenha em mente que, embora tudo o que você faz no Linux possa ser realizado no Windows, é um processo muito mais difícil e com menos funcionalidades. Neste momento, podemos afirmar com segurança que é impossível se tornar um verdadeiro profissional DevOps sem o conhecimento do Linux, por isso o Linux é algo que você deve estudar e continuar estudando.

Honestamente, a melhor maneira de fazer isso é simplesmente instalar o Linux (Fedora ou Ubuntu) em casa e usá-lo o máximo possível. Claro, você irá quebrar muitas coisas, ficar preso em processos e terá que consertar tudo, mas você aprenderá Linux!

Como se tornar um engenheiro DevOps em seis meses ou até mais rápido. Parte 1. Introdução

A propósito, na América do Norte, as versões RedHat são mais comuns, então faz sentido começar com o Fedora ou CentOS. Se você está se perguntando se deve adquirir a edição KDE ou Gnome, escolha a KDE. É isso que Linus Torvalds usa.

Python é atualmente a linguagem de back-end dominante. É fácil de começar a trabalhar, amplamente utilizado. O Python é muito comum no campo da inteligência artificial e do aprendizado de máquina, por isso, se você algum dia desejar mudar para mais uma área quente, estará totalmente preparado.

Como se tornar um engenheiro DevOps em seis meses ou até mais rápido. Parte 1. Introdução

Amazon Web Services: novamente, é impossível se tornar um profissional DevOps experiente sem um entendimento sólido de como funciona a nuvem pública. E se você deseja aprender o máximo possível sobre isso, estude o Amazon Web Services. É o principal player nesta área de serviços, oferecendo o conjunto mais abrangente de ferramentas de trabalho.

É possível começar com o Google Cloud ou Azure em vez disso? Claro que sim! Mas lembrando da última crise financeira, deve-se considerar que a AWS é a opção mais segura, pelo menos em 2018, pois permite registrar uma conta gratuitamente e começar a explorar as possibilidades dos serviços em nuvem. Além disso, o console da AWS oferece ao usuário um menu simples e intuitivo para fazer suas escolhas. A boa notícia é que você não precisa conhecer todas as tecnologias da Amazon para isso.

Como se tornar um engenheiro DevOps em seis meses ou até mais rápido. Parte 1. Introdução

Comece com o seguinte: VPC, EC2, IAM, S3, CloudWatch, ELB (Balanceamento de Carga Elástico por trás do EC2) e Grupos de Segurança. Essas ferramentas são suficientes para iniciar, e cada empresa moderna em nuvem as utiliza ativamente. O site de aprendizado da AWS é um bom lugar para começar.

Recomendo que você dedique de 20 a 30 minutos diariamente ao estudo e prática da linguagem Python, do sistema operacional Linux e do serviço em nuvem AWS, além de outros tópicos que terá que aprender. No geral, acredito que gastar uma hora por dia, cinco vezes por semana, é suficiente para entender os processos em andamento na indústria DevOps em seis meses ou até menos. Existem um total de seis componentes principais, cada um correspondendo a um mês de aprendizado. Isso é tudo que você precisará para adquirir conhecimentos básicos.
Nos próximos artigos, vamos explorar o próximo nível de complexidade: como automatizar totalmente a configuração, versão, empacotamento, implantação, execução e monitoramento de software.

A continuação virá em breve…

Um pouco de publicidade 🙂

Obrigado por permanecer conosco. Você gosta dos nossos artigos? Quer ver mais materiais interessantes? Apoie-nos fazendo um pedido ou recomendando para conhecidos. VPS em nuvem para desenvolvedores a partir de $4.99, uma alternativa única aos servidores entry-level, que criamos para você: Toda a verdade sobre VPS (KVM) E5-2697 v3 (6 Núcleos) 10GB DDR4 480GB SSD 1Gbps a partir de $19 ou como dividir um servidor corretamente? (disponíveis opções com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).

Dell R730xd por 2 vezes mais barato no datacenter Equinix Tier IV em Amsterdã? Somente conosco 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100TB a partir de $199 na Holanda! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — a partir de $99! Leia sobre Como construir uma infraestrutura de classe corporativa utilizando servidores Dell R730xd E5-2650 v4 com custo de 9000 euros por centavos?

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster