DevOps é a junção dos termos “development” (Dev) e “operations” (Ops) para descrever a combinação de filosofias culturais, metodologias, ferramentas e práticas para integração das áreas de desenvolvimento (desenvolvedores de softwares), operações (sysadmin ou infraestrutura) e controle de qualidade (QA – Quality Assurance), com propósito de entregar de maneira ágil e contínua, valor e melhor experiência ao cliente.
O DevOps é um tema vasto e precisa de paciência e exemplos para compreendê-lo completamente. Há muitos aspectos a se considerar para o sucesso de uma estratégia DevOps em sua organização e é sempre bom aprender com especialistas!
Para os que ainda se intrigam com o real significado do termo DevOps, aí vai uma dica interessante de leitura: “The Devops Handbook“, elaborado por Gene Kim, Jez Humble, Patrick Debois e John Willis. Este livro conta com estudos de caso e recomendações para impulsionar substancialmente a produtividade no dia-a-dia.
O livro, contudo, não é estruturado da maneira como a maioria dos leitores poderia esperar: apenas uma seção é dedicada integralmente ao que os autores chamam de “técnicas práticas de fluxo” no desenvolvimento de operações, também popularmente conhecido como entrega contínua ou “continuous delivery”. As outras seções tratam de coletar e incorporar o feedback a partir do monitoramento de aplicativos – e, mais importante, de construir uma cultura de aprendizagem e experimentação contínua nas empresas. Temas como segurança e conformidade também são amplamente contemplados.
Esse contexto reflete com precisão a amplitude da tendência DevOps. Escrevem os autores, “O DevOps é transformador sobre a maneira como realizamos o trabalho de tecnologia, assim como a metodologia Lean transformou para sempre o trabalho de manufatura na década de 1980… DevOps não é apenas um imperativo tecnológico, mas um imperativo organizacional“. Outra forma de ver a questão é tomar o DevOps como o motor da transformação digital, a tendência abrangente e supostamente destinada a estabelecer uma empresa moderna e ágil.
Dito isto, a maioria dos técnicos querem saber sobre os detalhes da entrega contínua, já que é impossível alcançar ganhos de produtividade DevOps sem automação e workflows aprimorados. Armon Dadgar, co-fundador da Hashicorp, famosa por criar ambientes de desenvolvimento portátil com o Vagrant, desmembra o DevOps em 7 elementos essenciais: construir, testar, empacotar, provisionar, cuidar da segurança, fazer o deploy e monitorar.
Alguém pode notar que o método waterfall inclui esses mesmos elementos. Então, como chamar isso de DevOps? Defende Dadgar: “O objetivo do DevOps é paralelizar o máximo possível. Esses 7 passos são necessários e suficientes, mas não precisam ser feitos sequencialmente“.
De forma desacoplada, a equipe de operações processa o provisionamento e a implementação; os profissionais de segurança bloqueiam o(s) ambiente(s) em que os aplicativos serão executados; e os desenvolvedores constroem, testam e empacotam os aplicativos. Dadgar também diz que os desenvolvedores devem ser responsáveis pelo monitoramento de aplicativos para cumprir um princípio-chave do DevOps – ou seja, os desenvolvedores devem manter a responsabilidade pelos aplicativos em produção, ao invés de deixar a tarefa para a equipe de operações.
De acordo com Dadgar, um ponto crítico é o provisionamento, cujo ciclo de vida complexo tem ajudado a orientar a adoção DevOps:
“Como provisionar e gerenciar essa complexidade, especialmente quando as coisas interagem umas com as outras? Não que o servidor web seja totalmente dissociado do cache, do banco de dados e do balanceador de carga frontend. Eles são todos fortemente relacionados de uma forma complexa. À medida que as coisas vão sendo terceirizadas, vou executar o meu servidor web e eu vou usar um banco de dados da Amazon, e DynDNS e CloudFlare na frente. Agora estou gerenciando o ciclo de vida através de recursos de fornecedores totalmente diferentes”, explica o executivo.
Para ele, o DevOps é mais processo do que ferramentas. “Acho que é isso que se perde no modo como está representado. Há uma fixação em ferramentas porque as ferramentas são fáceis. O difícil é mudar o processo organizacional”.
Qualquer tendência popular de TI eventualmente torna-se motivo de gozação. O DevOps já foi ridicularizado por colocar fardo demais nas costas dos desenvolvedores, criar expectativas irrealistas sobre Dev e Ops finalmente caminhando juntos, entre outras críticas.
No final das contas, o DevOps acaba sendo mais uma filosofia do que uma metodologia. Seu sucesso depende da cultura organizacional e as pessoas envolvidas, muito mais que ferramentas ou receitas passo-a-passo. Seja lean manufacturing ou DevOps, quando realizado da forma correta, os benefícios podem ser fenomenais. Mas é preciso liderança e uma vontade de assumir riscos e fazer as coisas acontecerem – e, principalmente, um compromisso sustentado para que essas mudanças persistam.
Como comentou Gene Kim, um dos autores do “The Devops Handbook“, em sua fala durante o Devops Enterprise Conference do ano passado, existem cerca de 8 milhões de devs e 8 milhões de “ops” no planeta – e, na melhor das hipóteses, de 2% a 5% desse total pode estar usando princípios e práticas DevOps. Para Kim, dado o enorme potencial de produtividade dos devops, isso soa como trilhões de dólares ainda não distribuídos. Ele pode estar certo.
Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.