O mundo não para e a tecnologia corre a passos largos, sempre se renovando. Em alguns poucos meses é possível até perder o bonde em relação aos avanços. Os grandes negócios serão as maiores vítimas de uma transformação digital intensa, caso não façam o que for necessário de forma imediata.
A cultura DevOps já é realidade em várias empresas. É o caso, por exemplo, da Amazon, Google e Microsoft. Segundo estudo da CA Tecnhologies, em 2016 o Brasil é quarta maior referência global em DevOps. Em sites de ofertas de emprego como o Apinfo, vemos que existem diversas vagas relacionadas a DevOps (Desenvolvedor, Analista, Especialista). Tudo isso nos mostra que a cultura DevOps é uma grande tendência para o futuro do mercado de Tecnologia da Informação.
Neste contexto, surge o chamado DevOps, um termo difícil de definir em poucas palavras. Até por ser novidade e ainda muito desconhecido do mercado. Basicamente, quando falamos em DevOps estamos nos referindo a uma cultura de entrega. Desenvolvimento e operação de Tecnologia da Informação passam a se confundir. A própria sigla mostra isso.
Portanto, podemos falar em quebra de barreira entre equipes. Isso se dá, principalmente, entre equipes de desenvolvimento (Dev) e operação (Ops). Essas duas devem trabalhar totalmente integradas para otimizar a produtividade, ao invés do modelo tradicional, em que uma equipe demanda a outra.
Não estamos falando de nenhuma ferramenta ou metodologia, mas um conjunto de práticas calcadas em ferramentas de apoio e na automação de atividades que altera a cultura organizacional para a criação e utilização de processos ágeis. Daí, partem o Desenvolvimento Ágil, a Infraestrutura Ágil, a Operação Ágil e a Segurança Ágil. Complementando o Ágil, estão ainda a Integração Contínua e a Entrega Contínua.
O DevOps deve abranger todo o ciclo de Desenhar, Construir e Operar, unificando estes grandes blocos e tendo por trás de seu funcionamento, a governança e segurança necessárias. Para que o DevOps seja caracterizado, o componente de automação deve estar presente em todas estas etapas da cadeia Ágil, garantindo o mínimo de interação e esforço humano para a realização de processos acessórios.
O conceito geral de DevOps
A combinação de filosofias culturais, práticas e ferramentas que aumentam a capacidade de uma empresa de distribuir aplicativos e serviços em alta velocidade: otimizando e aperfeiçoando produtos em um ritmo mais rápido do que o das empresas que usam processos tradicionais de desenvolvimento de software e gerenciamento de infraestrutura.
Portanto, não é difícil imaginar que a transformação digital e o devops estão amarrados. Além disso, o DevOps (automatização de infraestruturas em nuvem) está sendo feito com soluções open source.
Uma das principais diferenças nessa cultura é que não temos mais somente o papel do especialista e nem da separação das equipes por “silos”, ou seja, equipes especializadas em determinada torre, como por exemplo equipe de banco de dados, equipe de aplicação ou equipe de sistemas operacionais. A tendência é que uma única pessoa ou uma única equipe seja responsável por todas as torres.
A imagem em destaque neste artigo mostra que a cultura DevOps trabalha com uma integração contínua, sempre visando a melhoria. São dividas em 7 fases:
- Plan: Planejar. Efetuar o levantamento dos requisitos e das necessidades da Operação.
- Create: Criar. Criar ou melhorar a solução em si.
- Verify: Verificar. Efetuar testes da solução desenvolvida.
- Package: Pacote. Após todos os testes, entregar o produto para a Operação, inclusive com documentação e manuais de operação.
- Release: Lançamento. A Operação recebe todas as informações da fase anterior.
- Configure: Configurar. Configurar e preparar o ambiente para implementar o novo serviço em produção. Efetuar ajustes finos.
- Monitor: Monitorar. Monitorar o comportamento do novo serviço, analisar performance e reportar possíveis melhorias ou problemas para o Desenvolvimento.
A cultura DevOps apresenta vários aspectos positivos, entre eles:
- Aumento na velocidade no desenvolvimento de novas soluções de TI.
- Diminuição da burocracia, já que a comunicação entre desenvolvimento e operação deve ser o mais integrado possível.
- Busca sempre melhorias de forma continuada, já que trabalha como um ciclo infinito.
- Racionalização de recursos humanos e físicos, graças a automatização de processos, virtualização e orquestração.
Percebeu como está intimamente ligada com avanços tecnológicos?
Aspectos negativos
Mas, como nem tudo são flores, a cultura DevOps também implica em alguns paradigmas e aspectos negativos, entre eles:
- A migração da cultura tradicional para a cultura DevOps pode trazer alguns “traumas“. A cultura DevOps não é somente o aprendizado de novas ferramentas, mas também uma mudança de cultura. Dependendo do ambiente de trabalho e de como os processos são adotados em determinadas empresas, esta mudança pode não ser tão simples assim e nem tão bem aceita. A migração da cultura tradicional para a DevOps deve ser de forma gradativa para não gerar barreiras ou “aversão ao novo”.
- O paradigma da redução de interação humana. A cultura DevOps prega que tudo que é repetitivo pode ser automatizado. Por consequência, isso causa a diminuição da necessidade de recursos humanos. Então isso causará a demissão de várias pessoas e a extinção de vários cargos, principalmente aqueles administradores de sistema “apertadores de botão”, que sempre fazem a mesma coisa.
- Mudança na carreira profissional. Devido ao paradigma citado acima, é necessário uma mudança na carreira profissional, principalmente em relação a capacitação e aprendizado. Sabemos que não é fácil absorver essa quantidade gigantesca de novas ferramentas e novos conceitos que a cultura DevOps nos ensina, mas nunca é tarde para começar.
Concluindo, devemos estar preparados para essa inovação. A transformação digital das grandes corporações passa pelo open source. Virtualização, Contêiners, Ansible, Vagrant são alguns desses exemplos. Nem sabe do que se trata? Então, corre e clica para descobrir na 4Linux, que possui mais de 300h de conteúdos educacionais relacionados ao mundo DevOps.