Por que administradores de sistemas, desenvolvedores e testadores deveriam aprender práticas de DevOps?

Por que administradores de sistemas, desenvolvedores e testadores deveriam aprender 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 da Express 42 e autor curso online “Práticas e ferramentas DevOps”.

Olá! Embora o termo DevOps exista desde 2009, ainda não há consenso na comunidade russa. Você provavelmente já percebeu que alguns consideram o DevOps uma especialidade, outros o consideram uma filosofia e ainda outros consideram o termo um conjunto de tecnologias. Já toquei muitas vezes com palestras sobre o desenvolvimento dessa direção, por isso não entrarei em detalhes neste artigo. Deixe-me apenas dizer que no Express 42 incluímos o seguinte:

DevOps é uma metodologia 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 acontece sequencialmente: programação, teste e só depois operação, e a velocidade desse processo desde a ideia até a produção é de 3 meses. Este é um problema global para produtos digitais, porque é impossível receber rapidamente feedback dos clientes.

No DevOps, ferramentas e abordagens são projetadas para garantir que os processos de desenvolvimento, testes e operações sejam executados simultaneamente.

O que se segue desta abordagem?

  • Não se pode contratar algum “engenheiro” que venha resolver todos os problemas de produção. Toda a equipe deve aplicar a técnica.

    Por que administradores de sistemas, desenvolvedores e testadores deveriam aprender práticas de DevOps?

  • DevOps NÃO é a próxima forma de administrador de sistema para a qual atualizar. “Engenheiro de DevOps” soa quase o mesmo que “desenvolvedor ágil”.

    Por que administradores de sistemas, desenvolvedores e testadores deveriam aprender práticas de DevOps?

  • Se uma equipe utiliza Kubernetes, Ansible, Prometheus, Mesosphere e Docker, isso não significa que práticas de DevOps foram implementadas ali.

    Por que administradores de sistemas, desenvolvedores e testadores deveriam aprender práticas de DevOps?

A vida após DevOps nunca mais será a mesma

A abordagem DevOps é, antes de tudo, uma forma diferente de pensar, uma percepção do desenvolvimento como um todo e do lugar de cada um no processo. Dividimos nosso curso online em 2 blocos:

1. Autodeterminação

Primeiro, examinamos detalhadamente a essência da abordagem DevOps e os alunos descobrem novas funções na equipe, veem qual delas responde melhor e determinam por si próprios em que direção desenvolver.

2. Ferramentas e práticas

Os alunos dominam tecnologias específicas do ponto de vista do método DevOps.

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

Estamos no processo curso Você estará imerso no processo de desenvolvimento de uma aplicação semelhante ao famoso Reddit, começando pela sua versão monolítica, passando passo a passo até os microsserviços. Passo a passo dominaremos novas ferramentas: Git, Ansible, Gitlab e finalizaremos com Kubernetes e Prometheus.

Em termos de práticas, seguiremos as táticas dos três caminhos descritos no DevOps Handbook – práticas de entrega contínua, práticas de feedback, e a essência de todo o curso é a prática de aprendizagem contínua junto com seu sistema.

O que esse conhecimento proporciona a cada um dos especialistas?

Para administradores de sistema

As práticas permitirão que você se afaste da administração e passe a criar um pipeline de entrega contínua e uma plataforma de infraestrutura para entrega de software. A questão é que ele cria um produto - uma plataforma de infraestrutura para desenvolvedores que os ajuda a levar rapidamente suas mudanças para produção.

Anteriormente, os administradores de sistema eram o último bastião, após o qual tudo entrava em produção. E basicamente eles estavam engajados no combate contínuo a incêndios - diante do qual é muito difícil se aprofundar nas necessidades do negócio, pensar no produto e nos benefícios para o usuário.
Graças ao método DevOps, o pensamento muda. O administrador do sistema entende como traduzir a configuração em código, quais práticas existem para isso.

Isto é importante porque as empresas estão cada vez mais a perceber que não precisam apenas automatizar tudo, ou seja, automatizar tudo. naquilo que os administradores de sistema da velha escola estavam essencialmente habituados a fazer, que além disso comunicavam pouco e não informavam a equipa sobre todas as alterações efetuadas. Agora as equipes procuram quem se tornará o fabricante do produto de infraestrutura interna e ajudará a combinar os processos separados em um só.

Para desenvolvedores

O desenvolvedor deixa de pensar apenas em algoritmos. Adquire a habilidade de trabalhar com infraestrutura, a habilidade de consciência arquitetônica da paisagem. Tal desenvolvedor entende como funciona a aplicação, como ela passa pelo pipeline de entrega contínua, como monitorá-la, como registrá-la para que beneficie o cliente. Como resultado, todo esse conhecimento permite escrever código relevante.

Para testadores

Os testes há muito tempo estão mudando para o modo automático; todos nós dizemos que muitos testes não devem ser feitos, mas escritos :) O teste se torna parte de todo o pipeline de entrega do seu produto. Um testador precisa não apenas aprender como escrever código, mas também entender como integrá-lo em sistemas de entrega contínua, como receber feedback do código em todos os estágios de entrega e como melhorar constantemente os testes para detectar erros conforme necessário. o mais cedo possível.

Então acontece que todos os três estágios ocorrem simultaneamente. Por exemplo, pode ser assim:

O desenvolvedor escreve o código, imediatamente escreve testes para ele e descreve um contêiner docker para o código que deve ser executado. Também descreve imediatamente o monitoramento que irá monitorar o funcionamento deste serviço em produção, e confirma tudo isso.

Quando a integração contínua é iniciada, os processos são executados simultaneamente. O serviço é iniciado e configurado. Ao mesmo tempo, o contêiner docker é iniciado e é verificado se está em execução. Ao mesmo tempo, todas as informações vão para o sistema de registro. E assim por diante, em todas as fases do desenvolvimento - acaba sendo um verdadeiro trabalho em equipe de administradores de sistema, desenvolvedores e testadores.

Estudei DevOps, o que vem depois?

Como você sabe, quem está no campo não é um guerreiro. Se a sua empresa não utilizar este método, as competências adquiridas ficarão ociosas. E depois de se familiarizar com as abordagens DevOps, você provavelmente não vai querer ser uma engrenagem no desenvolvimento corporativo. Pode haver uma exceção: você é o administrador do sistema da equipe e pode reconstruir todos os processos de uma nova maneira. Vale acrescentar aqui que há muitas empresas que utilizam essa abordagem, não são afetadas pelo bloqueio e procuram especialistas. Porque DevOps trata da criação de produtos online.

E agora o que há de bom: o domínio das práticas e ferramentas DevOps representa aproximadamente +30% do seu valor no mercado de trabalho. Os salários começam em 140 mil rublos, mas são determinados, naturalmente, pela sua principal especialidade e funcionalidade.

Você pode consultar as vagas marcadas como “orientadas para infraestrutura”, onde há automação de testes, desenvolvimento de aplicações de microsserviços utilizando tecnologias de nuvem, vagas para engenheiros de infraestrutura e todo tipo de referências a DevOps. Apenas lembre-se de que cada empresa significa algo diferente com esta definição – leia a descrição com atenção.

Durante o lançamento do nosso curso, tive uma ideia: muitas pessoas após o curso caem na armadilha de um engenheiro DevOps. Eles encontram uma vaga com o título citado, recebem uma boa oferta, e então vão trabalhar e percebem que terão que manter um script bash de três páginas no Jenkins. Onde estão Kubernetes, ChatOps, lançamentos canários e tudo mais? Mas não há nada, porque a empresa não precisa do DevOps como metodologia, mas utiliza inovações individuais.

Esse é um motivo para descobrir intensamente junto à empresa como funciona o processo de entrega de software, a pilha de tecnologia e quais responsabilidades você desempenhará.

Se o empregador responder às suas perguntas de forma abstrata, como se fosse um livro, sem detalhes, então provavelmente ainda não existe um processo DevOps na empresa, mas isso não é motivo para recusar, estudar a empresa e seus produtos, se existem online serviços que a própria empresa desenvolve, aplicativos móveis, ideias de produtos.

Se sim, então esclareça se você terá que trabalhar diretamente com esses sistemas ou se existe a possibilidade de movimentação horizontal para as equipes desses serviços demonstrando bons resultados nas práticas de DevOps. Se sim, então vale a pena ir e ser ativo e útil, e se você concluir nosso curso, este último está garantido.

É importante observar que os profissionais de Devops ganham verdadeiro valor apenas com experiência em desenvolvimento/administração/teste. Só então o conhecimento não será abstrato, mas enriquecerá o especialista (em todos os sentidos). Portanto, a ideia de “aprender DevOps do zero” é quase o mesmo que aprender a “usar lentes do zero” se você nunca segurou uma câmera nas mãos ou dirigiu uma filmagem. Para ajudá-lo a decidir se o curso é adequado para você, fizemos um teste de admissão que verificará seu nível de conhecimento suficiente.

Eu acho que um dos truques curso — que durante o curso da formação cada aluno determine por si mesmo em que direção deseja desenvolver-se. Freqüentemente vemos transições quando um desenvolvedor se torna um engenheiro de infraestrutura e um administrador percebe que está interessado em escrever código - então ele estuda mais a linguagem e a complementa com as habilidades adquiridas de DevOps. Por isso, acolhemos especialmente aqueles que sentem que a sua carreira está estagnada numa encruzilhada. O curso começa no dia 28 de maio, mas você pode ingressar 2 semanas após o início das aulas. Você pode ver o programa e fazer o teste по ссылке. Vejo você na OTUS!

Fonte: habr.com

Adicionar um comentário