BPM: A chave para o sucesso da Transformação Digital
25 de abril de 2018Economia Analítica: O valor da informação
10 de maio de 2018O que é DevOps?
Apresentada como uma revolução nos bastidores da tecnologia, a metodologia conhecida como DevOps é um dos principais ingredientes do sucesso de startups e empresas baseadas em computação na nuvem (Cloud Computing), mais do que apenas maior produtividade, esta nova forma de organizar departamentos promete reduzir custos, conflitos e ainda evitar falhas no produto final.
O DevOps não é um produto, nem mesmo uma tecnologia específica, é uma metodologia que une as funções de desenvolvimento de software (Dev) e de produção e operações (Ops), geralmente separadas, em um processo único, integrado e contínuo.
O termo DevOps deriva da junção das palavras “desenvolvimento” (development) e “operações” (operations), sendo uma prática de engenharia de software que possui o intuito de unificar o desenvolvimento e a operação de software. A característica principal da metodologia DevOps é defender fortemente a automação e monitoramento em todas as fases da construção de um software (integração, teste, liberação para implantação e gerenciamento de infraestrutura). Esta metodologia pretende fornecer em ciclos de desenvolvimento menores uma frequência de implantação aumentada e liberações mais seguras, alinhadas com os objetivos de negócio.
Com o avanço da computação baseada na nuvem (Cloud Computing, várias organizações de médio e pequeno porte se viram unindo suas operações a instâncias virtuais administradas por equipes cada vez menores.
A metodologia DevOps foi criada com base nos seguintes preceitos:
1. Controlar a qualidade do produto desde a produção inicial
Inspirada nos métodos arcaicos da produção em série, a elaboração de um software sempre dividiu os processos de criação e controle de qualidade. Buscando unificar essas duas fases e evitar falhas na comunicação entre elas, a metodologia DevOps indica que o controle de qualidade de um produto deve ser feito pelo mesmo grupo que o constrói desde seu início.
Imagem 1 – Ciclo produtivo com DevOps
Fonte: Tecmundo
Esse tipo de ciclo produtivo exige agilidade, facilidade de comunicação e eficiência de todas as pessoas e áreas envolvidas no processo, sejam de infraestrutura ou desenvolvimento, pois todos precisam ter o mesmo objetivo: entregar o produto ao cliente dentro do prazo e com alto padrão de qualidade.
2. Buscar a inovação e agregar cada vez mais recursos às aplicações
Durante anos de operações fragmentadas em fases de produção sem comunicação, as áreas envolvidas costumam não aceitar uma atualização de software por conta do tempo que geralmente é perdido após estas atualizações para resolver problemas.
Novamente visando a união entre essas duas partes do processo, o DevOps afirma que os ambos objetivos são correlatos, principalmente porque uma equipe de tecnologia que não se atualiza conforme o mercado ou seus concorrentes, se torna fragilizada.
Assim, é necessário que as duas equipes – ou até mesmo a única equipe – colabore entre si para agilizar a adoção de novos recursos e a validação de qualidade em cada um deles.
3. Investimentos em automação e infraestrutura tecnológica
Por ser focada na utilização racional e mais eficiente dos recursos, sejam eles humanos, financeiros ou temporais e visando também a qualidade final do produto, a metodologia DevOps exige que sejam realizados investimentos na automação dos processos, desta forma, é possível reduzir o tempo para a execução de algumas tarefas, o que permite uma equipe mais enxuta e reduz o risco de erro humano na execução de procedimentos repetitivos. Economizar pessoal em tarefas automatizadas significa poder investir mais em desenvolvimento.
Como citado acima, a automação de tarefas repetitivas tem como uma das suas principais vantagens evitar o erro humano. Startups que costumam ter capital e equipes limitadas também podem se aproveitar da automação virtual de processos, aquela feita na nuvem, para economizar gastos e melhorar a gestão de seus funcionários.
Os resultados da adoção dessa metodologia
A adoção recente das práticas DevOps no cotidiano das empresas não significa que estas não estejam dando resultados já na atualidade – pesquisas realizadas por entidades como a F5 Networks indicam que a tática tem diferentes usos e níveis de eficácia para cada tipo de negócio, sendo mais eficaz na produção de softwares com base na nuvem, onde temos como um grande expoente desta categoria o Openshift, um PaaS(Plataforma como serviço) que possui versão enterprise e community já preparado para o DevOps no mundo de contêiner e Cloud, sejam estas híbridas, privadas ou públicas.
Imagem 2 – Taxa de adesão e práticas de DevOps
Fonte: Tecmundo
Por se tratar de mudanças importantes no funcionamento das corporações, muitos empreendedores optam por adotar apenas algumas partes dessa filosofia; como é o caso da automação sendo utilizada para o aumento da escalabilidade e a redução dos custos, mas que não afeta a criação e validação das aplicações.
Por fim, fica claro que a introdução da metodologia DevOps no seu negócio – ou até mesmo no seu ambiente de trabalho – constitui-se da adoção de diferentes práticas, todas com o objetivo de construir um produto final mais eficiente. Em troca, as mesmas práticas exigem custos normalmente baixos, como uma maior cautela e sensibilidade por parte dos gerentes de cada time, além de investimentos precisos nas áreas que podem entregar maior produtividade.
Independente do tipo de ambiente que sua empresa utiliza, existem alguns passos que são cruciais para se adotar a metodologia DevOps de forma satisfatória, são eles:
-
Formar equipes que integram todas as disciplinas – Dev, Teste e Ops.
-
Melhorar a educação, as comunicações e a troca de habilidades.
-
Reavaliar e reconstruir seu ciclo de entrega de serviços.
-
Avaliar novas tecnologias para apoiar o DevOps.
-
Escolher a plataforma ou a linha de negócio correta para começar a usar o DevOps.
Sendo você parte de uma empresa de TI ou não, é recomendável o estudo dessas práticas para melhorar o resultado final do seu trabalho.
Implementando DevOps na versão Open Source ou Comercial
Existem alguns produtos que implementam o DevOps na modalidade open source, comercial e até mesmo versões nas nuvens sem custo por um determinado tempo.
Para as instituições que procuram um produto maduro e open source, o Openshift Origins é a melhor opção. Se você desejar baixar e simplesmente utilizar você pode. O melhor é que não tem que pagar nada para ninguém!
Implementando DevOps com o Openshift
O Red Hat Openshift é uma plataforma para aplicações em contêiner que ajuda desenvolvedores e times de infraestrutura a modernizar as aplicações corporativas existentes e entregar novas aplicações ao acelerar os processos de desenvolvimento e de entrega. Por ajudarem a reduzir conflitos entre os times de desenvolvimento e de operações ao separar claramente as áreas de responsabilidade de cada um, contêineres são uma parte essencial para o DevOps.
Imagem 3 – Ciclo de produção com Openshift
Fonte: www.redhat.com
Benefícios da utilização do OpenShift
O OpenShift é uma plataforma para desenvolvimento de aplicações ou microserviços na nuvem. Uma plataforma de código aberto onde é possível criar, testar e implantar aplicações com rapidez e pouquíssimo esforço, uma vez que este provê um catálogo onde é possível ter a mão, uma cartela variada de linguagens de programação e ambientes já pré-configurados para uso imediato. Seguem abaixo alguns dos benefícios da utilização desta plataforma para o DevOps em sua empresa.
-
Nesta plataforma, os usuários tem acesso à uma interface web de gerenciamento, com navegação simplificada e acesso a vários recursos.
-
Um catálogo com templates pré-configurados de várias linguagens e SBDS, entre outras soluções, como BPMS, DataGrid, etc…
-
Por se tratar de uma solução de código aberto, as atualizações acontecem de forma constante e colaborativa.
-
Com apenas um clique é possível fazer a implementação de um ambiente que atenda a todos os tipos de linguagens compreendidas pela plataforma.
-
Possibilita a implementação do CI/CD, integração e deploys contínuos, através da utilização de Jenkis Pipeline, embutida na plataforma.
Referências Bibliográficas:
Fernando Telles, abril 2017, Artigo DevOps leva agilidade, cooperação e eficiência para os departamentos de TI, Tecmundo (https://www.tecmundo.com.br/tecnologia-da-informacao/115857-devops-leva-agilidade-cooperacao-eficiencia-departamentos-ti.htm)
Blog oficial Openshift, Abril 2018, https://blog.openshift.com
Portal de Documentação Red Hat, Abril 2018, https://access.redhat.com/documentation/en-us/