
Tecnologias e ferramentas que um engenheiro DevOps precisa dominar.
DevOps é uma tendência em ascensão na TI, com a popularidade e a demanda pela profissão crescendo gradualmente. Recentemente, a GeekBrains abriu , onde prepara especialistas na área. Vale mencionar que a profissão de DevOps é frequentemente confundida com outras, como programação, administração de sistemas, etc.
Para esclarecer o que é DevOps e para que servem os representantes dessa profissão, conversamos com Nikolai Butenko, arquiteto . Ele participou do desenvolvimento do programa do curso do departamento de DevOps e, ao mesmo tempo, ensina alunos do terceiro trimestre.
O que um bom DevOps deve saber e ser capaz de fazer?
Aqui é melhor dizer de imediato o que ele não deve saber fazer. Existe o mito de que o representante dessa profissão é um verdadeiro 'orquestrador', capaz de escrever um ótimo código, testá-lo e, em seu tempo livre, consertar impressoras dos colegas. Poderia até ajudar no estoque e substituir o barista.
Para entender o que um especialista em DevOps deve saber, vamos voltar à definição do próprio conceito. DevOps é a otimização do tempo desde o desenvolvimento do produto até o lançamento no mercado. Portanto, o especialista otimiza o processo entre desenvolvimento e operação, fala a sua língua e constrói um pipeline eficiente.
O que você precisa saber e ser capaz de fazer? Aqui estão os elementos importantes:
- Boas habilidades interpessoais são necessárias, pois é preciso interagir com vários departamentos dentro de uma mesma empresa.
- Pensamento analítico e estruturado, para ver os processos de forma ampla e entender como otimizá-los.
- É preciso entender todos os processos de desenvolvimento e operação. Só assim eles podem ser otimizados.
- Além disso, é necessário ter excelentes habilidades de planejamento, análise e design para criar um processo de produção unificado.
Todos os representantes de DevOps são iguais ou existem diferenças dentro da profissão?
Recentemente, surgiram várias ramificações dentro de uma mesma especialidade. Mas, em geral, o conceito de DevOps inclui principalmente três áreas: SRE (administrador), Developer (desenvolvedor) e Manager (responsável pela interação com o negócio). Um especialista em DevOps entende as necessidades do negócio e organiza um trabalho eficaz entre todos, criando um processo unificado.
Ele também tem uma boa compreensão de todos os processos do ciclo de desenvolvimento do produto, arquitetura e possui conhecimentos em segurança da informação a um nível que lhe permite avaliar riscos. Além disso, os DevOps conhecem e entendem abordagens e ferramentas de automação, bem como o suporte pré e pós-lançamento de programas e serviços. Em geral, a tarefa do DevOps é ver todo o sistema como um todo, direcionar e gerenciar processos que ajudam no desenvolvimento desse sistema.

Infelizmente, tanto na Rússia quanto no exterior, os empregadores nem sempre compreendem a essência do DevOps. Ao analisar as vagas publicadas, pode-se notar que, ao chamar uma vaga de DevOps, as empresas buscam desde administradores de sistemas até administradores de Kubernetes, ou até mesmo testadores. É especialmente notável a grande variedade de conhecimentos e habilidades nas vagas de DevOps no HH.ru e LinkedIn.
É importante ressaltar que DevOps não é apenas uma especialidade; principalmente, é uma metodologia de tratar a infraestrutura como código. Como resultado da implementação dessa metodologia, todos os membros da equipe de desenvolvimento conseguem ver e entender não apenas sua parte do trabalho, mas também têm uma visão do funcionamento de todo o sistema.
Como o DevOps pode ajudar na empresa em que você trabalha?
Uma das métricas mais importantes para os negócios é o Time-to-Market (TTM). Este é o tempo necessário para lançar um produto no mercado, ou seja, o período entre a ideia de criação do produto e a sua entrada em vendas. O TTM é especialmente importante para setores onde os produtos se tornam rapidamente obsoletos.
Com o auxílio do DevOps, várias redes de varejo conhecidas na Rússia e no exterior começaram a desenvolver novas direções. Essas empresas estão migrando em massa para o online, renunciando total ou parcialmente aos pontos de venda físicos. Nessas condições, é necessária uma rápida criação de aplicativos e serviços, a qual é impossível sem o uso de ferramentas de DevOps.

No final, alguns varejistas conseguiram acelerar o processo de lançamento de recursos necessários para aplicativos e serviços em apenas um dia. E isso é um fator crucial de competitividade no mercado moderno.
Quem pode se tornar um DevOps?
Claro, será mais fácil para profissionais de áreas técnicas: programadores, testadores, administradores de sistemas. Aqueles que desejam entrar neste campo sem formação adequada devem estar preparados para aprender os fundamentos de programação, teste, gerenciamento de processos e administração de sistemas. Somente depois de dominar todos esses conhecimentos, será possível começar a estudar o conceito de DevOps como um todo.
Para entender melhor o conceito e ter uma noção das habilidades e conhecimentos necessários, vale a pena ler "Guia de DevOps", estudar "O Projeto Fênix", além da metodologia . Outro excelente livro é .
DevOps é mais bem-sucedido entre pessoas que possuem um raciocínio analítico e são capazes de adotar uma abordagem sistemática. É difícil dizer quanto tempo um iniciante precisará para se tornar um grande DevOps. Tudo depende da base inicial, do ambiente e das tarefas a serem resolvidas, além da escala da empresa. Dentre as empresas que precisam de DevOps, há muitos gigantes tecnológicos: Amazon, Netflix, Adobe, Etsy, Facebook e Walmart.
Como conclusão, pode-se afirmar que mais da metade das vagas abertas para DevOps são, na verdade, destinadas a administradores de sistemas experientes. No entanto, a demanda por DevOps está crescendo gradualmente, e atualmente há uma grande escassez de profissionais qualificados nessa área.
Para se tornar um especialista assim, é necessário estudar novas tecnologias, ferramentas, adotar uma abordagem sistemática no trabalho e aplicar automação de maneira eficaz. Sem isso, é muito difícil, se não impossível, organizar DevOps de maneira correta.
Fonte: habr.com
