Recursos/White Papers

Tecnologia

Três mudanças operacionais exigidas pelo DevOps

Sem eles é impossível alcançar os benefícios prometidos

Da Redação, com CIO/EUA

Publicada em 20 de setembro de 2016 às 09h32

É sabido que o DevOps cria um ambiente de engenharia no qual os desenvolvedores podem ganhar mais velocidade. Em uma analogia simples, digamos que o Agile é como uma pessoa correndo – cerca de 32 quilômetros por hora – e DevOps, como uma pessoa dirigindo uma Ferrari que pode exceder 320 quilômetros por hora. Conversando com com CIO’s, aprendemos que eles se concentram em provisionamento automatizado como um aspecto importante do DevOps. E é. Mas é apenas um pequeno componente. Ter um ambiente de engenharia semelhante à aceleração de uma Ferrari exige mudanças fundamentais.

Por uma década ou mais, a comunidade de TI tem experimentado com e adoção de metodologias ágeis que tiveram origem no Vale do Silício, onde a necessidade de velocidade no desenvolvimento ajudou a desenvolvê-la. Mas foi a própria comunidade de startups de tecnologia que determinou que apenas o uso do Agile é insuficiente para atingir a velocidade de desenvolvimento desejada. Então eles começaram a trabalhar com automação em um ambiente operacional diferente. Esse ambiente é definido por software e mais facilmente visível nas ofertas na nuvem. Conhecido como DevOps, e combina este ambiente operacional definido por software com ferramentas automatizadas para fornecimento, teste e capacidade de gerenciamento. Por isso o DevOps é a materialização do Agile.

Evite a adoção de um caminho equivocado 
DevOps não é apenas um conjunto de ferramentas ou metodologia. É uma revisão fundamental sobre o que o TI faz.  Adotá-lo não é algo que acontece de um dia para outro. Exige uma mudança conceitual e de modelo mental. Além de demandar conhecimento de novas práticas e uso intenso de tecnologia para automatizar ao máximo o processo de desenvolvimento de software, leva o departamento de TI a uma organização completamente diferente, a partir de uma intenção estratégica diferente. A finalidade é alinhar satisfatoriamente as entregas de TI com as necessidades dos usuários de negócios para criar valor  para o negócio. Essa é a nova promessa.

Inconvenientemente, o caminho para chegar lá é o mesmo de sempre, com a diferença de que é preciso pensar muito rápido para dirigir um carro rápido. As questões estratégicas e organizacionais são muito mais desafiadoras que o investimento em novas tecnologias. 

Portanto, a TI não pode chegar a um ambiente DevOps eficaz, que realmente proporcione os benefícios prometidos, sem investir nas mudanças organizacionais.

E o primeiro passo nesse sentido é evitar cair na armadilha de comprar um outro conjunto de ferramentas de provisionamento ou ferramentas de teste automatizado acreditando que você vai adquirindo uma Ferrari. Se você fizer isso, você estará apenas treinando para correr mais rápido em vez de dirigir um carro rápido, e é improvável que você chegue a um ambiente projetado para a velocidade.

DevOpsequipe_625

Como proceder 
Então, quais são as mudanças operacionais fundamentais exigidas pelo DevOps?

1. Modelo de serviço integrado
Ele é o coração de um ambiente de desenvolvimento DevOps eficaz. Historicamente, a TI tem adotado um modelo de serviços compartilhados e organizado a partir de uma série de disciplinas funcionais, tais como data center, segurança, desenvolvimento de aplicações, manutenção de aplicações e a aquisição. Acontece que gerenciamento de TI por intermédio dessas camadas funcionais cria silos onde os usuários de negócios são obrigados a navegar. DevOps requer mudança da orientação funcional dos serviços de TI, sua organização e gestão, a partir de linhas de serviço de negócio, garantindo entrega contínua. De maneira geral o processo tradicional acumula as mudanças e faz entregas de uma vez, em Big Bangs. As famosas mudanças de releases. Já DevOps considera que as mudanças no contexto de negócio acontecem tão rápido e com tanta frequência que esperar acumular todas elas é colocar em risco o negócio.

2. Times multifuncionais
Para fazer um ambiente DevOps funcionar, você precisa organizar o grupo de TI, fim a fim, em equipes multifuncionais que respondam pelos servidores, rede, desenvolvimento de aplicações, etc, para cada linha de serviços de negócio. O trabalho é muito diferente daquele feiro por equipes de TI tradicionais, responsáveis, cada uma delas, por cada linha de serviço. Times multifuncionais em ambiente DevOps são responsáveis pelo desenvolvimento, manutenção e operação do ambiente para cada linha de serviço. Esses times são responsáveis pela realização dos objetivos dos usuários finais e valor de negócio.

Lembre-se que neste ambiente a velocidade é a nova moeda e o alinhamento com os valores do negócio é o objetivo. Para um melhor alinhamento da área de TI com os usuários do negócio, as equipes multifuncionais devem assumir a responsabilidade global pela a condução de cada linha de serviço de negócio particular ao qual dão suporte.

Hoje a TI fornece componentes standards (sejam eles na nuvem, terceirizados, em plataforma como serviço, etc). Os times podem montar os componentes ideais, alinhá-los com as necessidades dos usuários de negócio e também toná-los responsáveis pela entregas o tanto quanto possível.

3. Quadro de gestão. Você também vai precisar criar um quadro altamente integrado, elástico, para gerenciar o ambiente DevOps. Construído a partir do uso de ferramentas de automação, processos definidos por software e um modelo baseado no consumo, este quadro permitirá que os engenheiros, por exemplo, possam suprir as necessidade dos usuários de negócios com entregas contínuas, reduzindo  de 18 meses para quatro ou seis semanas o tempo decorrido do conceito à implementação e produção de um sistema. 

Finalmente, o gerenciamento de um ambiente de DevOps inclui o estabelecimento de métricas que se alinham com as necessidades, em vez da tradicional gestão por excelência e desempenho do custo funcional. Não esqueça que dos objetivos do DevOps é combater a excessiva individualidade e independência entre os desenvolvedores durante o processo de criação de um software.

O Devops padroniza o ambiente de desenvolvimento, e eventos podem ser acompanhados com maior facilidade, assim como o controle de processos documentados e emissão de relatórios e documentação do programa. Esse processo permite o desenvolvedor manter sua autonomia, sem se desligar do todo, impedindo que correções de código linha a linha sejam necessárias

Portanto, lembre-se sempre: DevOps é constituído de cultura, pessoas, respeito não apenas de acessos, ferramentas de automação, deploy contínuo, etc. E envolve novas práticas como (a) entrega contínua de novas funcionalidades, em doses pequenas, (b) uso de equipes dedicadas, cross-functional e pequenas, (c) arquitetura loose coupling, (d) ambiente automatizado por excelência, (e) integração e testes contínuos e (f) ambiente interativo e colaborativo, com usuários, operação e desenvolvimento atuando em conjunto, sem fricções entre os setores, como vemos hoje. Sem que sejam contempladas como um todo, dificilmente funcionará. 



Reportagens mais lidas

Acesse a comunidade da CIO

LinkedIn
A partir da comunidade no LinkedIn, a CIO promove a troca de informações entre os líderes de TI. Acesse aqui