O que é metodologia DevOps e quem precisa dela

Vamos descobrir qual é a essência da metodologia e quem ela pode beneficiar.

Também falaremos sobre especialistas em DevOps: suas tarefas, salários e habilidades.

O que é metodologia DevOps e quem precisa dela
foto Matt Moore /Flickr/CC POR-SA

O que é DevOps

DevOps é uma metodologia de desenvolvimento de software cuja tarefa é estabelecer interação entre programadores e administradores de sistemas de uma empresa. Se os especialistas de TI de diferentes departamentos não compreenderem as tarefas uns dos outros, o lançamento de novos aplicativos e atualizações para eles será atrasado.

O DevOps cria um ciclo de desenvolvimento “contínuo”, ajudando assim a acelerar o lançamento de um produto de software. A aceleração é alcançada através da introdução de sistemas de automação. Além disso, os programadores começam a participar na configuração de servidores e na localização de bugs, por exemplo, eles podem escrever testes automatizados.

Isso melhora a interação entre os departamentos. Os funcionários começam a entender melhor por quais estágios um produto de software passa antes de chegar às mãos do usuário.

Quando um desenvolvedor entende o que um administrador enfrenta ao configurar um servidor, ele tentará suavizar possíveis “cantos agudos” no código. Isso reduz o número de bugs durante a implantação de um aplicativo - de acordo com as estatísticas, diminui cerca de cinco vezes.

Quem precisa e quem não precisa da metodologia

Muitos Especialistas em TI acreditamque o DevOps beneficiará qualquer organização que desenvolva software. Isto é verdade mesmo que a empresa seja uma simples consumidora de serviços de TI e não desenvolva suas próprias aplicações. Nesse caso, implementar uma cultura DevOps ajudará você a focar na inovação.

A exceção conta para startups, mas aqui tudo depende da escala do projeto. Se o seu objetivo é lançar um produto mínimo viável (MVP) para testar uma nova ideia, você pode dispensar o DevOps. Por exemplo, o fundador do Groupon começou a trabalhar no serviço manualmente postou todas as ofertas do site e pedidos coletados. Ele não usou nenhuma ferramenta de automação.

Só faz sentido implementar metodologias e ferramentas de automação quando o aplicativo começa a ganhar popularidade. Isso ajudará a agilizar os processos de negócios e acelerar o lançamento de atualizações.

Como implementar DevOps

Abaixo estão algumas recomendações para mudar para uma nova metodologia.

Identifique problemas nos processos de negócios. Antes de implementar a metodologia, destaque os objetivos e problemas da organização. A estratégia de transição para DevOps dependerá deles. Para fazer isso, faça uma lista de perguntas, por exemplo:

  • O que leva mais tempo para atualizar o software?
  • É possível automatizar esse processo?
  • A estrutura da organização afeta isso?

Saiba mais sobre como identificar problemas em uma organização pode ser lido em livros «Projeto "Fênix""E"Guia DevOps» dos autores da metodologia.

Mude a cultura da empresa. É importante convencer todos os colaboradores a mudarem as suas formas habituais de trabalhar e a alargarem o seu leque de competências. Por exemplo, no Facebook todos os programadores conhecer para todo o ciclo de vida do aplicativo: da codificação à implementação. Além disso, o Facebook não possui um departamento de testes separado - os testes são escritos pelos próprios desenvolvedores.

Comece pequeno. Escolha o processo que exige mais tempo e esforço ao lançar atualizações e automatize-o. Esse talvez processo de teste ou implantação de aplicativos. Especialistas aconselhar O primeiro passo é implementar ferramentas de controle de versão distribuídas. Eles facilitam o gerenciamento de fontes. Dentre essas soluções, as mais famosas são Git, Mercurial, Subversion (SVN) e CVS.

Vale atentar também aos sistemas de integração contínua responsáveis ​​pela montagem e teste do produto final. Exemplos dessas ferramentas: Jenkins, TeamCity e Bamboo.

Avalie melhorias. Desenvolva métricas de desempenho para soluções implementadas e crie uma lista de verificação. As métricas podem incluir frequência de lançamento, tempo gasto trabalhando em recursos de software e número de bugs no código. Discuta os resultados não só com os gestores, mas também com o restante da equipe envolvida no projeto. Pergunte quais ferramentas estão faltando. Leve essas solicitações em consideração ao otimizar ainda mais seus processos.

Críticas ao DevOps

Embora a metodologia ajuda as organizações podem tomar decisões mais rápidas em relação ao desenvolvimento de aplicativos, reduz o número de erros no software e incentiva os funcionários a aprender coisas novas, também tem críticos.

Tem verque os programadores não devem compreender os detalhes do trabalho dos administradores de sistema. Supostamente, o DevOps leva ao fato de que em vez de especialistas em desenvolvimento ou administração, a empresa conta com pessoas que entendem tudo, mas superficialmente.

Acredita-se também que DevOps não está funcionando com má gestão. Se as equipes de desenvolvimento e administração não têm objetivos comuns, a culpa é dos gestores por não organizarem a comunicação entre as equipes. Para resolver este problema, o que é necessário não é uma nova metodologia, mas um sistema de avaliação dos gestores com base no feedback dos subordinados. Você pode lê-lo aqui, quais perguntas devem ser incluídas nos formulários de pesquisa de funcionários.

O que é metodologia DevOps e quem precisa dela
foto Ed Ivanushkin /Flickr/CC POR-SA

Quem é um engenheiro DevOps

Um engenheiro DevOps implementa a metodologia DevOps. Ele sincroniza todas as etapas da criação de um produto de software: desde a escrita do código até o teste e lançamento do aplicativo. Esse especialista controla os departamentos de desenvolvimento e administração, além de automatizar a execução de suas tarefas através da introdução de diversas ferramentas de software.

O truque de um engenheiro DevOps é combinar muitas profissões: administrador, desenvolvedor, testador e gerente.

Joe Sanchez, evangelista de DevOps da VMware, uma empresa de software de virtualização, destacado uma série de habilidades que um engenheiro DevOps deve ter. Além do conhecimento óbvio da metodologia DevOps, essa pessoa deve ter experiência em administração de sistemas operacionais Windows e Linux e experiência em trabalhar com ferramentas de automação como Chefe de cozinhaFantocheAnsible. Ele também deve ser capaz de escrever scripts e códigos em algumas linguagens e compreender tecnologias de rede.

Um engenheiro DevOps é responsável por qualquer automação de tarefas relacionadas à configuração e implantação de aplicativos. O monitoramento de software também recai sobre seus ombros. Para resolver esses problemas, ele utiliza diversos sistemas de gerenciamento de configuração, soluções de virtualização e ferramentas em nuvem para balanceamento de recursos.

Quem está contratando

Os engenheiros de DevOps podem beneficiar qualquer organização que desenvolva aplicativos ou gerencie um grande número de servidores. Engenheiros DevOps estão contratando Gigantes de TI como Amazon, Adobe e Facebook. Eles também trabalham no Netflix, Walmart e Etsy.

Não contratando Os engenheiros de DevOps são apenas startups. Seu trabalho é lançar um produto mínimo viável para testar uma nova ideia. Na maioria dos casos, as startups podem viver sem DevOps.

Quanto paga

Engenheiros DevOps ganhar mais do que qualquer pessoa na indústria. O salário médio desses especialistas em todo o mundo varia de 100 a 125 mil dólares por ano.

Nos EUA eles pegar 90 mil dólares por ano (500 mil rublos por mês). No Canadá eles ser pago 122 mil dólares por ano (670 mil rublos por mês) e no Reino Unido - 67,5 mil libras esterlinas por ano (490 mil rublos por mês).

Quanto à Rússia, as empresas de Moscovo estão prontos pague aos especialistas DevOps de 100 a 200 mil rublos por mês. Em São Petersburgo, os empregadores são um pouco mais generosos - oferecem de 160 a 360 mil rublos por mês. Nas regiões, os salários são estimados em 100–120 mil rublos por mês.

Como se tornar um especialista em DevOps

DevOps é uma direção relativamente nova em TI, portanto não existe uma lista estabelecida de requisitos para engenheiros de DevOps. Nas vagas, entre os requisitos para esta posição você encontra habilidades de administração Debian e CentOS e capacidade de trabalhar com drives de disco. Matrizes RAID.

Com base nisso, podemos concluir que, antes de tudo, um engenheiro DevOps deve ter um bom panorama técnico. É importante que essa pessoa aprenda constantemente novas ferramentas e tecnologias.

A maneira mais fácil de se tornar um engenheiro DevOps seria um administrador de sistema ou desenvolvedor. Eles já possuem uma série de habilidades que só precisam ser desenvolvidas. A principal tarefa é aprimorar o conjunto mínimo de conhecimentos em DevOps, entender como trabalhar com ferramentas de automação e preencher lacunas nas habilidades de administração, programação e virtualização.

Para entender onde ainda falta conhecimento, você pode usar mini-Wikipedia no GitHub ou mapa mental. Residentes do Hacker News também Recomendar Leia livros "Projeto "Fênix""E"Guia DevOps"(que mencionamos acima) e"Filosofia DevOps. A arte do gerenciamento de TI» sob o selo da O'Reilly Media.

Você também pode assinar Boletim informativo semanal Devops, leia artigos atuais portal DZona e comece a se comunicar com engenheiros de DevOps em Bate-papo descontraído. Também vale a pena conferir os cursos gratuitos no Udacity ou edX.

Postagens do nosso blog:



Fonte: habr.com

Adicionar um comentário