Por que os administradores de sistema, desenvolvedores e testadores aprendem as práticas de DevOps?



Para onde ir com esse conhecimento, o que fazer no projeto e quanto ganhar, o que dizer e perguntar na entrevista, diz Alexander Titov, sócio-gerente do Express 42 e autor do curso online “DevOps Practices and Tools” .

Olá! Embora o termo DevOps exista desde 2009, ainda não há consenso na comunidade russa. Certamente, você notou que alguns consideram o DevOps uma especialidade, outros - uma filosofia, outros sob o termo significam um conjunto de tecnologias. Já dei palestras várias vezes sobre o desenvolvimento dessa área, por isso não entrarei em detalhes neste artigo. Só posso dizer que nós do Express 42 colocamos o seguinte:

DevOps - uma técnica específica, uma cultura de criação de um produto digital, quando todos os especialistas da equipe participam da produção.

No desenvolvimento corporativo clássico, tudo segue em seqüência: programação, teste e, somente então, exploração, e a velocidade de um processo desse tipo, da ideia à produção, é de 3 meses. Para produtos digitais, esse é um problema global, porque você não pode receber feedback dos clientes imediatamente.

No DevOps, as ferramentas e as abordagens são aprimoradas para que os processos de desenvolvimento, teste e operação sejam iniciados simultaneamente.

O que se segue dessa abordagem?


  • Você não pode contratar um certo "engenheiro" que virá e resolverá todos os problemas da produção. Toda a equipe deve aplicar a técnica.


  • O DevOps NÃO é a próxima forma de sysadmin para a qual você pode atualizar. O engenheiro do DevOps parece muito com o desenvolvedor ágil.



  • Se a equipe usar Kubernetes, Ansible, Prometheus, Mesosphere e Docker, isso não significa que as práticas de DevOps sejam implementadas lá.





A vida após o DevOps não será a mesma


A abordagem do DevOps é, antes de tudo, uma maneira diferente de pensar, a percepção do desenvolvimento como um todo e seu lugar no processo. Dividimos nosso curso on-line em 2 blocos:

1. Autodeterminação

Primeiro, analisamos a essência da abordagem DevOps em detalhes, e os alunos descobrem novas funções na equipe, veem qual deles responde mais e determinam por si mesmos qual caminho desenvolver.

2. Ferramentas e práticas

Os alunos dominam tecnologias específicas em termos do método DevOps.

As ferramentas do DevOps podem ser usadas tanto na abordagem do DevOps quanto no desenvolvimento clássico. O exemplo mais claro seria usar a ferramenta de gerenciamento de configuração Ansible. Foi criado e concebido para implementar a prática do DevOps “Infraestrutura como código”, o que significa que diferentes estados do sistema são descritos desde as configurações do sistema operacional até o software aplicativo. A descrição é dividida em camadas e permite gerenciar uma configuração complexa e em constante mudança. Porém, frequentemente, os engenheiros usam o Ansible como uma maneira de executar scripts bash em várias máquinas. Isso não é ruim e não é bom, mas você deve entender que a presença da Ansible não garante a presença do DevOps na empresa.

Conosco durante o cursovocê mergulhará no processo de desenvolvimento de um aplicativo semelhante ao conhecido Reddit, primeiro com sua versão monolítica, seguindo passo a passo os microsserviços. Passo a passo, vamos aprender novas ferramentas: Git, Ansible, Gitlab e finalizar o Kubernetes e Prometheus.

Na prática, seguiremos as táticas dos três caminhos descritos no Manual do DevOps - práticas de entrega contínua, práticas de feedback e a essência de todo o curso de educação continuada com seu sistema.

O que esse conhecimento oferece a cada um dos especialistas?


Administradores do sistema


As práticas permitirão deixar a administração para criar um pipeline de entrega contínua e uma plataforma de entrega de software de infraestrutura. O ponto é que ele cria um produto - uma plataforma de infraestrutura para desenvolvedores, que os ajuda a promover rapidamente suas alterações na produção.

Anteriormente, os administradores de sistema eram o último bastião, após o qual tudo entra em produção. E, basicamente, eles estavam envolvidos na extinção contínua de incêndios - à luz dos quais é bastante difícil se aprofundar nas necessidades dos negócios, pensar no produto e nos benefícios para o usuário.
Graças ao método DevOps, o pensamento está mudando. O administrador do sistema entende como converter a configuração em código, que existe para esta prática.

Isso é importante porque as empresas estão percebendo cada vez mais que não precisam apenas automatizar tudo e tudo, ou seja, no que, em essência, os administradores de sistema da velha escola estão acostumados a fazer, o que, além disso, eles não se comunicaram muito e não informaram a equipe sobre todas as alterações feitas. Agora, as equipes estão procurando aqueles que se tornarão o fabricante do produto de infraestrutura interna e ajudarão a combinar os processos divididos em um.

Para desenvolvedores


O desenvolvedor para de pensar apenas com algoritmos. Ele adquire a habilidade de trabalhar com infraestrutura, a habilidade de conscientização arquitetônica da paisagem. Esse desenvolvedor entende como o aplicativo funciona, como passa por um pipeline de entrega contínua, como monitorá-lo, como protegê-lo, de modo a beneficiar o cliente. Como resultado, todo esse conhecimento permite que você escreva códigos relevantes.

Testadores


Há muito que os testes entram no modo automático, todos dizemos que muitos testes não devem ser feitos, mas escritos :) Os testes se tornam parte de todo o pipeline para entrega do seu produto. O testador precisa não apenas aprender a escrever código, mas também entender como integrá-lo em sistemas de entrega contínua, como receber feedback do código em todas as etapas da entrega, como melhorar constantemente os testes para detectar erros o mais cedo possível.

Portanto, todos os três estágios ocorrem simultaneamente . Por exemplo, pode ser assim:

O desenvolvedor grava o código, grava testes imediatamente e descreve o contêiner do docker para o código que deve ser executado. Também descreve imediatamente o monitoramento que monitorará a operação desse serviço na produção e tudo isso confirmado.

Quando a integração contínua é iniciada, os processos ocorrem simultaneamente. O serviço é iniciado, configurável. Ao mesmo tempo, o contêiner do docker é iniciado, é verificado se ele funciona. Ao mesmo tempo, todas as informações vão para o sistema de registro. E assim, em cada estágio do desenvolvimento - resulta o verdadeiro trabalho em equipe de administradores de sistemas, desenvolvedores e testadores.

Estudou DevOps e depois?


Como você sabe, alguém no campo não é um guerreiro. Se sua empresa não usar esse método, as habilidades adquiridas ficarão ociosas. E, depois de conhecer as abordagens de DevOps, provavelmente você não desejará ser uma engrenagem no desenvolvimento corporativo. Pode haver uma exceção: você é um administrador de sistema na equipe e pode reconstruir todos os processos de uma nova maneira. Aqui vale a pena acrescentar que existem várias empresas que usam essa abordagem, que não são afetadas pelo bloqueio e estão procurando especialistas. Porque o DevOps é sobre a criação de produtos online.
E agora o agradável: a posse das práticas e ferramentas do DevOps representa aproximadamente + 30% do seu valor no mercado de trabalho. Os salários começam em 140 mil rublos, mas são determinados, é claro, pela sua principal especialidade e funcionalidade.

Você pode observar as vagas marcadas com “foco na infraestrutura”, onde há automação de teste, desenvolvimento de aplicativos de microsserviço usando tecnologias em nuvem, vagas de engenheiros de infraestrutura e todo tipo de referência ao DevOps. Lembre-se de que cada empresa significa algo diferente sob esta definição - leia atentamente a descrição.

Durante o lançamento do nosso curso, um insight veio a mim - muitas pessoas após o curso caem na armadilha de um engenheiro de DevOps. Eles encontram uma vaga com o nome mencionado, recebem uma boa oferta e, em seguida, começam a trabalhar e entendem que terão que oferecer suporte a um script de três páginas em Jenkins. E onde estão Kubernetes, ChatOps, lançamentos de canários e isso é tudo? E não há nada, porque a empresa não precisa de DevOps, como metodologia, mas usa inovações separadas.

Esta é uma ocasião para descobrir intensamente da empresa como o processo de entrega de software é organizado, a pilha tecnológica e quais responsabilidades você cumprirá.

Se o empregador responder às suas perguntas de maneira abstrata, como em um livro, sem detalhes, provavelmente a empresa ainda não possui o processo de DevOps, mas esse não é um motivo para recusar, estudar a empresa e seus produtos. Existem serviços online que a empresa desenvolve, aplicativos móveis , idéias de produtos.

Se sim, especifique se você precisa trabalhar diretamente com esses sistemas ou se é possível mover horizontalmente para as equipes desses serviços enquanto demonstra bons resultados nas práticas de DevOps. Nesse caso, vale a pena continuar ativo e prestativo, e se você terminar o curso, o último será garantido.

É importante observar que o verdadeiro valor das práticas do Devops adquirem apenas se você tiver experiência em desenvolvimento / administração / teste. Somente então o conhecimento não será abstrato, mas enriquecerá o especialista (em todos os sentidos). Portanto, a idéia de “aprender a planejar a partir do zero” é a mesma coisa que aprender a “usar lentes a partir do zero” se você nunca segurou uma câmera nas mãos ou dirigiu uma sessão de fotos. Para ajudá-lo a decidir se o curso é adequado para você, fizemos um teste introdutório que testará um nível de conhecimento suficiente.

Eu acho que uma das fichas do curso- o fato de que, durante o curso de treinamento, cada aluno determina por si mesmo qual o caminho que deseja desenvolver. Frequentemente observamos transições quando um desenvolvedor se torna um engenheiro de infra-estrutura, e o administrador entende que está interessado em escrever código - ele também aprende o idioma e o complementa com as habilidades adquiridas em DevOps. Portanto, estamos especialmente ansiosos para aqueles que sentem que sua carreira está paralisada. O curso começa em 28 de maio, mas você pode participar de duas semanas após o início das aulas. Você pode assistir ao programa e fazer o teste aqui . Vejo você na OTUS!

All Articles