Movendo um aplicativo legado para a nuvem
A transição de um aplicativo Windows® legado para um modelo de software como serviço (SaaS) envolve várias etapas para garantir um processo de migração tranquilo e um resultado que retenha os clientes existentes e atraia novos clientes. Embora as especificidades desse processo dependam das características e dos requisitos exclusivos do seu aplicativo, esta postagem descreverá, em linhas gerais, as etapas necessárias para obter êxito.
Avaliação e planejamento
Motorista de transição
O que está impulsionando a mudança para SaaS? Seus principais concorrentes estão usando um modelo de SaaS? Você perdeu clientes para produtos de SaaS? Seus clientes estão solicitando a mudança? Você planeja expandir-se para novas regiões ou mercados em que a modificação do seu aplicativo para SaaS aumentará suas chances de sucesso? Você está tendo problemas técnicos que poderiam ser resolvidos com um modelo de SaaS? Compreender os fatores que impulsionam a mudança o ajudará a manter o foco no resultado desejado durante o planejamento, a execução e a otimização e o suporte pós-migração.
Realizar uma análise SWOT (pontos fortes, pontos fracos, oportunidades e ameaças)
Teoricamente, a TI deve ser capaz de fazer a transição do aplicativo para SaaS a partir de uma perspectiva técnica, mas será que o projeto faz sentido para a empresa? Inclua a representação de grupos fora da TI, incluindo vendas, suporte, marketing e finanças. O envolvimento de grupos de toda a organização evitará que a análise SWOT se concentre apenas em considerações técnicas e impulsionará a mudança cultural corporativa que precisa ocorrer para realmente apoiar a transição.
Realizar um inventário de aplicativos
Identifique e documente todos os componentes de seu aplicativo legado, incluindo bancos de dados, servidores, dependências, APIs e configurações. Compreender exatamente o que precisa ser movido ou atualizado o ajudará a avaliar com mais precisão o tempo, o orçamento e a especialização necessários para concluir o projeto.
Determinar o modelo de implantação
Que modelo você deseja adotar para o aplicativo com SaaS? Supondo que o aplicativo seja atualmente fornecido aos usuários a partir do data center corporativo (ou seja, uma nuvem privada), qual modelo fará mais sentido para o aplicativo, a empresa e os clientes - um modelo público, híbrido ou de várias nuvens? (OBSERVAÇÃO: para saber mais sobre os modelos de implantação em nuvem, consulte a postagem Opções de hospedagem do Windows ISV ).
Avalie as opções de nuvem pública
Qual plataforma de nuvem atende melhor às suas necessidades de aplicativos, negócios, econômicas, de segurança, de conformidade e de clientes? As principais plataformas de nuvem incluem Amazon® Web Services (AWS), Microsoft® Azure®, Google Cloud™ e Oracle® Cloud Infrastructure.
Avalie o conjunto de habilidades e a disponibilidade da equipe de TI existente
Os membros da sua equipe têm o conhecimento e a largura de banda necessários para planejar, gerenciar e executar a transição técnica por conta própria? É possível treinar a equipe existente? Quanto tempo e orçamento esse treinamento adiciona ao projeto? Você planeja contratar funcionários para preencher as lacunas de experiência ou precisa contratar uma ou mais empresas de consultoria? Após a mudança, sua equipe atual tem o conhecimento e a largura de banda para gerenciar o aplicativo no novo local ou você deseja contratar um provedor de serviços gerenciados (MSP)?
Análise de custo e tempo
Faça uma estimativa dos possíveis custos e do investimento de tempo para mover e executar seu aplicativo na nuvem, incluindo pessoal da empresa, serviços externos, compatibilidade do aplicativo com a nuvem, refatoração e rearquitetura de aplicativos, atualizações de API, transferência de dados, custos de computação de armazenamento, consultoria e ferramentas para garantir a segurança e monitorar o desempenho do aplicativo. Além disso, qual solução você planeja usar para fornecer seu aplicativo Windows aos clientes do provedor de nuvem escolhido e como essa escolha afeta o cronograma e o orçamento?
Avalie as possíveis plataformas de nuvem
As principais plataformas de nuvem oferecem versões gratuitas de seus serviços a clientes em potencial para avaliação e teste, desde que você se mantenha dentro de determinados parâmetros de uso. Se você estiver trabalhando com um MSP, ele poderá ter acesso a ambientes de teste mais extensos do que os fornecidos gratuitamente. E, se o seu aplicativo estiver sujeito à conformidade regulamentar ou de mercado, você desejará testar os recursos de segurança e conformidade oferecidos por cada plataforma de nuvem.
Avalie as soluções de fornecimento de aplicativos
Como você fornecerá acesso do cliente ao seu aplicativo Windows? Você vai publicá-lo ou virtualizá-lo? Quais soluções funcionarão com sua escolha de plataforma de nuvem? Seus clientes utilizam uma grande variedade de dispositivos para acessar e usar seu aplicativo? Seus clientes esperam logins fáceis e baixa latência, mesmo em redes de baixa largura de banda? Você precisa de recursos de controle de acesso e autenticação, como MFA e SSO? Deseja preços simples e econômicos? A GO-Global publica com segurança aplicativos Windows de qualquer nuvem para usuários localizados em qualquer lugar e usando qualquer dispositivo, funciona em qualquer serviço de nuvem e proporciona uma excelente experiência ao cliente, mesmo em redes de baixa largura de banda. É uma opção fácil de fornecimento de aplicativos que reduzirá a complexidade da migração.
Refatoração de aplicativos
Verifique a compatibilidade com a nova plataforma
Analise o código e as dependências do aplicativo para identificar quaisquer componentes que possam precisar ser atualizados ou modificados para funcionar em um ambiente de nuvem. Dependendo da sua avaliação, talvez seja necessário rearquitetar partes do aplicativo para aproveitar ao máximo os recursos nativos da nuvem, como escalabilidade, dimensionamento automático e computação sem servidor.
Gerenciamento de dependências
Atualize e gerencie as dependências de aplicativos para garantir que sejam compatíveis com a plataforma de nuvem e não causem problemas durante a implementação.
Banco de dados de aplicativos
Se o seu aplicativo usa um banco de dados, avalie se deve migrar para um serviço de banco de dados na nuvem ou garantir que o seu banco de dados local possa ser acessado com segurança a partir da nuvem.
Escalabilidade do aplicativo
Se necessário, modifique seu aplicativo para que ele possa ser dimensionado horizontalmente para lidar com o aumento da carga usando recursos de dimensionamento nativos da nuvem e balanceadores de carga.
Contenção de custos
Você pode modificar seu aplicativo para usar os recursos de computação de forma mais eficiente para economizar nos custos da nuvem? Por exemplo, você pode maximizar a eficiência do gerenciamento de memória do seu aplicativo, liberar recursos que não são mais necessários e otimizar a capacidade de resposta da interface do usuário e as dependências externas? Essas melhorias serão significativas o suficiente para fazer uma diferença significativa em seus custos de nuvem?
Documentar tudo
Mantenha uma documentação abrangente sobre refatoração de aplicativos que inclua diagramas de arquitetura, detalhes de configuração e procedimentos de implantação para seu aplicativo Windows pronto para a nuvem.
Migração de dados e implantação de aplicativos
Configure seu ambiente de nuvem
Trabalhando com seu MSP ou provedor de nuvem, provisione sua infraestrutura. Configure a rede, o armazenamento, os servidores, o balanceamento de carga e quaisquer outros serviços necessários. Implemente funções de controle de acesso e gerenciamento de identidade.
Teste, teste, teste
Teste exaustivamente seu aplicativo no ambiente de nuvem escolhido para garantir que ele funcione conforme o esperado e possa lidar com as cargas esperadas. Preste atenção à compatibilidade e ao desempenho. Realize testes de carga para determinar o desempenho do seu aplicativo sob vários níveis de estresse e carga para ajudá-lo a ajustar as configurações de escalabilidade. Determine a estratégia para aumentar ou diminuir o dimensionamento de seu aplicativo e teste-a também. Por fim, garanta que seu aplicativo e sua infraestrutura de nuvem sejam os mais seguros possíveis, realizando testes de penetração, testes de vulnerabilidade, testes de segurança de software, testes de segurança de dados etc.
Desenvolver recursos de treinamento e integração de clientes
Crie recursos de treinamento e integração para preparar os clientes existentes para a transição para o aplicativo em nuvem. Isso pode incluir documentação por escrito, webinars ou sessões de treinamento presenciais para clientes maiores. Ofereça treinamento em uma variedade de mídias para que os clientes possam se envolver com o tipo mais atraente para eles. Crie novos materiais e processos de integração do cliente para o novo aplicativo em paralelo com o desenvolvimento do treinamento do cliente existente.
Planeje a implementação do aplicativo.
Determine como você deseja implementar seu aplicativo para os clientes existentes, por exemplo:
- Implementação canário/implementação gradual: inicialmente, libere o aplicativo em nuvem para um pequeno grupo de clientes confiáveis ou para uma região geográfica limitada. Se o aplicativo tiver um bom desempenho sem problemas críticos, expanda gradualmente sua disponibilidade para um subconjunto de clientes existentes para que você possa monitorar o desempenho do aplicativo e o feedback do usuário antes de uma implementação em grande escala.
- Implementação em fases: Divida sua base de clientes em segmentos (por exemplo, região, nível de experiência com o aplicativo, número de anos como cliente). Implante o aplicativo em um grupo de cada vez, garantindo que todos os problemas sejam identificados e resolvidos antes de passar para o próximo grupo.
- Opção do cliente: permitir que os clientes existentes optem ou solicitem acesso ao novo aplicativo em nuvem. Essa abordagem dá aos clientes o controle sobre a migração para o novo sistema. Forneça um prazo generoso para que os clientes migrem para o novo aplicativo, mas esteja preparado para impor um prazo rígido para os clientes que estiverem se arrastando.
- Novos clientes: determine uma data em que os novos clientes serão automaticamente integrados ao aplicativo em nuvem.
- Faça parceria com a sua equipe de helpdesk: Peça à sua equipe de helpdesk uma opinião sobre o plano de implementação antes de informar os clientes, pois eles podem ter insights úteis sobre as expectativas e o comportamento dos clientes que melhorarão a execução da implementação e o sucesso do cliente. E, é claro, forneça a eles o cronograma final da implementação para que possam estar preparados para ajudar os clientes que tiverem problemas com o aplicativo em nuvem.
Comunique-se com os clientes com antecedência e frequência
Informe os clientes sobre o lançamento do aplicativo em nuvem com 3 a 4 meses de antecedência. O anúncio deve abranger as alterações no aplicativo, o cronograma de implementação e as ações esperadas dos clientes. Se estiver usando uma abordagem de implementação gradual ou em fases, alinhe os anúncios e as informações com o cronograma de cada segmento de clientes. Forneça um ciclo de feedback aos clientes para evitar que a equipe de helpdesk fique sobrecarregada e para resolver os problemas antes que eles aumentem.
Backup e recuperação de dados
O backup dos dados de seu aplicativo deve ser feito com segurança antes da migração. Crie um plano de backup e recuperação de desastres usando seus novos serviços de nuvem. Certifique-se de que seus dados tenham backups regulares e possam ser restaurados rapidamente em caso de falha, e programe testes regulares de procedimentos de backup e recuperação de dados.
Transferência de dados para a nuvem
Mova os dados do seu aplicativo para a nuvem usando ferramentas e serviços adequados. Isso pode envolver o uso de ferramentas de migração de banco de dados, serviços de armazenamento ou dispositivos de transferência de dados. A maioria dos provedores de nuvem oferece serviços de banco de dados que simplificam esse processo.
Executar a implementação enquanto mantém o sistema antigo em paralelo
Execute o sistema antigo em paralelo com o aplicativo em nuvem durante o período de transição. Isso permite que os usuários retornem se surgirem problemas e fornece uma rede de segurança durante a migração.
Pós-implantação
Registro e monitoramento
Implemente soluções e práticas abrangentes de registro e monitoramento, usando ferramentas nativas da nuvem ou serviços de terceiros. Isso ajuda a obter visibilidade do desempenho dos aplicativos e permite que você faça o melhor uso dos seus novos recursos de nuvem.
Auditoria de conformidade e segurança
Audite regularmente e garanta a conformidade com as políticas de segurança e governança e faça os ajustes necessários, conforme necessário.
Gerenciamento de custos
Monitore e gerencie os custos otimizando a utilização dos recursos e usando as ferramentas de gerenciamento de custos da nuvem fornecidas pela plataforma de nuvem escolhida e/ou pelo seu MSP.
Escalabilidade e planejamento de crescimento
Planeje o crescimento e o dimensionamento futuros, considerando possíveis mudanças na demanda dos usuários e nos requisitos dos aplicativos.
Conclusão
Um planejamento cuidadoso e minucioso é fundamental para mover com sucesso seu aplicativo Windows legado para a nuvem. Considere a possibilidade de trabalhar com especialistas ou consultores em migração para a nuvem, se necessário, para garantir uma transição bem-sucedida.
Uma maneira de aliviar sua carga de trabalho é escolher a GO-Global como sua ferramenta de entrega de aplicativos. Como a GO-Global trabalha com qualquer infraestrutura de nuvem, você pode escolher o serviço de nuvem que funciona melhor para você sem se preocupar com a forma como vai entregar seu aplicativo.
Para saber mais:
- Leia os estudos de caso dos clientes da GO-Global aqui;
- Solicite uma demonstração aqui;
- Ou faça o download de uma avaliação gratuita de 30 dias.