O que é DevOps e Como Iniciar sua Jornada

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

  • Conheça o conceito de DevOps;
  • Crie um time campeão;
  • Opte pela aplicação piloto;
  • Use várias metodologias;
  • Defina indicadores de desempenho;
  • Automatize seus processos;
  • 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.

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.

Fonte: Gaea Consulting

Your Comment:

Related Posts

09

out
Não categorizado

O que é inteligência artificial?

A Inteligência Artificial, que você vai ver por aí sendo citada apenas como IA (ou AI, de artificial intelligence) é um avanço tecnológico que permite que sistemas simulem uma inteligência similar à humana — indo além da programação de ordens específicas para tomar decisões de forma autônoma, baseadas em padrões de enormes bancos de dados. Algo tão complicado é também […]

02

out
Não categorizado

DevOps? Metodologia, benefícios e ferramentas!

Antes de tudo, é preciso esclarecer que ainda não existe uma resposta clara para esta pergunta (O que é DevOps?). Existem muitas opiniões e contra opiniões sobre o tema. É uma cultura? Um Cargo? Uma metodologia? Ou apenas uma forma nova de pensar? Acredita-se que DevOps é um termo em constante movimento e evolução e que não[…]