Modernizar para maximizar: libere o potencial de cloud
February 23, 2021
February 23, 2021
Levar sua empresa para a nuvem é apenas a primeira parte da jornada. Uma vez lá, você precisa capitalizar a eficiência e o potencial de inovação que cloud oferece. Isso quer dizer projetar aplicações e serviços especificamente para maximizar o valor de um ambiente de cloud.
Para desenvolvimentos novos, isso não será problema. Mas e quanto aos seus ativos legados? Se você for uma organização grande, é provável que tenha centenas, milhares, talvez dezenas de milhares de aplicações em seu portfólio, muitos das quais de missão crítica.
Para obter valor duradouro, você precisará decidir com cuidado quais dessas aplicações deverão ser modernizadas e até que ponto. Também será necessário considerar suas opções de infraestrutura e arquitetura de dados, tenha você já "lifted and shifted" suas aplicações ou esteja apenas iniciando sua migração para a nuvem..
Modernize as aplicações: Simplesmente reacomodar suas aplicações na nuvem irá provavelmente cortar alguns custos e resolver questões de dívida técnica. Mas quanta diferença seus usuários irão perceber, e quanto valor adicional isso irá destravar? Para efetivamente maximizar o valor do novo ambiente, você precisa modernizar suas aplicações ao migrar para cloud.
Modernize a infraestrutura: À medida que o mundo se move rumo à infraestrutura definida por software, sistemas que operam no novo paradigma "infraestrutura como código" tornam-se essenciais. Modernizar sua infraestrutura para esse tipo de ambiente—permitindo muito mais automação e gestão dirigida por inteligência—pode otimizar não apenas os custos, mas também a agilidade e a flexibilidade da sua empresa.
Modernize os dados: Dados são o terceiro pilar de uma estratégia de modernização. Em muitas companhias, arquiteturas de dados legadas on-premise são complexas, caras, inflexíveis e difíceis de manter. Ao contrário, modernas arquiteturas de dados na nuvem possibilitam optar por serviços de analytics avançados de hyperscalers—incluindo machine learning e deep learning—com velocidade e num grau de simplicidade impossíveis em seu próprio data center.
Existe um amplo leque de abordagens de modernização a escolher, com diversos níveis de custos, complexidade e valor final para a empresa.
O modelo dos "7 Rs" da Accenture (termos em inglês) decompõe este leque de abordagens num conjunto de opções de migração claramente definidas. À medida que você avança na escala, o grau de modernização aumenta de zero (ou seja, rehosting e replacing) até o máximo (refactoring e reimagining).
Aqui vão algumas perguntas a responder à medida que você avalia quais dos 7 Rs são mais adequados:
É quando você sabe que replatforming ou refactoring uma aplicação irá entregar maior funcionalidade e mais valor—porém, isso não é essencial.
Quando algum aspecto de sua aplicação não é compatível com operações em nuvem, é preciso modificá-lo. Você não pode simplesmente hospedá-lo novamente.
Ao fazer o replatform de uma aplicação, você certamente optará por alterar o mínimo do seu código—apenas o suficiente para garantir que ela execute a mesma funcionalidade na nova plataforma na nuvem.
Com o refactoring, você estará efetivamente desmontando a aplicação e a reconstruindo numa nova arquitetura nativa de cloud. Você também poderá usar uma nova linguagem de programação. O grau de mudança do código—assim como os testes posterioes—será expressivo.
Para algumas aplicações, pode fazer sentido ir além e considerar a decomposição do serviço. É quando você decompõe sua aplicação numa série de componentes reusáveis ou de microsserviços, os expôe via APIs e usa uma camada de orquestração, como Kubernetes. Você pode até decidir por uma aplicação com arquitetura sem servidor, na qual você executa código na nuvem sem gerenciar a infraestrutura.
Desacoplamento digital é uma técnica avançada para modernizar grandes aplicações legadas, como software de mainframe.
Pode ser um desafio reconstruir aplicações mais antigas na nuvem, especialmente quando replicamos a lógica e os dados incorporados. Com o desacoplamento digital, você monta um novo sistema com um desenvolvimento cloud-native. Ao sincronizar dados nos seus sistemas antigos e novos quase em tempo real, ambos poderão rodar em paralelo. Isso significa que você pode modernizar uma parte da aplicação de cada vez, com o uso de arquiteturas cloud-native, modernas técnicas como DevSecOps e elevados níveis de automação.
Pense nisso como construir uma casa nova ao lado da sua casa atual. Você poderá morar em ambas, enquanto, gradualmente, você faz a mudança à medida que os novos cômodos vão ficando prontos. Ao final, você poderá mudar em definitivo, sem nunca ter tido que reformar a antiga casa.
Como evitar armadilhas
Modernização é a chave para reduzir a dívida técnica e incrementar velocidade e agilidade da organização na nuvem. Mas modernização plena pode não ser o ideal para todas as aplicações, todas as circunstâncias ou mesmo todas as companhias. Podem existir boas razões para focar inicialmente em rehosting como uma forma rápida de chegar à nuvem; mas mesmo que você opte por adiar a modernização, ela precisa estar em sua agenda para o futuro.
Por fim, se você quiser extrair todo o valor da nuvem, você precisa considerar as aplicações nativas de cloud, infraestrutura e dados. Um cuidadoso programa de modernização é o modo de chegar lá.