Operadora de planos de saúde transforma sistema on-premises em SaaS

O problema

Com a chegada da pandemia de COVID-19, a demanda por serviços de telemedicina cresceu exponencialmente. Com isso, o cliente - um operador de planos de saúde - viu aumentar consideravelmente sua base de usuários e, com isso, a necessidade de uma infraestrutura que pudesse escalar de maneira eficiente.

Além disso, percebeu que um modelo multi-tenant - com suporte a diversos locatários - poderia no futuro permitir a exploração de novos modelos de prestação de serviços.

Entretanto, havia dois grandes desafios a superar:

  1. A aplicação é desenvolvida em tecnologias legadas - ASP.NET Web Forms, numa aplicação monolítica; e
  2. Tem forte acoplamento com um banco de dados Oracle on-premises.

Para avaliar a possibilidade - e a viabilidade técnico/financeira - de uma eventual migração da aplicação para o Microsoft Azure, o cliente procurou a CloudMotion.

A Solução CloudMotion

Para apoiar o cliente em seu estudo, a CloudMotion seguiu dois caminhos em paralelo:

Execução de uma Avaliação de Migração

  1. Execução de uma Avaliação de Arquitetura, baseada na experiência da CloudMotion em projetos similares;
  2. Execução de uma Avaliação de Código, utilizando o UnifyCloud CloudPilot através do programa “Solution Assessment” da Microsoft.

Prova de Conceito

  1. Execução de uma Prova de Conceito, para demonstrar a viabilidade de executar a aplicação no Azure App Service.

Para a prova de conceito, partimos da premissa que a aplicação deveria sofrer o mínimo possível de alterações, validando assim se o cliente poderia antecipar a migração para a nuvem e fazer os ajustes de maneira gradativa, sem a necessidade de um grande esforço inicial de migração.

Dessa forma, escolhemos utilizar o Azure App Service for Containers, aliado ao suporte de Windows Containers, para empacotar a aplicação com o driver de banco de dados do Oracle (o “Oracle Client”), que é um requisito da aplicação e que não é compatível com o modelo tradicional de implantação do Azure App Service. A opção pelo Azure App Service (apenas da aplicação estar rodando em container) deu-se porque o time do cliente está mais familiarizado com a solução, e assim não havia porque introduzir a complexidade associada a uma infraestrutura baseada em AKS.

Os benefícios obtidos

Com a execução (e o sucesso) da prova de conceito, o cliente percebeu que poderia ir para o Azure com a aplicaçãi as-is, já tirando proveito dos benefícios de escalabilidade e estabilidade que a nuvem oferece, e fazer os devidos ajustes de maneira incremental, de modo que a aplicação possa, aos poucos, se tornar cada vez mais eficiente e conseguir ao mesmo tempo ganhos de escala com redução de custos de infraestrutura.