DevOps

Em um mercado de TI cada vez mais atuante junto ao negócio, a realidade da TI Bimodal se faz cada vez mais presente, aliando padrões tradicionais a novos paradigmas. Gestores de TI interessados em otimizar a governança e em ampliar os resultados da área precisam estar atentos a essas inovações, e é relevante conhecer melhor o que é DevOps.

Em essência, esse modelo aproxima o desenvolvimento da operação com o objetivo de simplificar processos, integrar áreas, alcançar maior qualidade nas entregas e reduzir o tempo de resposta ao cliente.

Esse estilo de atuação em TI põe fim à falta de comunicação que antes havia entre esses 2 mundos. Em estruturas ainda apartadas, o que se observa é que os envolvidos na operação desconhecem as nuances da engenharia de software e que os desenvolvedores não têm real noção dos detalhes envolvidos na implementação de uma solução.

Esse desalinhamento gera falhas, atrasos, retrabalhos e pode implicar uma baixa qualidade no produto final. Além dos prejuízos internos envolvidos, a pior repercussão se dá perante o cliente. Ele é o principal afetado e quem deixa de capturar o valor esperado.

Com a cultura DevOps, a noção de integração contínua começa a se instalar e os benefícios são notórios.

Este post apresenta as características e vantagens do modelo DevOps. Boa leitura sobre essa tendência tecnológica no mercado!

Conceito: O que é DevOps?

Conceitualmente dizendo, DevOps é uma metodologia de desenvolvimento de software que utiliza a comunicação para integrar desenvolvedores de software e profissionais de infraestrutura de TI. Quem atua na área sabe que integrar esses setores é uma missão quase impossível.

Muitas empresas liberam novas versões de software com grande periodicidade, e, para conseguir a agilidade necessária para colocar as aplicações em produção, é imprescindível considerar as orientações DevOps.

Essa metodologia ficou conhecida como implementação contínua ou entrega contínua porque, ao padronizar ambientes de desenvolvimento, também auxilia as empresas no gerenciamento do lançamento de novas versões, além de controlar e de documentar a emissão de relatórios com diversidade de granularidade.

As empresas possuem problemas no processo de liberar e de implementar novas versões porque, na maioria das vezes, tudo é realizado manualmente, sem automação e, por isso, a quantidade e frequência de erros é alta. O seu maior desejo é conseguir ganhar flexibilidade para gerenciar e conduzir o processo de implantação de versão sem precisar editar tudo na linha de comando.

Para reduzir a incidência de problemas e aumentar a flexibilidade e a automação, foi definido que deverão ser utilizados recursos não operacionais e em ambientes que não estejam “em produção”. Assim, o desenvolvedor adquire maior controle sobre o ambiente, e a infraestrutura, maior entendimento sobre os aplicativos.

Essas alterações só serão possíveis e factíveis de serem implantadas com a simplificação dos processos. Processos simples se tornam claramente articuláveis, e a correta utilização do DevOps é garantia para a desejada simplificação nos processos.

Por fim, as integrações DevOps têm como maior objetivo a entrega de produtos, a possibilidade de testes de qualidade, o desenvolvimento de características e de releases de manutenção com o objetivo de incrementar a confiança, a segurança e o desenvolvimento rápido com ciclos.

Para que tudo isso seja possível, é importante salientar que muitas ideias e pessoas envolvidas com DevOps são oriundas dos movimentos de gerenciamento de sistemas empresariais e de desenvolvimento ágil de software.

Guia Rapido DevOps

Os benefícios da cultura DevOps

As empresas que estão optando por aproveitar os benefícios do DevOps estão experimentando ganhos relacionados à eficiência operacional, à fluidez na comunicação entre as equipes, à redução de custos da TI e à maior satisfação dos clientes internos e externos.

Conheça as melhorias trazidas pela cooperação entre desenvolvimento de software e operação:

Integração entre áreas

Não é repetitivo abordar essa questão. Mesmo porque o DevOps não só une times de áreas específicas da TI como também promove uma ruptura nas barreiras existentes com o negócio, com os gestores de processos e com os “donos” de produtos e de serviços.

Assim, além de promover uma atuação sinérgica entre quem desenvolve e quem coloca uma solução na rua, o DevOps permite uma maior comunicação com o demandante de funcionalidades para otimizar os negócios, já que a visão passa a ser fim a fim e o propósito de entregar real valor ao cliente prepondera.

Simplificação de processos

Esse modo de trabalho prega algumas premissas que permitem tornar fluxos de trabalho menos onerosos e burocráticos.

Uma delas é o reuso de módulos de software, a flexibilidade nos projetos para que se adaptem às mudanças e a redução de esforços de entrega.

Automação de tarefas

Na cultura DevOps, os deploys manuais e outras atribuições dos times de TI passam a ser substituídos por rotinas automatizadas.

Com isso, equipes antes alocadas nas etapas para subir novas funcionalidades ou softwares inteiros passam a se dedicar ao aprendizado, à documentação, ao entendimento dos erros recorrentes e à proposição de melhoria contínua.

Racionalização de processos

Se há simplificação e automação, não há como não ocorrer uma revisão dos processos da TI de modo a torná-los mais racionais, eficientes e econômicos. Um exemplo clássico é a redução do tempo dos ciclos de entregas, dotando os pequenos pacotes de desenvolvimento de um valor antes não reconhecido.

A internalização do novo modelo obriga as empresas a adequarem os seus padrões e a redirecionarem os seus esforços para criar um terreno favorável ao pleno funcionamento do paradigma DevOps.

Modernização da TI da empresa

É intrínseca ao DevOps a tendência da cloud computing, já que plataformas, softwares e infraestruturas oferecidos por terceiros podem ser utilizados para viabilizar os objetivos do cliente.

Assim, é possível atuar com nuvens híbridas que diminuem custos operacionais e melhoram a rotina da TI da empresa. Elas ainda agregam ao padrão interno tecnologias de ponta sem que a empresa precise investir em aquisição de equipamentos de última geração.

Estímulo à colaboração

A nuvem trouxe uma nova cultura para as organizações, na qual pessoas passam a ter acesso facilitado à informação e, com isso, afirmam-se em relação à sua atuação e à sua capacidade de contribuir com sugestões e melhorias.

No DevOps, essa questão é potencializada ao estimular a integração entre áreas e o entendimento da solução que está sendo desenvolvida por todos os envolvidos. Com isso, problemas podem ser identificados com mais facilidade e a resposta para ele, também.

Empoderamento dos times de TI

A atuação em DevOps pressupõe o envolvimento de parceiros estratégicos provedores de soluções em nuvem. E eles só se firmam no mercado quando oferecem bons níveis de qualidade, escalabilidade, capacidade e disponibilidade.

Gerenciar toda essa esteira é algo complexo e, ao tomar contato com esse tipo de realidade, as equipes envolvidas na TI da empresa aprendem, reciclam os seus conhecimentos e tomam contato com as tendências do mercado.

Elasticidade e escalabilidade

Os fornecedores de recursos em nuvem oferecem infraestrutura e inteligência que entendem os movimentos do negócio e se adaptam a ele.

Isso significa que, ao adotar DevOps, parceiros capazes de expandir ou de retrair recursos entrarão em jogo e permitirão que a empresa contratante pague apenas pelo que usa e tenha, sempre à disposição, componentes na medida da sua necessidade.

As mudanças para adotar DevOps

Já foi mencionada a linha da TI bimodal, focada em unir tradição à inovação. Como decorrência dessa filosofia, algumas metodologias surgiram e dão suporte a esse novo jeito de pensar a contribuição tecnológica aos negócios.

Uma delas é o método Ágile, que busca dar celeridade ao desenvolvimento de software. Dentre os pilares desse pensamento estão:

  • a entrega contínua de pacotes menores, mas de valor importante para o cliente;
  • a desburocratização e a redução das passagens de mão;
  • e a automação de processos, como testes e deploy.

Tudo isso enseja uma mudança de cultura organizacional. E os motivos são óbvios: não há como transformar uma realidade interna sem que crenças anteriores e limitantes sejam derrubadas e sem que haja condições favoráveis para o novo se instalar.

Assim, DevOps acaba sendo mais do que uma metodologia ou um conjunto de ferramentas. Ele assume o papel de ser uma nova mentalidade, calcada em conceitos e em passos para automatizar o processo de desenvolvimento tanto quanto possível.

Cada empresa precisa reconhecer as suas especificidades para estabelecer uma situação favorável à internalização do DevOps, mas alguns caminhos provavelmente serão comuns a todas elas. Observe:

Integração dos serviços

Não existe DevOps em um ambiente avesso à integração. Então, aqueles velhos modelos em silos, com equipes especializadas e muitas vezes trancadas em seu mundo próprio, começam a ruir.

O acúmulo de entregas dentro dessas caixinhas também passa a inexistir. Afinal, o importante é colocar na mão do cliente soluções completas, mesmo que com escopo reduzido, que resolvam alguma questão pontual, mas que fazem toda a diferença para o projeto final na sua completude.

Equipes multidisciplinares

Nesse contexto de fim da segregação de atividades, o que importa é uma entrega fim a fim. E, para isso, equipes multifuncionais precisam estar envolvidas.

Essa realidade transforma as estruturas organizacionais, modifica hierarquias e traz um padrão muito mais colaborativo de atuação.

Padronização de ambientes

O DevOps agrega alguns recursos, como documentação e relatórios, para que desenvolvedores e operadores não se percam e sigam melhores práticas no seu trabalho.

Essa padronização do ambiente de TI facilita o controle e o acompanhamento de processos, provendo as áreas de maior autonomia e maior capacidade de responder rapidamente a problemas, mudanças e incidentes.

Gestão inteligente

A flexibilidade passa a ser uma marca na gestão de TI. E, para organizar essa aparente desordem, é importante lançar mão de ferramentas já conhecidas no mundo Ágile.

Bons exemplos são os quadros usados no Scrum, que deixam à mostra o backlog da equipe, as etapas já vencidas, as priorizadas e ainda dão real noção do que falta para que o objetivo seja alcançado.

Mensuração de resultados

Se a TI de uma empresa não está governada por métricas reconhecidas corporativamente, com o DevOps isso vai acontecer.

Esse ponto é tão vital que merece ser abordado em um tópico específico:

As principais métricas

“Não se gerencia o que não é medido.” Essa afirmação já virou clichê, mas é muito importante no meio DevOps.

Isso porque a flexibilização de estruturas e de hierarquias pode sugerir menos profissionalismo na atuação da TI, mas indicadores de performance expondo a situação atual e o gap existente entre o realizado e o desejado é uma excelente forma de organizar a casa.

Por ser uma nova cultura, não necessariamente haverá métricas mirabolantes para organizar e gerir ambientes onde o DevOps impera. De característico, o DevOps terá apenas a definição de indicadores bastante voltados para o deployment, para os processos da operação, para o suporte, para o tempo de resposta, para a performance das aplicações e para a volumetria de erros.

Na lista abaixo, são encontrados os indicadores mais comuns na governança de uma TI baseada em DevOps:

  • frequência e velocidade de deployment;
  • tempo médio para restauração de um serviço;
  • velocidade de verificação do software;
  • tempo de atividade dos sistemas (uptime), das aplicações e das redes;
  • taxas de erros;
  • número de incidentes por release;
  • ciclo de vida do desenvolvimento de software, desde a sua concepção até a sua entrega;
  • turnover de pessoal, já que influencia no grau de autonomia e na qualidade do trabalho.

Ao adotar uma gestão a partir do desempenho demonstrado por dashboards de KPIs, algumas informações relevantes vêm à tona e retroalimentam a gestão. Veja o que é possível perceber com esse tipo de mensuração:

  • se a TI responde à altura das necessidades do negócio;
  • se os times atuam de forma eficiente;
  • se as ferramentas empregadas estão adequadas;
  • se produtos incompletos são entregues;
  • se o processo de desenvolvimento precisa ser mais desburocratizado;
  • se as passagens de mão estão a contento;
  • se há gargalos nos processos;
  • se há necessidade de capacitação dos colaboradores;
  • se a qualidade dos processos (desenho, levantamento de requisitos, desenvolvimento, testes e operação) está dentro do esperado;
  • se o grau de feedback e de colaboração entre áreas está aderente com a cultura DevOps.

O poder do DevOps Orchestration

A atuação proposta pelo DevOps se assemelha àquela adotada em orquestras musicais. Nelas, diversos músicos com os seus instrumentos colaboram para um resultado comum.

Nessa analogia, cada colaborador de uma equipe de TI assume o papel de músico. Os seus instrumentos são as ferramentas que ele desenvolve, opera e configura.

O sucesso do projeto final se deve à sintonia entre as partes, à consciência da importância de cada parte para o todo e à visão holística sobre o que está sendo produzido e o que deve ser entregue para atender alguma necessidade do cliente.

A essa dinâmica se dá o nome de orquestração. Daí a expressão DevOps Orchestration, que significa que as atividades precisam ser integradas para que a eficiência almejada seja alcançada.

Diferentemente do automation, que consiste na automação de tarefas, o orchestration pressupõe a automatização da interação entre as tarefas, com o objetivo de otimizar o processo e de reduzir os passos repetitivos e que agregam pouco ao ciclo de desenvolvimento.

Nesse contexto, o DevOps Orchestration propõe uma organização que garanta que o tempo de produção e de entrega de resultados ao cliente seja o menor possível.

As bases para essa orquestração já foram comentadas neste post: desenvolvimento ágil, tecnologia em nuvem e automação. Com isso, o DevOps coordena equipes, observando as necessidades e as possibilidades de cada uma por meio de fluxos de trabalho flexíveis e de menor custo para a empresa.

7 Passos para Iniciar DevOps

Os mitos sobre DevOps

Tudo o que é novo enfrenta resistências e precisa demonstrar o seu valor para ser aceito. O DevOps sabe bem o que é isso e precisa se valer dos benefícios agregados para ganhar espaço.

Ainda assim, alguns mitos insistem em confundir a cabeça de gestores e acabam impedindo que as empresas transformem sua TI em tempo hábil para atender às mudanças do mercado.

Conheça alguns dos mitos mais comuns acerca do DevOps:

DevOps é exclusivista

Profissionais de TI acostumados a frameworks bastante consolidados no mercado, como ITIL e Cobit, consideram que não há como conjugar esses métodos tradicionais com o DevOps.

O 1º argumento para derrubar essa ideia é a origem do DevOps. Já dissemos que ele está inserido no contexto da TI bimodal, que alia as convenções já estabelecidas com inovações. E isso, por si só, contraria a noção de exclusividade de um método oriundo desse tipo de filosofia.

Nas organizações onde já há DevOps implementado, é comum a convivência pacífica com outros modelos. O importante é saber quais processos migram para o novo método e quais permanecem no antigo. Além disso, resolver como esses 2 polos se comunicarão é o “pulo do gato” para uma gestão eficiente dessa bimodalidade em TI.

Sem Cloud não há DevOps

Não há dúvidas sobre a importância da nuvem na cultura DevOps. E isso faz alguns profissionais entenderem que um não existe sem o outro.

Mas na realidade não é bem assim. É perfeitamente cabível a instituição de modelos DevOps em empresas que optam por manter toda a sua infraestrutura internalizada e que preferem desenvolver internamente as suas soluções, de ponta a ponta.

O foco, nesse caso, é mais sobre cultura do que sobre localização. O importante é que as áreas se integrem para executar da forma mais positiva possível as suas atribuições.

Não há exigência de participação de terceiros nem de alocação de recursos externos — embora seja cada vez mais comum e uma forma reconhecidamente produtiva de implementar DevOps, já que há mais mobilidade, colaboração e escalabilidade.

Sem um engenheiro de DevOps, o modelo não anda

Já que DevOps é uma cultura, mais vale disseminar conceitos, conscientizar colaboradores e compartilhar conhecimentos do que contratar um agente especializado externo para suprir as necessidades de um modelo mais dinâmico, rápido e eficiente.

Trazer o DevOps para dentro da cultura da empresa é preciso, e por isso é importante capacitar os times de TI para atuarem dentro desse padrão.

Isso não significa que seja desaconselhável contratar uma consultoria especializada. Ela pode ser de grande valia na recomendação de ferramentas, no ajuste de processos e na estrutura organizacional mais adequados ao pleno funcionamento do novo parâmetro.

Já se nasce DevOps

A ideia de que uma empresa tradicional na sua atuação de TI não pode migrar para o DevOps ainda existe e precisa ser derrubada.

Uma área de TI não precisa nascer DevOps para alcançar um bom desempenho nesse estilo de atuação. É possível absorver alguns aspectos dessa cultura e modificar a situação atual do desenvolvimento e da operação de soluções na empresa.

O mundo gira e o mercado exige adaptação a novas realidades. Então, não há como sustentar a noção de que algo seja imutável em uma empresa, tampouco que uma TI não possa ser modernizada por já ter se firmado em um alicerce mais tradicional.

DevOps elimina a possibilidade de outsourcing

A afirmação de que DevOps integra equipes às vezes é interpretada com o sentido de que o DevOps fecha as possibilidades para que equipes externas entrem no jogo. E isso não é verdade.

Até pela influência da cloud nessa dinâmica, o DevOps é bastante alinhado com outsourcing, de forma que terceiros podem se responsabilizar por entregas, se essa for uma direção de interesse na gestão da TI da empresa.

É sabido que outsourcing em TI traz, para dentro da empresa, uma visão e uma competência especializada. Por isso, a terceirização conjugada com DevOps é possível e até desejável, desde que haja compatibilidade e colaboração entre lado interno e lado externo.

7 Passos para Iniciar DevOps

  1. Conheça o conceito de DevOps;
  2. Crie um time campeão;
  3. Opte pela aplicação piloto;
  4.  Use várias metodologias;
  5. Defina indicadores de desempenho;
  6. Automatize seus processos;
  7. Leve em consideração uma cadeia de ferramentas.

Com os 7 passos em mente, assista nosso webinário onde explicamos cada um dos 7 passos e como iniciar sua jornada.

Curso DevOps

Sabendo tudo isso e como iniciar sua jornada DevOps, elaboramos um curso DevOps Master para que você possa tirar sua certificação e ser um especialista em DevOps.

Essa certificação é destinada a grande maioria dos profissionais de TI, mas para tirar um proveito ainda maior sugerimos que você ja tenha uma vivencia nas seguintes áreas:

  • Agile Scrum Master

  • Desenvolvedores de Aplicativos e Serviços

  • Engenheiros de Testes

  • Gerente de Projetos

  • Gerente de Testes

  • Gerente de Serviços de TI

  • Gerente de Processo

  • Proprietários do Produto

  • Praticantes de Lean IT

Se você tem interesse nessa certificação DevOps Master, veja o que temos preparado para você!

A necessidade do DevOps

O mercado de TI está acostumado a frameworks e a modelos baseados em livros e em disciplinas consolidadas. Mas, de uns tempos para cá, está se estabelecendo o pensamento de que boas práticas não necessariamente precisam compor uma metodologia formalizada.

Esse é o caminho do DevOps, que vem ganhando força não por um discurso de sucesso, mas sim por exemplos concretos de transformação da TI de empresas e, especialmente, pelos bons resultados colhidos pelo cliente.

Esse modelo de atuação em TI tem foco em questões menos técnicas e mais comportamentais, envolvendo iniciativas para que haja sinergia entre equipes. Como retornos, o modelo oferece muito mais agilidade nos processos de desenvolvimento e de implementação de software, automação de etapas, simplificação de fluxos de trabalho e menor tempo de resposta ao cliente.

Em um mercado cada vez mais exigente, intolerante a falhas e que precisa lidar com mudanças constantes, o DevOps cai como uma luva. A sua capacidade em reduzir distâncias, eliminar empecilhos e fazer com que todos falem a mesma língua é algo importante.

Com esse diferencial, negócio e TI passam a conversar mais francamente. Equipes de TI começam a funcionar como peças de um mesmo quebra-cabeça; as entregas ocorrem em menor tempo, com mais qualidade e menor custo; o cliente percebe valor nas entregas, mesmo de escopo reduzido.

E aí entra uma questão altamente relevante nos dias atuais: a satisfação do cliente. Oferecer a ele, que é a razão de ser de qualquer negócio, uma experiência superior ao que ele está acostumado é um fator de aumento de competitividade.

Para que a migração do modelo atual para o DevOps ocorra sem traumas, a gestão da TI precisará lançar mão da boa e velha tríade das teorias da Administração:

  • processos;
  • pessoas;
  • e ferramentas.

No caso de processos, o importante é revisar e flexibilizar os fluxos atuais. Quanto às pessoas, o foco é capacitação. E, no quesito ferramentas, é fundamental escolher as mais adequadas às necessidades do negócio. O toque final vem da 4ª base: a cultura organizacional.

Só assim o DevOps entra em uma empresa para ficar. Só assim ele poderá contribuir, efetivamente, para uma nova era na TI de uma organização. Por isso, gestores de TI que ainda não dominam o assunto não podem hesitar em iniciar a jornada de entendimento do que é DevOps.

Deixe um comentário e compartilhe a sua experiência com a adoção de DevOps!

Guia das Ferramentas DevOps

2018-12-11T11:43:58+00:002 Comments