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:
- A aplicação é desenvolvida em tecnologias legadas - ASP.NET Web Forms, numa aplicação monolítica; e
- 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
- Execução de uma Avaliação de Arquitetura, baseada na experiência da CloudMotion em projetos similares;
- Execução de uma Avaliação de Código, utilizando o UnifyCloud CloudPilot através do programa “Solution Assessment” da Microsoft.
Prova de Conceito
- 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.