Devops: Entenda o que é e como implementar na sua empresa!

André Bassi (DevOps Enginner) São Paulo

Você alguma vez já ouviu falar de DevOps e já se perguntou sobre o que ele pode fazer para melhorar sua produtividade? Então acredito que esse artigo te ajudará a entender o que é e como implementar no seu dia a dia.

De maneira resumida, DevOps é:

Um conceito que visa trazer maior escalabilidade ao seu negócio, um método de desenvolvimento de software, que aprimora e melhora a comunicação, resolvendo gargalos, criando soluções capazes de distribuir aplicativos, serviços em alta velocidade.

Ele funciona como uma ponte entre os developers e os sysadmins. Atuando como um colaborador, capaz de conectar, unir e desenvolver a infra com qualidade e fluidez. É considerado o novo ágil.

Essa prática é muito importante porque consegue ajudar pessoas a trazerem mais insights, criarem perspectivas de negócio e diretrizes capazes de tornar a entrega dos produtos mais ágeis e seguras.

Developers vs Infra

Uma coisa muito interessante é pensar em como essas duas áreas que apesar de parecerem distintas tem tanta coisa em comum e podem ajudar um ao outro. Nessa matriz de valor, é necessário a colaboração de Infra e developers: ambos precisam estar conectados, atuando de maneira conjunta para trazer maior qualidade ao produto final.

Apesar disso, cada uma delas apresenta funções e particularidades únicas, levando em consideração princípios como:

Developers:

  • Geração de valor do negócio
  • Qualidade
  • Desenvolvimento

Infra

  • Manter protegido o valor do negócio
  • Deploy
  • Rollback
  • Monitoramento

Conflito de interesse

Sabe quando o developer disponibiliza aquela aplicação em um menor tempo possível a fim de deixar o software preparado para o que estiver por vir? Se a comunicação não estiver alinhada, as chances de as coisas darem erradas são enormes, sabia? Cabe a infra analisar se aplicação está estável e sem nenhum incidente, confiando no que o developer fez a ponto de não questionar se ele subiu de produção, testou… entretanto essa falta de confiança aliado a ausência de comunicação gera um grande conflito entre ambos.

A equipe de desenvolvimento está sempre em busca de métodos ágeis e eficientes para desenvolver um software, enquanto operações procura um jeito de gerenciar de forma mais eficaz a operação.

Como gerenciar e evitar o conflito de interesse

Uma boa prática para minimizar esse conflito é se preocupar em garantir o entendimento da informação em todos os níveis, nos diferentes canais presentes. A comunicação em abundância previne interpretações equivocadas e ajuda a alinhar expectativas.

Algumas empresas vêm apostando em regras rígidas com o pretexto de reduzir erros e acelerar a produção nas esteiras.. porém esse método não combina nem um pouco com desenvolvimento ágil.

  • Restringir apenas um deploy por semana;
  • Em casos mais extremos, apenas um por mês
  • Sexta feira é de consenso geral que ninguém pode colocar nada em produção ou seja deve ficar em ‘’stand by’’, pois ninguém quer trabalhar no final de semana corrigindo os problemas, não é mesmo?

Podemos dizer que a maioria dos times não conseguem fazer um deploy por semana, pois não possuem essa maturidade na maioria dos casos, é primordial que você identifique o nível de maturidade no seu time, alinhando e entendendo o que ambos consideram importante e valorizam que seja incorporado.

Identificando e mapeando esses pontos você consegue criar um processo funcionando de maneira adequada. Como no caso de uma esteira DevOps rodando com CSD end to end que realiza todos os dias pequenos deploy em sua esteira de maneira organizada e saudável.

Embora não faça sentido realizar um deploy por mês, as áreas de Developers e Infra têm a missão de concatenar suas ações de maneira conjunta, disseminando boas práticas e conhecimento abrangente em programação, docker e outras disciplinas importantes.

Para isso ocorrer o desenvolvimento precisa evoluir nos seguintes pontos:

  • Controlar todas as fases do deploy;
  • Conseguir passar para a infra suas necessidades de forma clara e objetiva e ter que se esforçar para fazer a infra entender isto.

Para isso ocorrer a Infra-estrutura precisa evoluir nos seguintes pontos:

  • Trabalhar de forma automatizada e dinâmica;
  • Velocidade para subir novos ambientes ou mesmo reconstruir/duplicar os ambientes existentes para suprir as necessidades.

O segredo está na colaboração e apoio entre as duas áreas, onde o objetivo principal é a entrega de geração de valor. Com um mindset voltado a empatia e sensibilidade de ajudar o próximo, independente do seu estágio de crescimento, amadurecimento e por aí vai, pensando sempre no aprendizado exponencial e contínuo.

Como implementar o DevOps nas empresas

O que falarei aqui é o resultado dos meus aprendizados, erros e acertos ao longo de um estudo empírico baseado nos quatro pilares principais da cultura DevOps que ajudam qualquer organização a estruturar processos para alcançarem objetivos de negócio.

Há 4 pilares principais para cultura DevOps.

  • Cultura: Entre infra e desenvolvimento deve existir uma relação saudável, com troca mútua de colaboração, priorizando sempre um ambiente harmônico com mudança de comportamento.
  • Automação: Deploy, controle, Docker, Monitoramento e gerência de configuração (Terraform, Ansible, Packer) Introdução de boas práticas, como versionamento de código. Para aplicar Kubernetes é necessário entender de Docker, se você não subir um Docker, não conseguirá utilizar Kubernetes.
  • Avaliação: Métricas, medições, performance e logs. Monitoração e saúde das aplicações.
  • Compartilhamento: Feedback e Comunicação ( ServiceNow, Jira, Trello, Slack)

Essa melhoria na relação e colaboração aumenta a maturidade, a eficiência e reduz os riscos da produção associados com mudanças frequentes.

Se você chegou até aqui sem pular nenhuma etapa está de parabéns e tenho certeza que realizará um trabalho incrível! Agora, basta trabalhar os pontos de melhoria em conjunto com o time, mensurando resultados e projetando os próximos passos.

Quando você menos esperar terá se dado conta que está preparado para seguir processos e ritos contínuos.

Dúvidas, comentários e sugestões do que é DevOps e como implementar no dia a dia? Deixe nos comentários.

--

--

Somos um time de pessoas inconformadas. Nosso propósito é exponencializar pessoas e negócios. Acompanhe nosso movimento!

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Builders

Builders

Somos um time de pessoas inconformadas. Nosso propósito é exponencializar pessoas e negócios. Acompanhe nosso movimento!