Sobre o que estamos falando? Multicloud é uma estratégia que integra diferentes provedores de nuvem…
Conhecendo a cultura DevOps
O mundo de tecnologia mudou! Os modelos e metodologias que a maioria das empresas utilizavam entre o final dos anos 90 e início dos anos 2000 seguramente foram deixados de lado e foram substituídos por metodologias ágeis, que aproximaram os times de desenvolvimento às áreas de negócio. Isto permitiu não apenas uma redução no chamado “desperdício” de desenvolvimento como também possibilitou o foco na entrega de funcionalidades de valor em um tempo de desenvolvimento relativamente menor.
Ao passo que os desenvolvedores começaram a entregar mais features em menos tempo, naturalmente foram maiores as demandas para os times de operações, que muitas vezes se tornava um gargalo para as entregas, pois muitas tarefas eram executadas manualmente e existir um certo temor com a instabilidade dos ambientes com tantas publicações.
Com certeza isso criava um problema, pois enquanto o time de desenvolvimento quer colocar cada vez mais rápido suas features em produção, o time de operações quer um ambiente cada vez mais estável e uma publicação, representa uma instabilidade do ambiente produtivo.
A cultura DevOps desponta como uma solução deste problema ao sugerir uma série de práticas que visam automatizar todo o processo de entrega de um software. Garantindo que o time de desenvolvimento tenha a agilidade necessária na hora de realizar suas publicações e ao time de operações uma série de passos que visam garantir a qualidade, segurança e confiabilidade do código entregue pelo desenvolvedor.
A cultura DevOps possui muitas características das metodologias ágeis como Lean, implantadas nas fábrica durante os anos 80. Sua principal função é reduzir desperdícios.
Ao estabelecermos um paralelo com o Sistema de Produção da Toyota podemos citar, inclusive, que a função de um profissional DevOps possuiria semelhanças com as de um Engenheiro Chefe no chão de fábrica: ambos têm responsabilidades para o sucesso do projeto, mas não possuem autoridade formal sobre as diferentes equipes envolvidas.
A cultura DevOps promove a integração entre os times de Desenvolvimento, Qualidade e Operações, criando uma linha de entrega de software única que com diversas metodologias, processos e práticas que melhoram significativamente a comunicação e colaboração entre as equipes.
DevOps no dia a dia
Ha diversas formas de materializarmos a cultura em nosso dia a dia, mas as principais são:
- Trazer para o dia a dia do desenvolvedor práticas como Pair Programming e Code Review, em que o código já nasce revisado
- Criar um ambiente que estimule as práticas da cultura DevOps através de compartilhamento de conhecimento, com uma base documental, Talks e Dojos
- Criarmos esteiras para entrega automatizada do software, que contenham práticas de qualidade e segurança e que visem gerar confiabilidade, evitando desperdícios
- Criar um processo que metrifique todas as etapas da esteira de entrega de software, para suportar decisões estratégicas e reduzir ainda mais os custos.
DevOps no mundo de TI
Empresas inovadoras como o Google / Netflix / Uber entregam múltiplos releases de seus sistemas em um único dia, com um elevado grau de qualidade.
Quando consideramos o pedido de uma nova funcionalidade, empresas tradicionais costumam levar semanas ou até mesmos meses, para entregar uma funcionalidade em produção, essas empresas que utilizam a cultura DevOps no seu dia a dia, costumam entregar em dias ou até mesmo horas.
Como medir adoção de práticas DevOps
Podemos medir a adoção de praticas DevOps em uma companhia a partir dos seguintes pontos:
- Uso de processos e metodologias de desenvolvimento ágil.
- Uso crescente de automação e ferramentas que permitam o controle e gestão sobre o ambiente.
- Alta frequência na publicação de pequenos pacotes no ambiente produtivo;
- Uso de processos de qualidade e segurança totalmente automatizados no fluxo de entrega de software.
- Decisões estratégicas frequentemente baseadas em métricas retiradas da esteira de entrega de software.
- Autonomia do time de desenvolvimento para operar um produto de maneira padronizada, segura e confiável em produção.
Conclusão
Considerando todos estes benefícios, podemos dizer que a adoção da cultura DevOps não é apenas algo estratégico para a área de Tecnologia. DevOps é estratégico também para as áreas de negócio pois, além de trazer práticas que melhoram a qualidade e a confiabilidade do software, melhoram também experiencia para o usuário final — permitindo que as empresas se mantenham cada vez mais competitivas no mercado e entreguem novas funcionalidades numa velocidade cada vez maior.
Referencias bibliográficas
https://cio.com.br/como-medir-o-sucesso-das-iniciativas-de-devops/
https://www.kyros.com.br/posts/teste-de-software/metricas-de-devops-o-que-medir/
Por Willian da Silva, Arquiteto de soluções no Grupo FCamara
Quer saber mais? Veja todos os artigos que escrevemos dessa série sobre DevOps:
https://blog.fcamara.com.br/categorias/devops/
Parabéns meu amigo!
Seus artigos são sempre muito bons!
Explanando alguns conceitos que muitos só ouvem falar, mas desconhecem o que realmente significa.
Obrigado
Muito bom, é perceptível a necessidade de adoção das práticas de DevOps no dia a dia das Squads, ficamos contentes que o cliente intelipost já atua nesta direção e facilita bastante nossas atividades.
Top! Tem um pessoal muito bom atuando com DevOps la!