Migração para a Nuvem

A transferência da aplicação para a nuvem continua sendo algo impossível de se concretizar.

Há muito tempo sabemos que transferir uma aplicação entre diferentes provedores de nuvem pública não é simples nem econômico. Abaixo, apresentamos algumas estratégias para tentar facilitar esse processo.

Collection, allocation, moving, memory, GC.
Imagem: karvanth/DepositPhotos

A mobilidade da computação em nuvem foi considerada, em um momento, um avanço revolucionário na área da infraestrutura digital. As perspectivas iniciais eram bastante positivas com a introdução do Amazon S3 em 2006 e serviços equivalentes. Os provedores garantiram a habilidade de transferir facilmente as tarefas de trabalho entre diferentes provedores de serviços. Isso prometia um cenário ideal.

Os serviços apontaram para um cenário futuro no qual as empresas poderiam trocar facilmente de fornecedores que apresentassem preços mais atrativos ou recursos mais avançados. Embora houvesse entusiasmo inicial em relação ao conceito de nuvem pública como “serviço” e “sob demanda”, a real portabilidade se mostrou difícil de alcançar e custosa.

Em 2017, mencionei que a transferência de aplicativos para a nuvem era vista como algo fora da realidade. Atualmente, continua sendo um processo complexo e dispendioso devido a diversas razões. Embora seja possível alcançar qualquer coisa na área de TI com recursos financeiros adequados, muitas empresas não têm disponibilidade financeira para isso. Assim, a principal questão é que a migração de aplicativos de uma nuvem para outra demanda mais esforço do que muitas pessoas foram levadas a acreditar.

Mudar de um lugar para outro nunca é simples ou econômico.

Paráfrase: O principal desafio está nas diferenças naturais entre os diferentes ambientes de nuvem. Cada provedor de nuvem possui APIs, protocolos e conjuntos de recursos únicos, o que cria obstáculos técnicos significativos para a migração entre plataformas. Isso fez com que os serviços em nuvem se tornassem uma opção adicional para empresas, sendo adquiridos e gerenciados como serviços de TI convencionais. Como destacado por Roy Illsley, analista-chefe da Omdia, tanto os ambientes em nuvem quanto os locais exigem diferentes níveis de adaptação para migrar cargas de trabalho para novas plataformas. Esses esforços podem envolver desde pequenos ajustes até a reescrita quase completa do código de aplicação, dependendo dos sistemas operacionais e das linguagens de programação. Embora para muitos a transição para a nuvem possa ser algo surpreendente, isso é algo esperado.

RELACIONADO:  NTT DATA pretende ampliar suas capacidades de nuvem por meio da aquisição da Niveus Solutions.

Embora mover aplicativos em execução em máquinas virtuais possa parecer viável, isso acaba por comprometer algumas das vantagens da computação em nuvem, como a flexibilidade de escalonamento. No caso de aplicações nativas da nuvem desenvolvidas especificamente para ambientes em nuvem, a situação é igualmente complexa. Embora o Kubernetes seja uma estrutura comum usada por grandes e pequenos provedores de nuvem, a movimentação de aplicativos baseados em Kubernetes entre diferentes provedores muitas vezes envolve lidar com variações nas configurações e a necessidade de plug-ins extras.

Nunca é tão simples como os defensores de recipientes e Kubernetes fazem parecer. Na realidade, enfrentei desafios em vários projetos de desenvolvimento utilizando contêineres, devido à falta de compreensão da liderança de TI sobre essa questão evidente.

Ainda é válido levar em consideração?

Alguns especialistas continuam a apoiar a ideia de tornar a nuvem portável devido aos seus benefícios estratégicos. Segundo Sid Nag, da Gartner Research, a capacidade de portabilidade ajuda as empresas a reduzir os riscos de ficarem presas a um único fornecedor. No entanto, Nag sugere que essa portabilidade seja mais eficaz ao utilizar a influência durante a renovação de contratos e ao evitar depender excessivamente de um único provedor.

Alcançar a portabilidade exige planejamento meticuloso e previsão arquitetônica para reduzir as dependências dos aplicativos mais recentes destinados a serviços específicos de nuvem. Isso implica em seguir uma abordagem menos generalista: executar de forma eficiente em todos os ambientes. Questões de desempenho e otimização frequentemente surgem, tornando essas aplicações “portáveis” excessivamente dispendiosas para serem operadas – mesmo na nuvem.

A falta de normas formais de nuvem destaca a importância das empresas em assegurar que seus sistemas sejam compatíveis e funcionais em diversos ambientes. Os serviços personalizados oferecidos pelos provedores frequentemente incentivam os desenvolvedores a criar aplicativos otimizados para plataformas exclusivas, como AWS ou Azure. A transferência de dados acrescenta mais complexidade, já que a portabilidade dos dados frequentemente requer mover tanto os dados quanto as aplicações, o que pode ser desafiador e caro do ponto de vista técnico.

RELACIONADO:  Como aprimorar o rendimento da inteligência artificial generativa em nuvem.

Agora, você pode indagar: “Dave, você tem alguma novidade positiva?” Por favor, dê uma olhada.

Quais são as ações que as empresas podem adotar?

As empresas têm diversas alternativas para reduzir os custos ligados às complicações da transferência da aplicação para a nuvem.

Instale aplicativos em diferentes provedores de nuvem para diversificar os riscos e diminuir a dependência de um único fornecedor. Essa abordagem não só proporciona mais poder de negociação para termos e serviços de migração, como também previne o bloqueio do fornecedor e permite ajustar os custos ao utilizar os serviços mais acessíveis de diferentes fornecedores.

Em outras palavras, se você pensa que a multicloud é a solução para a falta de portabilidade, está enganado. É necessário adaptar seu aplicativo aos recursos nativos de cada provedor de nuvem para otimizá-los. A portabilidade foi comprometida e as opções são limitadas. Embora uma abordagem com vários provedores minimize os problemas, não resolve totalmente a questão da portabilidade.

Construa suas aplicações com a ideia de portabilidade em mente. Isso significa utilizar tecnologias de contêineres, como Docker, e plataformas de orquestração, como Kubernetes, para garantir que suas aplicações sejam compatíveis com diversos ambientes. Optar por evitar serviços proprietários e escolher ferramentas de código aberto pode ajudar a melhorar a portabilidade e reduzir os custos associados a reconfigurações ou migrações. No entanto, muitas empresas precisam utilizar serviços nativos para garantir o funcionamento eficiente dos contêineres e atender aos requisitos de negócios.

Use um eficiente gerenciamento de dados para reduzir os gastos durante a transição. As organizações devem pensar em organizar seus dados de forma a facilitar a transferência entre diferentes plataformas de nuvem e estar atentas às taxas de transferência de dados. A utilização de soluções de transferência de nuvem híbrida ou entre nuvens pode manter o acesso aos dados de forma contínua e diminuir os custos envolvidos. Ao planejar a arquitetura de dados com a portabilidade em mente, as empresas podem evitar processos onerosos e complexos de migração de dados.

RELACIONADO:  Aplicações de computação em nuvem e inteligência artificial ganham destaque no .NET 9.

Aqui está um conselho que costumo dar com frequência: Não leve em conta a possibilidade de transferir o aplicativo para a nuvem ao desenvolvê-lo. Isso só aumenta os custos e os riscos, e a maioria dos aplicativos nunca será transferida de suas plataformas de nuvem originais.

Frequentemente, é mencionado que as empresas desejam ter a capacidade de mudar caso o fornecedor saia do mercado, se torne instável ou aumente os preços. Embora sejam preocupações legítimas, é improvável que ocorram. É possível transferir todas as aplicações com um investimento financeiro. Verá que o custo de realocação é muito mais baixo do que lidar com a portabilidade de aplicativos na nuvem.

Eu dediquei muito tempo e esforço a este artigo que escrevi em 2017. Espero que agora, aqueles que inicialmente não o valorizaram, possam apreciar a importância da portabilidade das aplicações na ficção científica. Isso me satisfaz.

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button