DevOps também oferece usabilidade com blockchain
Redação Cards Expo 28/03/2018, 09:00 29/03/2018
Blockchain esta vindo para ficar, e será o responsável de grandes mudanças graças a flexibilidade na integração que a plataforma oferece. Um dos casos de uso que devemos considerar é Blockchain para DevOps.
Mas primeiro vamos revisar o conceito de DevOps.
Vamos imaginar que o Luiz trabalha para uma empresa que oferece uma gama de serviços diferenciados. Graças a isto, a companhia se posicionou como líder e inovadora no mercado. Luiz é um desenvolvedor que escreve código de aplicações para novos produtos, novas funcionalidades e novas atualizações. Mas para que isto aconteça de maneira viável a empresa tem que ser extremamente ágil para colocar estes serviços no ar.
Como diz o ditado: "a pressa e inimiga da qualidade", pelo que, quando o serviço entra em produção, os problemas começam a surgir.
Por outro lado, Ana é a administradora dos servidores de desenvolvimento e produção onde Luiz desenvolve suas aplicações. Por conta de diferenças nos ambientes de desenvolvimento e de produção, muitas vezes, as aplicações apresentam problemas. Pelo que, o objetivo da agenda de DevOps é o de reduzir a fricção destes ambientes, assim como o de harmonizar este processo. É por isso que todos os que participam de um GoLive sem uma política eficiente, se lembrarão de cada saída em produção.
Agora, o objetivo de DevOps não é só esse, mas também o de aprimorar a experiência da aplicação mediante feedback. Dependendo da metodologia implementada, este feedback ajudara a determinar o que entrará no próximo Sprint.
DevOps envolve muitas pessoas, muitas competências e muitos processos, pelo que o coração de DevOps é o de melhorar e aprimorar o processo de implementação/usabilidade para garantir aplicacações sem bugs, poder reduzir o re-trabalho e o overhead (execução de processos necessários para a saída em produção).
Cada processo gera informação: metadados resultante de cada passo. Estes metadados servirão para melhorar os processos que devem ser cada vez mais automatizados.
Agora, o problema de falta de organização ou governança pode acontecer da área de TI para aplicações core, mas também em aplicações desenvolvidas pela área usuária! Alias, este é um dos grande problemas resultantes de "shadow IT", onde a área usuária acaba desenvolvendo aplicações próprias independentes a estratégia de TI.
Aplicações que, as vezes, são tao criticas para o negocio quanto as "core". Este é um problema sério. Principalmente porque esta prática não esta sob o guarda-chuva de TI e muitas vezes desconhece metodologias eficientes de implementação e suporte.
É aqui onde Blockchain entra!
Entendamos que blockchain é uma camada informacional comunitária entre diferentes empresas, processos, pessoas, áreas ou empresas. A informação que "transita" são transações. Muito parecido a uma base de dados, só que em formato de mensagens e não com um formato repositório para ser armazenada. Estas transações podem conter quaisquer tipos de dados sempre que trafegue entre um processo/ entidade/ participante para outro/s. A plataforma também oferece o benefício poder de desenvolver regras de negocio para ser aplicada na informação que "trafega" no Blockchain.
Agora, voltando a DevOps, cada processo, no ciclo de vida de uma aplicação gera informação de metadados. Seja informação do estado do processo (draft, aprovado, rejeitado, com erros, etc), da data, especifica do código ou informação do negócio.
Qual é a proposta? Com Blockchain, podemos registrar e transitar informações dos diferentes ciclos de vida dos processos no desenvolvimento das aplicações, tanto de IT assim como das áreas usuárias!(também conhecido como "shadow IT") Entende a ideia?
Adicionalmente, podemos desenvolver e aplicar politicas especificas (no mesmo blockchain) para tomar controle destes ciclos de vida, integrando-os com as politicas de IT, reduzindo riscos, custos de ferramentas, duplicação de tarefas/ recursos, retrabalho, divergências de políticas, fracassos no GoLive e ate impacto na reputação da empresa perante ao mercado!
Por tanto, podemos aplicar estas mesmas politicas simplificadas para desenvolvimentos da área usuária e integra-los, aproveitando os benefícios que TI oferece.
E isto é valido também para aplicações que não são parte da empresa! Por exemplo: um grupo empresarial ou uma fusão de empresas que tem diferentes ferramentas e politicas de DevOps podem ser integradas e governadas mediante Blockchain. Esta estratégia é altamente extensível!
Este é mais um caso de Uso de Blockchain. Semanalmente, nós, da Smartchains iremos apresentar diferentes casos de uso que podem ser aplicados seja por industria assim como por tecnologia.
*Artigo escrito por Bernardo Madeira, especialista técnico de Blockchain-Hyperledger e co-fundador da Smartchains