O blog da AWS
Migrando Aplicações de Bioinformática para SaaS usando HAQM AppStream e Sigma Technology
Migrando Aplicações de Bioinformática para SaaS usando HAQM AppStream e Sigma Technology
Por Jimmy Dahlqvist, APN Ambassador, Sr. Solutions Architect – Sigma Technology Cloud; Leszek Ucinski, Cloud Engineer – Sigma Technology Cloud Bill Tarr, Principal Solutions Architect – AWS SaaS Factory e Babak Parvizi, Sr. Partner Solutions Architect – AWS SaaS Factory.
Para fornecedores de software com aplicações legadas, a modernização para um modelo de entrega de software como serviço (SaaS) é uma proposta atraente. Para esses fornecedores, encontrar clientes em novas regiões e setores, bem como ganhar eficiência operacional e agilidade, representa uma oportunidade significativa. Para seus tenants, a oportunidade de aliviar o fardo de operar o software e pagar apenas pelo que consomem é igualmente desejável.
O desafio é que grande parte do software antigo que existe atualmente está na forma de aplicações desktop que exigem meses ou até anos de trabalho para fazer a transição para o SaaS. O fardo de fazer a transição dessas aplicações em setores altamente regulamentados como saúde é ainda maior, onde a privacidade e a conformidade dos dados não são opcionais. Diante desses desafios e da pressão do mercado de clientes que exigem que o software seja fornecido em um modelo SaaS, os fornecedores precisam de ferramentas que possam acelerar seu tempo de entrada no mercado.
Neste blog, aprenderemos como a Qlucore AB (Qlucore) trabalhou com a Sigma Technology, parceira de nível avançado da AWS, para aproveitar o HAQM AppStream 2.0 (AppStream 2.0) na migração de seu software de bioinformática para análise de dados para um modelo de entrega SaaS. Veremos como a Qlucore conseguiu migrar sua aplicação com alterações de código limitadas e fez com que os clientes usassem sua aplicação em apenas seis meses.
AppStream 2.0 para migrações de SaaS
O AppStream 2.0 é um serviço de computação para o usuário final usado para aplicações de streaming sob demanda, com arquivos e dados persistindo entre as sessões do usuário. O AppStream 2.0 cria um bom serviço fundacional para fornecedores de software que desejam levar suas aplicações desktop para um modelo de entrega SaaS na nuvem. Essa abordagem oferece um curto período de lançamento no mercado sem a necessidade de refatorar sua aplicação. O AppStream 2.0 oferece uma boa solução para configuração e isolamento multi-tenant.
A Qlucore estava enfrentando desafios com o modelo atual de entrega de sua aplicação desktop usado por clientes em todo o mundo. A Qlucore precisava fornecer sua aplicação como uma solução SaaS baseada em nuvem para melhorar o alcance e atender as expectativas de seus clientes de menor fardo operacional, escalabilidade e preços baseados no uso. A Qlucore também precisava ser capaz de oferecer uma solução SaaS sem uma refatoração significativa da aplicação. A Qlucore é uma organização muito consciente dos custos, então a solução precisava ser escalável automaticamente e econômica.
Durante a fase de avaliação, liderada pela Sigma Technology Cloud, foi investigada a possibilidade de usar o serviço AppStream 2.0. O arquiteto de nuvem da Sigma Technology Cloud projetou e criou uma arquitetura de alto nível, capturando a necessidade da empresa de uma configuração multirregional. O Custo Total de Propriedade (TCO) foi calculado usando a arquitetura criada para dar à empresa uma compreensão do custo da migração e da operação.
Foi apresentado um plano de migração com diferentes fases de desenvolvimento para dar à empresa uma compreensão do esforço de desenvolvimento, do cronograma do projeto e do tempo de lançamento no mercado. O AppStream 2.0 foi selecionado como um caminho de migração simples e de baixo risco, permitindo que os recursos fossem otimizados, atendendo aos requisitos de custo e tempo de lançamento no mercado. Antes dessa adição de uma solução de nuvem baseada em SaaS na AWS, a empresa tinha apenas um modelo de licença perpétua, em que seus clientes baixavam e instalavam a aplicação em seus computadores locais.
O AppStream 2.0 também permite que o cliente obtenha insights sobre o caso de negócios ao migrar para um modelo de entrega SaaS. Evoluir a empresa de um modelo de licença perpétua para um modelo de entrega SaaS, com uma ampla variedade de preços — baseados em funcionalidades, capacidades de computação, pagamento por usuário e outros modelos — pode ser um dos principais desafios das empresas que estão dando os primeiros passos em direção à entrega baseada em nuvem e SaaS.
Visão geral da solução
Uma frota do AppStream 2.0 é implantada em três zonas de disponibilidade em uma configuração multi-região e multi-AZ, com pastas iniciais (Home Folders) habilitadas para a persistência de dados entre as sessões. Essas pastas, suportadas pelo HAQM S3 (S3), permitem que os clientes tragam e carreguem seus próprios dados de pesquisa. Para maior eficiência, os clientes podem fazer o upload por meio da sessão do AppStream 2.0 (cliente web ou cliente Windows completo), e o conteúdo da pasta inicial na sessão do AppStream 2.0 do usuário será sincronizado com um local único no S3.
A solução garante a operação contínua de várias instâncias do AppStream 2.0, usando o escalonamento automático integrado para se ajustar à atividade do cliente adicionando ou removendo instâncias conforme necessário.
Figura 1 — Visão geral da arquitetura AppStream 2.0.
Para poder gerenciar clientes com eficiência na nova solução baseada em SaaS, o sistema de CRM existente da empresa foi integrado ao Auth0 da Okta como um novo provedor de identidade (IdP) externo SAML 2.0.
Para suportar transparentemente diferentes sistemas operacionais e não exigir nenhuma instalação adicional, foi usado o AppStream 2.0 Web Access Client. Essa solução também permite uma experiência do usuário em que a sessão de streaming pode ser atendida sob o domínio personalizado da empresa. Isso é feito gerando uma URL de streaming do AppStream 2.0 que é usada para iniciar uma sessão de streaming do AppStream 2.0 incorporado.
Os clientes navegam até o portal de aplicações da empresa, onde se autenticam no Auth0 da Okta. As chamadas para o sistema de CRM determinam se o cliente tinha uma assinatura padrão ou premium. As URLs de streaming são criadas por uma chamada autorizada para um HAQM API Gateway com uma integração de função AWS Lambda (Lambda). A função Lambda usa a API AppStream 2.0 para criar uma URL de streaming que pode ser incorporada e iniciada diretamente do portal de aplicações da empresa.
Processo de criação de Imagens de Streaming
A migração para o AppStream 2.0 começa com a criação de imagens do AppStream 2.0.
Figura 2 — Arquitetura de identidade usando OKTA.
A aplicação da empresa foi desenvolvida para os sistemas operacionais Windows e iOS e utiliza o OpenGL. Na solução descrita, a imagem subjacente do AppStream 2.0 é do tipo Windows Server 2019 e otimizada para instâncias do AppStream 2.0 Graphics Design. A aplicação é capaz de visualizar dados de forma rápida e fácil em tempo real. A instância de Graphics Design foi escolhida como uma subscrição de Tier Standard (leia sobre os tiers de tenant no SaaS Lens for the Well Architected Framework). Para atender aos requisitos de maior desempenho da aplicação dos usuários, permitindo um menor tempo de execução do trabalho, um Tier Premium adicional é suportado por instâncias com mais CPU e memória.
O processo de preparação das imagens foi feito manualmente. Como a aplicação não recebe muitas atualizações, as imagens foram criadas no console do AppStream 2.0 usando o AppStream 2.0 Image Builder. A aplicação em si foi instalada a partir do código fonte na imagem do Windows, com algumas configurações adicionais, como especificar a Pasta Inicial como destino para os resultados da aplicação.
Gerenciando arquivos na Pasta Inicial
O serviço AppStream 2.0 cria toda a funcionalidade necessária para fornecer armazenamento persistente dos dados dos usuários. A Pasta Inicial é suportada por um bucket S3, criado e gerenciado pelo serviço AppStream 2.0. Cada usuário do AppStream 2.0 tem uma pasta com o prefixo com o hash de ID de usuário no bucket do S3 que é anexada ao serviço AppStream 2.0 na inicialização. É importante configurar todas as aplicações para usar o caminho correto (D:\PhotonUser\My Files\ Home Folder) dessa pasta anexada para garantir que os arquivos persistam.
A funcionalidade do gerenciador de arquivos permite que os usuários modifiquem e baixem seus dados identificando a ‘pasta’ correta no bucket do S3 (nomeada com esse padrão: appstream2-36fb080bb8-$ {AWS: :Region} -$ {AWS: :accountId}). Por exemplo, um usuário com um ID (do CRM do cliente) de: 123abcd seria criptografado para: asd87guiads. Esse valor com hash se tornará o nome da ‘pasta’ do usuário. Portanto, sempre que usuários conectados fizerem solicitações, a função Lambda correspondente retornará uma Presigned URL para um caminho específico, ou seja, appstream2-36fb080bb8-eu-west-1-12345678910/asd87guiads/.
Figura 3 — Usando URLs pré-assinadas do S3 e extraindo metadados.
Na solução descrita, as sessões do AppStream 2.0 foram exibidas aos usuários em um Stream View do tipo App (em vez do tipo Desktop, que oferece aos usuários a experiência completa do Windows) — o que significa que a barra de ferramentas integrada do AppStream 2.0 estava disponível para os usuários. Essa barra de ferramentas permite, entre outras coisas, carregar e baixar arquivos, mas essa funcionalidade pode ser desativada por meio de uma configuração na configuração da stack do AppStream 2.0.
A funcionalidade de carregar e baixar arquivos foi transferida para o site externo baseado no cliente web do site hospedeiro. A vantagem dessa escolha é que os uploads são mais rápidos e podem ser feitos de fora do AppStream 2.0, sem ter uma sessão ativa do AppStream 2.0. Por outro lado, os uploads e alterações feitos nos arquivos no gerenciador de arquivos personalizado durante uma sessão em andamento não seriam sincronizados até que uma nova sessão fosse iniciada.
Conclusão
Ao adotar o AppStream 2.0, a aplicação foi transferida com sucesso para um modelo de entrega SaaS em menos de seis meses.
Por outro lado, a refatoração da aplicação em containers ou tecnologias similares para implantação na nuvem poderia ter se estendido por vários anos. Essa escolha estratégica de usar o AppStream 2.0 reduziu significativamente o tempo de lançamento no mercado, permitindo que a empresa experimentasse e refinasse seu modelo de negócios baseado em SaaS com eficiência.
Se quiser saber mais sobre o uso do AppStream 2.0 para uma migração de SaaS, entre em contato com a Sigma Technology Cloud e confira o guia do AppStream 2.0 — Fornecedores de software: distribua seus aplicações para qualquer dispositivo de usuário.
Sobre a Qlucore AB
A Qlucore é fornecedora líder de software de bioinformática intuitivo de nova geração para pesquisa, precisão e diagnósticos complementares. A missão da Qlucore é facilitar a análise das enormes quantidades de dados complexos gerados por inovações nas áreas de genômica e proteômica, fornecendo poderosas ferramentas de análise de dados de bioinformática baseadas em visualização para pesquisas e diagnósticos de precisão. O software Qlucore Omics Explorer é um software de bioinformática fácil de usar para pesquisas nas indústrias de ciência da vida, plantas e biotecnologia, bem como na área acadêmica. Qlucore Diagnostics e Qlucore Insights são plataformas de software com aprendizado de máquina baseado em IA integrado para diagnósticos de precisão e complementares multiômicos. A Qlucore foi fundada em 2007 em Lund, Suécia e tem clientes em cerca de 25 países ao redor do mundo, com escritórios de vendas na Europa e América do Norte e distribuição em vários países da Ásia. A Qlucore está listada no mercado Nasdaq First North Growth.
Sigma Technology Cloud — Parceiro em destaque
A Sigma Technology Cloud é uma provedora de serviços em nuvem fundada em 2021, oferecendo soluções em nuvem e serviços de consultoria para organizações de todos os tamanhos na região nórdica. A empresa aproveita sua experiência no setor e tecnologia de ponta para oferecer serviços de nuvem excepcionais, adaptados às necessidades de seus clientes.
Entre em contato com a Sigma Technology | Visão geral do parceiro