AWS Partner Network (APN) Blog
Migrating Bioinformatics Applications to SaaS using Amazon AppStream and Sigma Technology
By Jimmy Dahlqvist, APN Ambassador, Sr. Solutions Architect – Sigma Technology Cloud
By Leszek Ucinski, Cloud Engineer – Sigma Technology Cloud
By Bill Tarr, Principal Solutions Architect – AWS SaaS Factory
By Babak Parvizi, Sr. Partner Solutions Architect – AWS SaaS Factory
Sigma Technology |
For software providers with legacy applications, modernization to a Software-as-a-Service (SaaS) delivery model is an attractive proposition. For these providers, finding customers in new regions and industries, as well as gaining operational efficiency and agility, represents a significant opportunity. For their tenants, the opportunity to alleviate the burden of operating software, and paying only for what they consume, is equally desirable.
The challenge is that much of the legacy software that exists today is in the form of desktop applications that require months, or even years, of work to transition to SaaS. The burden to transition these applications in highly regulated industries like healthcare is even greater, where data privacy and compliance are not optional. Given these challenges, and market pressure from customers demanding software be delivered in a SaaS model, providers need tools that can accelerate their time to market.
In this blog, we’ll learn how Qlucore AB (Qlucore) worked with AWS Advanced Tier Partner Sigma Technology to leverage Amazon AppStream 2.0 (Appstream 2.0) in migrating their bioinformatics software for data analysis to a SaaS delivery model. We’ll see how Qlucore was able to migrate their application with limited code changes and have tenants using their application in just six months.
AppStream 2.0 for SaaS Migrations
AppStream 2.0 is an End-User Computing service used for streaming applications on-demand, with files and data persisted between user sessions. AppStream 2.0 creates a good foundational service for software providers that want to bring their desktop applications to a SaaS delivery model in the cloud. This approach offers a short time to market without the need for refactoring your application. AppStream 2.0 offers a good solution for multi-tenant setup and isolation.
Qlucore was facing challenges with their current delivery model of their desktop application used by customers around the world. Qlucore needed to deliver their application as a cloud-based SaaS solution for better reach and to meet their customers’ expectations of lower operational burden, scalability and usage-based pricing. Qlucore also needed to be able to offer a SaaS solution without significant refactoring of the application. Qlucore is a very cost aware organization, so the solution needed to be able to be auto-scaled and cost-effective.
During the assessment phase, led by Sigma Technology Cloud, the possibility of using the AppStream 2.0 service was investigated. Cloud Architect from Sigma Technology Cloud designed and created a high-level architecture, capturing the company’s need for a multi-region setup. Total Cost of Ownership (TCO) was calculated using the created architecture to give the company understanding of migration and running cost.
A migration plan was presented with different development phases to give the company understanding of the development effort, project timeframe and time to market. AppStream 2.0 was determined to be a low-risk and straight forward migration path, allowing resources to be optimized, meeting the requirements on cost and time to market. Prior to this addition of a SaaS-based cloud solution on AWS, the company only had a perpetual license model, where their customers downloaded and installed the application on their local computers.
AppStream 2.0 also lets the customer get insights into the business case when moving to a SaaS delivery model. Evolving the business from a perpetual license model to a SaaS delivery model, with a wide variety of pricing – feature-based, compute sizes, pay per user, and other models, can be one of the major challenges for companies taking the first steps towards the Cloud and SaaS-based delivery.
Solution Overview
An AppStream 2.0 fleet is deployed across three availability zones in a multi-region, multi-AZ setup, with Home Folders enabled for data persistence between sessions. These folders, backed by Amazon S3 (S3), allow customers to bring and load their own research data. For efficiency, customers can upload through the AppStream 2.0 session (either web client or full Windows Client), and the Home Folder contents in the user’s AppStream 2.0 session will synchronize with a unique location in S3.
The solution ensures continuous operation of several AppStream 2.0 instances, using built-in auto-scaling to adjust to customer activity by adding or removing instances as needed.
Figure 1 – Overview of AppStream 2.0 architecture.
To be able to efficiently manage customers in the new SaaS-based solution, the company’s existing CRM system was integrated with Auth0 by Okta as a new external SAML 2.0 Identity Provider (IdP).
To seamlessly support different operating systems and not require any additional installation, AppStream 2.0 Web Access Client was used. This solution also enables a user experience where the streaming session can be served under the company’s custom domain. This is accomplished by generating an AppStream 2.0 Streaming URL that is used to start an Embedded AppStream 2.0 streaming session.
Customers navigate to the company’s application portal, where they authenticate against Auth0 by Okta. Calls to the CRM system determine if the customer had a standard or premium subscription. Streaming URLs are created by an authorized call to an Amazon API Gateway with an AWS Lambda (Lambda) function integration. The Lambda function uses the AppStream 2.0 API to create a Streaming URL that could be embedded and started directly from the company’s application portal.
Streaming Image creation process
The migration to AppStream 2.0 starts with building AppStream 2.0 images.
Figure 2 – Identity architecture using OKTA.
The company’s application is built for Windows and iOS operating systems and utilizes OpenGL. In the described solution, the underlying AppStream 2.0 image is of type Windows Server 2019 and optimized for AppStream 2.0 Graphics Design instances. The application is capable of rapidly and easily visualizing data in real time, the Graphics Design instance was chosen as a Standard Tier subscription (read about tenant tiers in the SaaS Lens for the Well Architected Framework). To match the higher performance requirements of the users’ application allowing for a shorter job runtime, an additional Premium Tier was backed by instances with more CPU and memory.
The process of preparing images was done manually. Since the application doesn’t receive many updates, images were created in the AppStream 2.0 console using AppStream 2.0 Image Builder. The application itself was installed from source on the Windows image, with some additional configuration, such as specifying the Home Folder as a target for application results.
Managing files in the Home Folder
The AppStream 2.0 service creates all the necessary functionality to provide persistent storage of users’ data. The Home Folder is backed by an S3 Bucket, created and managed by the AppStream 2.0 service. Each AppStream 2.0 user has a hashed user ID prefixed folder in the S3 bucket that is attached to the AppStream 2.0 service at startup. It’s important to configure all applications to use the correct path (D:\PhotonUser\My Files\Home Folder) of that attached folder to ensure the files are persisted.
The file manager functionality allows users to modify and download their data by identifying the correct ‘folder’ in the S3 bucket (named with this pattern: appstream2-36fb080bb8-${AWS::Region}-${AWS::AccountId}). For example, a user with an ID (from the customer’s CRM) of: 123abcd would be hashed to: asd87guiads. That hashed value will become the user’s ‘folder’ name. So, whenever logged-in users make requests, the corresponding Lambda function will return a Presigned URL for a specific path, i.e., appstream2-36fb080bb8-eu-west-1-12345678910/asd87guiads/.
Figure 3 – Using S3 presigned URLs and extracting metadata.
In the described solution, the AppStream 2.0 sessions were displayed to users in a Stream View of type App (as opposed to Desktop type, which gives users the full Windows experience) – which means the built-in AppStream 2.0 toolbar was available to users. That toolbar allows, among other things, uploading and downloading files, but this functionality can be disabled by a setting in the AppStream 2.0 stack configuration.
The uploading and downloading functionality was moved to the external, web-client-based site of the hosting website. The upsides of that choice are that the uploads are faster and can be done from outside AppStream 2.0, without having an ongoing AppStream 2.0 session. On the other hand, the uploads and changes made on files in the custom file manager while having an ongoing session wouldn’t be synced until a new session was started.
Conclusion
By adopting AppStream 2.0, the application was successfully transitioned to a SaaS delivery model in under six months.
In contrast, refactoring the application into containers or similar technologies for cloud deployment could have extended over several years. This strategic choice of using AppStream 2.0 significantly shortened the time to market, enabling the company to experiment with and refine their SaaS-based business model efficiently.
If you’d like to know more about using AppStream 2.0 for a SaaS migration, please contact Sigma Technology Cloud, and check out the AppStream 2.0 guide – Software vendors: Deliver your applications to any user device.
About Qlucore AB
Qlucore is a leading provider of new generation, intuitive bioinformatics software for research and precision and companion diagnostics. Qlucore’s mission is to make it easier to analyze the huge amounts of complex data generated by innovations in the fields of genomics and proteomics by providing powerful visualization-based bioinformatics data analysis tools for research and precision diagnostics. Qlucore Omics Explorer software is an easy-to-use bioinformatics software for research in the life science, plant and biotech industries, as well as in academia. Qlucore Diagnostics and Qlucore Insights are software platforms with built-in AI-based machine learning for multi-omics companion and precision diagnostics. Qlucore was founded in 2007 in Lund, Sweden and has customers in about 25 countries around the world, with sales offices in Europe and North America, and distribution in several countries in Asia. Qlucore is listed on the Nasdaq First North Growth market.
Sigma Technology Cloud – Partner Spotlight
Sigma Technology Cloud is a cloud services provider founded in 2021, offering cloud solutions and consulting services to organizations of all sizes across the Nordic region. The company leverages its industry expertise and cutting-edge technology to deliver exceptional cloud services tailored to the needs of its clients.