Migração de aplicações é o processo de mover uma aplicação de software de um ambiente de computação para outro. Você pode, por exemplo, migrar uma aplicação de um data center para outro, de um servidor local para o ambiente de um provedor de nuvem ou da nuvem pública para um ambiente de nuvem privada.
Como as aplicações geralmente são criadas para serem executadas em sistemas operacionais específicos e em arquiteturas de rede específicas, ou desenvolvidas para uma única plataforma de nuvem, a mudança de uma aplicação para outro ambiente pode representar vários desafios. Geralmente é mais fácil migrar aplicações de arquiteturas virtualizadas ou baseadas em serviços do que migrar aplicações executadas em hardware bare metal.
Determinar uma estratégia geral de migração de aplicações envolve considerar as dependências e os requisitos técnicos de cada aplicação, bem como as restrições de segurança, conformidade e custo da sua empresa.
Aplicações diferentes podem seguir caminhos diferentes para a nuvem, mesmo dentro do mesmo ambiente de tecnologia. Desde os primórdios da computação em nuvem, os desenvolvedores se referem a esses padrões de migração de aplicações com nomes iniciados com "R".
Re-hospedagem: também conhecida como lift-and-shift, a re-hospedagem é uma estratégia comum na qual a empresa migra a aplicação de um servidor local para uma máquina virtual na nuvem sem fazer alterações significativas. A re-hospedagem de aplicações geralmente é mais rápida do que outras estratégias de migração e pode reduzir bastante os custos de migração. A desvantagem é que, sem modificação, as aplicações não se beneficiarão dos recursos de computação nativos da nuvem e os custos de longo prazo para executá-los na nuvem podem ser maiores.
Refatorar ou rearquitetar: refatoração refere-se a fazer alterações bastante significativas na aplicação para ele ser dimensionado ou apresentar desempenho melhor no ambiente de nuvem. Isso pode envolver a reprogramação das principais partes da aplicação para aproveitar melhor as funcionalidades nativas da nuvem, como reestruturar uma aplicação monolítica em um conjunto de microsserviços ou modernizar o armazenamento de dados de SQL para NoSQL.
Replataforma: uma espécie de meio termo entre lift-and-shift e rearquitetura, a replataforma de uma aplicação envolve fazer pequenas alterações para ela se beneficiar melhor da arquitetura em nuvem. Por exemplo, a atualização da aplicação para funcionar com um banco de dados gerenciado nativo da nuvem, a alteração dos sistemas operacionais ou do middleware com o qual ele funciona ou a conteinerização da aplicação.
Aposentar/substituir: às vezes, simplesmente faz mais sentido desativar a aplicação. Isso pode ocorrer porque seu valor é limitado, porque seus recursos estão duplicados em outro lugar em seu ambiente ou porque é mais econômico substituí-lo por um oferta nova, geralmente uma plataforma de software como serviço (SaaS), do que migrar a aplicação.
Para desenvolver a melhor estratégia de migração de aplicações para o ambiente de TI e as necessidades comerciais exclusivas de sua empresa, você precisará entender exatamente o que está em seu portfólio de aplicações, as especificidades de seus requisitos de segurança e conformidade, os recursos de nuvem que você está consumindo atualmente e como são suas infraestruturas locais de armazenamento, computação e rede.
Para que uma migração para a nuvem seja bem-sucedida, você também precisará ter claro os principais motivadores de negócios que a estiverem motivando e alinhar sua estratégia com esses motivadores. É importante saber o motivo pelo qual está migrando para a nuvem e o que espera alcançar com essa transição.
Os stakeholders podem temer que as migrações de aplicações causem interrupções nos negócios ou resultem em custos inesperados. Os riscos mais comuns são os seguintes:
Uma avaliação cuidadosa e detalhada dos riscos e benefícios associados à re-hospedagem, rearquitetura/replataforma ou à desativação de cada avaliação do seu portfólio pode ajudar a mitigar os riscos gerais associados à migração de aplicações. Particularmente, é importante comparar os custos em nível de departamento com o custo total para a empresa e avaliar o custo total de propriedade (TCO) de qualquer hardware que você tiver que manter para manter as aplicações no local.
Nos anos anteriores, as empresas geralmente procuravam migrar aplicações para a nuvem porque queriam a flexibilidade, a escalabilidade ou a estrutura de custos previsível de pagamento conforme o uso que os provedores de nuvem oferecessem.
Hoje, no entanto, as empresas também buscam ambientes que possibilitem a inovação. As tecnologias de nuvem possibilitam as seguintes opções:
Em muitos casos, tecnologias compatíveis com a nuvem como conteinerização, permitem oferecer aos usuários experiências melhores do que as máquinas virtuais que podem substituir.
De modo geral, o processo de planejamento de migração de aplicações pode ser dividido em três estágios. Em cada uma delas, é fundamental ponderar os custos de todas as opções possíveis, inclusive a opção de manter algumas cargas de trabalho no local.
Identificação e avaliação da aplicação: nesta fase inicial de descoberta, comece assegurando-se de que você tenha um catálogo abrangente de todas as aplicações do seu portfólio. Em seguida, categorize as aplicações de acordo com o fato de terem importância crítica ou não crítica para os negócios, se o valor é estratégico ou não estratégico e o que você pode fazer ao migrar cada uma delas para a nuvem. Você deve se esforçar para entender o valor de cada aplicação em termos dessas características:
Em seguida, você deverá realizar uma avaliação da afinidade com a nuvem de cada aplicação que estiver pensando em migrar. Durante esse processo, determine quais aplicações estão prontas para funcionar no estado em que se encontram e quais precisariam de mudanças importantes antes de se tornarem prontos para a nuvem.
Você também pode empregar ferramentas de descoberta de dependência de aplicações para ajudá-lo a determinar a viabilidade de migrar uma carga de trabalho específica para fora do ambiente atual.
Avaliação do custo total de propriedade (TCO): Determinar o custo total de um projeto de migração para a nuvem pode ser uma tarefa complexa. Compare cenários hipotéticos para manter aplicações e infraestrutura locais com aqueles associados à migração para a nuvem. Calcule os custos de compra, operação e manutenção do hardware que você manteria no local em qualquer cenário e os custos de licenciamento de software.
Compare a fatura mensal que você receberia do seu provedor de nuvem em qualquer cenário e os custos da migração em si, inclusive os custos de teste da nova infraestrutura e treinamento de funcionários para usar o software atualizado. Não se esqueça de considerar os custos de manutenção de aplicações legadas que permanecem no local.
Avaliação geral de risco e duração do projeto: na fase final do planejamento da migração, estabeleça um cronograma para o projeto e identifique quaisquer riscos ou obstáculos que você provavelmente encontrará.
De modo geral, quanto mais antiga a aplicação, mais difícil (e consequentemente e provavelmente menos vale a pena) migrar para a nuvem. Software desatualizado é problemático de várias maneiras: a manutenção é cara, pode causar problemas de segurança se não estiver mais sendo corrigido e tende a ter desempenho ruim em ambientes de computação modernos. Seja especialmente minucioso com sua avaliação de aplicações legadas antes de decidir migrá-las.
Quando as organizações avaliam a viabilidade e prioridade da migração de uma aplicação, consideram as seguintes questões.
Complexidade: onde a aplicação foi desenvolvida? Se é interna, o desenvolvedor ainda trabalha na empresa? A documentação da aplicação está facilmente disponível? Qual é a idade da aplicação? Há quanto tempo está em uso? Quantas outras aplicações ou fluxos de trabalho em sua organização dependem dessa de alguma forma?
Criticidade: quantos usuários dependem dessa aplicação diariamente? E semanalmente? Quanto tempo de inatividade podem tolerar sem interromper operações comerciais? A aplicação é utilizada na produção, no desenvolvimento, nos testes ou nos três? É gerenciado por uma equipe interna de TI ou por um fornecedor externo? Há outras aplicações com requisitos de tempo de atividade/inatividade que devem ser sincronizados com os dessa aplicação?
Conformidade: quais requisitos regulatórios a aplicação deve cumprir?
Disponibilidade: que padrões de tempo de atividade essa aplicação deve atender? Por exemplo, está sujeita a um contrato de nível de serviço (SLA) que estipula um tempo de atividade de 99,99%?
Teste
Para garantir que nenhum dado nem recurso seja perdido durante o processo de migração de aplicações, faça testes durante a migração para verificar se todos os dados estão presentes, se a integridade dos dados foi mantida e se os dados estão agora no local de armazenamento correto.
Também é essencial fazer testes de acompanhamento após a conclusão da migração, comparando o desempenho da aplicação e garantindo que os controles de segurança permaneçam em vigor.
Virtualização é um componente fundamental em muitas estratégias de migração para a nuvem, pois as máquinas virtuais podem ser prontamente executadas em novos ambientes de hardware físico. É possível até mesmo migrar uma aplicação em tempo real, executada em Virtual Machines, entre máquinas servidoras físicas sem interromper a experiência do usuário. A flexibilidade e a versatilidade dos ambientes de computação virtualizados simplificam bastante o processo de migração de aplicações.
Várias soluções de replicação e migração disponíveis atualmente possibilitam que seus clientes migrem virtual machines entre bare metal servers, virtual servers na nuvem e até hipervisores.
Há muitos serviços disponíveis para ajudar sua empresa a criar estratégias, planejar e executar uma migração para a nuvem bem-sucedida.
Blueprint de migração: em uma oferta abrangente de serviços de blueprint, seu fornecedor ajuda você a esclarecer sua estratégia e os objetivos de migração, reunindo informações sobre suas aplicações e seu ambiente, identificando as necessidades dos seus usuários e os requisitos de negócios e elaborando um plano de ação detalhado para a migração.
Implementação da migração: se você escolher uma opção de implementação gerenciada, o fornecedor não apenas o ajudará a criar estratégias e planejar a migração, mas também gerenciará a própria migração, todos os testes e a resolução dos problemas associados. Normalmente, trata-se de uma oferta de serviço pronta para uso que inclui suporte completo e de ponta a ponta.
Serviços gerenciados em nuvem: normalmente, uma oferta de serviços de nuvem gerenciada inclui monitoramento e manutenção do seu ambiente de TI baseado na nuvem. Seu provedor de serviços de nuvem gerenciada assume a responsabilidade por várias funções, desde o gerenciamento da segurança da nuvem até a aquisição de ofertas como serviço de fornecedores em seu nome. A migração de aplicações pode estar incluída em um pacote de serviços ou adicionada conforme a necessidade do cliente.
Modernização de aplicações: os serviços de modernização de aplicações incluem ofertas de desenvolvimento personalizadas que podem preparar aplicações legadas para uso na nuvem, modificando-as para serem executadas em contêineres ou ambientes virtualizados.
Tenha acesso a insights essenciais sobre a migração para a nuvem com o relatório mais recente da IBM. Conheça os dez principais fatos que todo líder de tecnologia precisa saber.
Saiba mais sobre as principais diferenças entre infraestrutura como serviço (IaaS), plataforma como serviço (PaaS) e software como serviço (SaaS). Entenda como cada modelo de nuvem oferece diferentes níveis de controle, escalabilidade e gerenciamento para atender a diversas necessidades empresariais.
Conheça o processo de migração de aplicações entre plataformas ou ambientes e garanta o mínimo de interrupções e desempenho otimizado. Conheça estratégias, casos de uso e estágios da migração de aplicações legadas e modernas.
Saiba como fazer a transição rápida das suas aplicações para a nuvem sem ter que promover alterações, mantendo a infraestrutura atual e extraindo benefícios da nuvem. Explore as vantagens, as cargas de trabalho de VMware e os casos de uso que tornam essa abordagem a escolha de muitas empresas.
Automatize o provisionamento de rede e a orquestração na nuvem para simplificar a migração, aumentar a agilidade e garantir operações sem dificuldades.
O IBM® Instana Observability automatiza a descoberta, o monitoramento, o rastreamento e a análise da causa raiz dos ambientes de microsserviços.
O IBM Turbonomic é um software de gerenciamento de recursos de aplicações que utiliza a IA para otimizar o desempenho, o custo e a conformidade em ambientes multinuvem. Está disponível como SaaS ou para auto-hospedagem.