4 dicas de DevOps para pequenas equipes

Publicados: 2020-02-08

Quer saber como implantar DevOps para equipes pequenas? DevOps é um campo crescente de estratégia e execução em empresas de todos os tamanhos. Ele acelera o tempo de lançamento no mercado, permite implementações mais rápidas e deixa desenvolvedores, gerentes de operações e clientes mais felizes.

Vamos falar sobre o que é DevOps, como as grandes empresas o implantam e quais lições e dicas as pequenas empresas podem coletar e implantar agora.

O que é DevOps?

DevOps é um termo complicado de definir, principalmente porque engloba uma série de práticas. Basicamente, DevOps é uma combinação de duas coisas para fins de melhor comunicação: “Dev” significa “desenvolvedores” e “Ops” para operações.

DevOps, então, geralmente é um grupo de desenvolvedores de código e gerentes de operações de sistema que colaboram para quebrar silos de conhecimento – em essência, para garantir que eles estejam sempre na mesma página quando se trata de desenvolver e implantar código de forma eficaz.

DevOps significa comunicação eficaz entre departamentos. Significa trabalhar em conjunto para criar estratégias para um departamento que facilitem a vida do outro departamento. Também geralmente significa mais automação de código, pedaços menores de código, sistemas de controle de origem e talvez mais algumas reuniões.

Mas o que acontece sem DevOps?

Por que o DevOps é necessário?

Tradicionalmente, os gerentes de operações mantêm o ambiente de produção — ou seja, tudo com que os clientes e clientes interagem.

Os desenvolvedores, por outro lado, trabalham nos bastidores, criando código no ambiente de teste — uma área isolada do ambiente de produção. Esse ambiente de desenvolvimento, idealmente, simula o ambiente de produção e como o código ou aplicativo funciona no mundo real.

Na prática, isso significa que os desenvolvedores escrevem código em sua bolha e o enviam para implantação no ambiente de produção, onde os gerentes de operações precisam descobrir como manter tudo funcionando e estável enquanto integram o novo código. E os desenvolvedores geralmente estão muito ocupados com a codificação de novos recursos, e os gerentes de operações estão muito ocupados apenas tentando manter cada placa girando, então o tempo para a comunicação e a reformulação do ambiente é curto.

E embora o DevOps leve um pouco de tempo para configurar e começar, os resultados podem tornar qualquer empresa – grande ou pequena – mais ágil e mais competitiva.

DevOps em grandes empresas

devops for small teams

DevOps é um slam dunk em grandes empresas. Com um grande número de desenvolvedores e uma base de código grande o suficiente, o desenvolvimento e a implantação de código podem ser uma luta titânica.

Grandes empresas têm mais clientes. Mais clientes significam mais servidores, geralmente mais recursos e mais pressão na rede. Isso cria uma base de código maior, o que significa que mesmo pequenos ajustes podem ter um efeito cascata no ambiente. E como as grandes empresas muitas vezes estão tentando lançar novos recursos para se manterem competitivas no mercado, elas precisam que o ambiente de desenvolvimento e o ambiente de produção estejam em sintonia.

Empresas como Netflix, Amazon e Target adotaram o DevOps para otimizar seus serviços. A integração de seu ambiente de desenvolvimento com seu ambiente de produção (junto com a automação pesada) permite que a Netflix e a Amazon implantem milhares de vezes por dia .

A Amazon usa um sistema de implantação contínua e controle de origem automatizado para verificar as revisões automaticamente, colocando-as no processo de compilação e teste sem interferência humana.

A NASA emprega um sistema semelhante, usando uma combinação do serviço AWS da Amazon e sistemas de dados em contêiner para permitir que os especialistas em dados da NASA compartilhem dados e análises de telemetria com seus engenheiros em ritmo constante.

Mas essas empresas e organizações são enormes. Como uma equipe pequena pode se aproximar desse nível de organização e automação? Como o DevOps para equipes pequenas funciona na natureza?

Soluções DevOps que pequenas equipes podem adotar

Equipes pequenas não têm a mesma largura de banda que empresas maiores — tanto em número de pessoas, departamentos e recursos. No entanto, isso acaba sendo uma faca de dois gumes porque, em geral, equipes menores já utilizam muitas soluções de DevOps. Mesmo que não seja intencional.

No entanto, isso não significa que não há trabalho para ser para baixo. No momento, apenas 25% da indústria de software está realizando o DevOps em alto nível.

E outras ferramentas e estratégias de DevOps podem ser adquiridas de empresas maiores e empregadas com a mesma eficácia.

1. Faça uma equipe de DevOps

Se você não tem uma grande equipe de desenvolvedores, criar uma equipe independente de DevOps provavelmente está fora de questão. Se você tem um desenvolvedor e um gerente de sistemas, ou essas funções são preenchidas pela mesma pessoa, a ideia de uma “equipe” pode até parecer boba.

E tudo bem. Não se trata necessariamente de criar algum tipo de força-tarefa — trata-se apenas de comunicação. Mesmo se você tiver um desenvolvedor e um gerente de TI, sua forma de “equipe” de DevOps pode ser uma reunião semanal e atualizações assíncronas diárias para manter uns aos outros informados sobre o que está acontecendo.

Os principais objetivos da equipe devem ser alinhar o ambiente de desenvolvimento com o ambiente de produção, escrever (e implantar) pedaços menores de código com mais frequência e aumentar a automação e o controle do código-fonte.

Vamos falar sobre o que essas coisas significam e como elas podem ser realizadas.

2. Alinhar Práticas e Ambientes

Mesmo equipes pequenas podem começar a alinhar seus ambientes dando aos desenvolvedores mais acesso ao ambiente de produção, mesmo apenas para monitorar como as revisões afetam o produto final.

Tente fornecer à sua equipe de desenvolvimento um feed em execução do status da rede, mesmo que seja apenas em um monitor no canto. Eles podem ver imediatamente como o código implantado pode estar afetando o tráfego ou observar se há uma queda repentina que pode ser um grande problema.

Você também precisará da equipe de DevOps para criar uma estratégia para tornar o ambiente de teste de desenvolvimento e o ambiente de produção real o mais próximo possível - idêntico, idealmente. Isso envolverá muitas reuniões e um forte projeto de documentação para não apenas alinhar os ambientes, mas também mantê -los alinhados à medida que as mudanças acontecem ao longo do tempo.

Alinhar os dois ambientes significa que a equipe de operações está gastando menos tempo tentando adaptar o código do desenvolvedor às realidades do produto final.

3. Implante pedaços menores de código

O terceiro passo é sair da mentalidade da grande atualização. Grandes revisões de código podem levar semanas ou meses para serem testadas, aprovadas e implantadas. Isso retarda os lançamentos de recursos e geralmente o torna menos competitivo no mercado. Também o torna menos ágil no caso de uma tendência nova e empolgante ou de um problema catastrófico.

Uma das chaves para expandir o DevOps para pequenas equipes em sua empresa é entrar na mentalidade de escrever pedaços menores de código e implantá-los mais rapidamente. Eles devem ser pequenos o suficiente para que possam ser testados e implementados em questão de horas.

4. Abrace a automação e o controle de origem

O caminho final para o sucesso do DevOps para equipes pequenas é o uso intenso de automação.

Por que automação? Por um lado, a automação acelera o teste e a implantação de código. Também libera tempo para desenvolvedores e gerentes de operações para implementar as estratégias de DevOps listadas acima. Esse tempo extra também permite que suas equipes de desenvolvimento e operações se concentrem em coisas que melhoram os negócios, em vez de apenas apagar incêndios. E, por último, aumenta a eficiência e a precisão da documentação, ambas com méritos próprios para integração, educação e conformidade.

Primeiro, você precisará de algo que o ajude a criar e testar código o tempo todo, a qualquer momento. Um aplicativo como Jenkins ou Bitrise pode ajudar a facilitar a integração e a entrega contínuas.

Em seguida, você precisará de uma plataforma de controle de origem para rastrear e gerenciar revisões no código. Plataformas como GitHub e SourceForge podem ajudá-lo aqui.

O próximo passo na cadeia será um sistema de gerenciamento de configuração para manter a consistência e a qualidade em todos os níveis. Ferramentas como Chef ou SaltStack são ótimos lugares para começar.

O New Relic cria uma plataforma para observar todos os seus sistemas e é extremamente útil para monitorar esse tipo de automação de código de ponta a ponta.

Também pode ser uma boa ideia examinar a configuração dinâmica, caso você precise girar rapidamente todo o sistema automatizado em uma nova direção.

Implementando DevOps para pequenas equipes e pequenas organizações

Não se preocupe se sua equipe ou empresa é muito pequena para implementar efetivamente o DevOps. Em vez disso, pense nessas ferramentas como uma mesa de bufê da qual você pode extrair ideias organizacionais.

Nenhuma organização, não importa seu tamanho, será prejudicada por mais comunicação, mais responsabilidade e acompanhamento de revisões maior e mais granular.