Hiflex

Compartilhar

DEVOPS – A Origem

Há muito tempo estudo sobre DEVOPS, e muito se discute sobre “o que é o DEVOPS”. Para entender isso acho que é legal entender a origem do termo, e o que estava sendo feito pelas empresas naquela época. Para isso pensei numa pequena história para exemplificar.

Uma história

Olá, meu nome Melvin Smith, sou desenvolvedor na Kalo Co uma grande empresa de software dos Estados Unidos. Neste artigo quero falar um pouco sobre algumas coisas que fizemos na nossa equipe. Pra começar, em 2005 começamos a testar uma nova forma de conduzir nossos projetos, as pessoas chamam de ágil, e após três anos experimentando essa nova metodologia acho que pegamos o jeito. Porém conforme ganhamos maturidade e cada vez mais tiramos proveito dessa nova forma de trabalho alguns efeitos colaterais começaram a aparecer e sobre isso que gostaria de falar aqui e compartilhar as soluções que achamos.

O primeiro efeito colateral que apareceu foi que por algum motivo os prazos de desenvolvimento e de infraestrutura começaram a ficar dessincronizados, antes nossos projetos seguiam um processo em cascata e como solicitávamos toda infraestrutura que iríamos precisar na primeira fase do projeto o time de operações tinha tempo suficiente para preparar tudo e nos entregar os servidores a tempo. Lógico que tínhamos problemas, um atraso aqui e lá, as vezes o servidor era entregue com configurações erradas e a primeira implantação normalmente exigia um esforço heroico. Mas pelo menos tínhamos a infraestrutura. Na figura abaixo dá pra se ter uma ideia de como isso funcionava na linha do tempo.

Modelo Waterfall
Modelo tradicional de trabalho (Waterfall)

Porém, agora trabalhando de forma iterativa não temos uma longa fase de planejamento e levantamento de requisitos, dessa forma temos uma versão do sistema pronta para implantar cada vez mais cedo. Enquanto estávamos experimentando esse novo jeito de trabalhar em sistemas legados não tínhamos muitos problemas, mas começamos a usar no desenvolvimento de novos produtos, e o problema se instaurou. Dê uma olhada na figura abaixo, essa nova forma de desenvolver nos permite ter um pacote pronto para ser implantado logo no começo do projeto, porém isso não nos tem ajudado pois ainda temos que esperar um longo tempo para ter a infraestrutura disponível.

Modelo Ágil
Novo Modelo de trabalho (Ágil)

Infraestrutura Ágil

Para resolver isso a primeira coisa que fizemos foi se aproximar do time de operações e juntos chegamos a conclusão de que o SLA atual para solicitações de infraestrutura não atenderia nosso novo cenário e então começamos um trabalho em conjunto para achar formas de lidar com essa situação, chamamos essa frente de Infraestrutura Ágil. Dessa frente saíram algumas soluções como o uso de máquinas virtuais, automação de boa parte do processo de preparar um novo servidor entre outras soluções. Agora nossa empresa tem a capacidade de disponibilizar novos ambientes em questões de dias e não mais meses como antigamente.

Gestão de Mudanças

Essa aproximação nos permitiu atacar um outro problema, que já nos incomodava a muito tempo mas não conseguimos resolver. A burocracia e o tempo de espera para poder implantar algo em produção. E temos uma situação parecida com a da infraestrutura, antes ter um processo burocrático e demorado para gestão de mudança não era um problema, afinal durante todo o projeto iríamos implantar 2 ou 3 vezes em produção. Porém agora implantamos quase toda semana é isso passou a ser um problema. Mas toda vez que que tentávamos falar com o time de operações eles nos lembravam de como eles precisam manter os sistemas operantes e como as implantações trazem riscos e interrupções. E realmente não tínhamos como discutir, dependendo dos componentes que foram alterados temos bastante risco na implantação.

Mas agora que os dois times estão trabalhando de forma colaborativa estamos com esperanças de que vamos conseguir resolver esse problema também. A primeira coisa que fizemos foi definir um objetivo em comum para os times que ficou mais ou menos assim:

“Queremos encontrar formas de acelerar o processo de implantação de versões do sistema, mantendo a qualidade e disponibilidade do produto”

E é aqui que estamos no momento, estamos trabalhando de forma a atacar os problemas no nosso fluxo de trabalho de forma que tenhamos confiança de que nossa implantação não causará problemas em produção. Algumas coisas que estamos experimentando são ideias como: testes automatizados, integração contínua, classificação das mudanças por nível de risco, TDD entre outras coisas. Num próximo artigo eu trago para vocês o resultado dessas nossas experimentações e quais serão os próximos passos

De volta para o futuro

Toda história acima foi inventada por mim, mas bem que poderia ser verdade. Acho até que não foi muito diferente disso, o que acontece é que o DEVOPS não nasceu em apenas um time ou uma empresa. Foi um movimento de começou em várias empresas ao redor do mundo ao mesmo tempo, cada uma experimentando ferramentas, técnicas e práticas, e depois compartilhando isso com outras empresas e com o tempo foram sendo identificados as melhores alternativas entre elas. 

É importante entendermos tudo isso, para ficar claro que o DEVOPS é um movimento de diversas empresas, times e profissionais no intuito de melhorar seu fluxo de entrega. E sendo um movimento é até difícil de definir e delimitar suas fronteiras, na nossa história ele veio como uma consequência da evolução do uso de metodologias ágeis, em outras empresas pode ter vindo da aplicação dos conceitos lean ao fluxo de desenvolvimento e ainda pode ser que tenha resultado de outros movimentos, nunca saberemos ao certo.

Apesar de difícil podemos sim tentar definir o DEVOPS, ou pelo menos, definir a visão que temos desse movimento no estado atual, pois como falei esse é um conceito evolutivo. Porém não falarei sobre isso hoje, esse é o primeiro de uma série de artigos que publicarei abordando o tema DEVOPS, se você tiver algum assunto relacionado a esse tema que gostaria de discutir, deixe nos comentário que nos próximos artigos eu trago para vocês.

Quer saber como algumas práticas DEVOPS podem te ajudar na sua transformação digital? Dê uma olhada nesse outro artigo Devops – 5 práticas importantes na transformação digital

plugins premium WordPress