The Client
Our client specializes in providing various software solutions to improve access to healthcare and enhance the efficiency of healthcare systems. Their offerings include the application module for surgical eBooking, OR utilization, and other platforms. Collectively, these platforms work towards streamlining healthcare processes, managing waitlists effectively, and facilitating better coordination across different healthcare departments.
The Challenge
The client set out on a mission to improve overall performance and enable better resource monitoring of their core application. Their traditional approach meant customers had deployments within Dedicated Virtual Machines (VMs) and databases. The application was hosted in Azure using an Infrastructure as a Service (IaaS) approach, lacking in availability, scalability, and flexible feature sets.
As a component of the restructuring efforts, the client wanted to shift the workloads to a Kubernetes-based deployment approach and to utilize managed database services, moving from an Infrastructure-as-a-Service (IaaS) model to a Platform-as-a-Service (PaaS) framework.
The client identified three main objectives for the project:
- To create a robust and secure Azure environment to migrate the operations to.
- To control and monitor the migrated application performance.
- To support a multi-cloud strategy.
The Solution
When our client started to search for a partner to modernize their application architecture, Optimus came highly recommended by Microsoft and was immediately on the shortlist. Following initial proposal discussions, it became clear to them that Optimus had significant experience implementing similar solutions, and they chose to work with Optimus.
The client already had production loads running in Azure, so it was an obvious, if not natural, decision to proceed with the migration from IaaS to Azure Kubernetes Services (AKS). Not only were they happy with the overall application performance in Azure, but the networking and permissions schema were already implemented, so no administrative overhead was required. Switching from a deployment from IaaS to AKS (Azure Kubernetes Service) would provide several advantages, including:
Scalability: Kubernetes automatically scales applications based on demand, which means you can easily scale up or down based on traffic patterns. This helps to optimize resource utilization and reduce costs.
High availability: Kubernetes offers built-in features like replication and self-healing, which can help ensure the high availability of applications.
Flexibility: Kubernetes allows you to deploy and manage containerized applications across different environments, including on-premises and cloud-based infrastructures.
Portability: With Kubernetes, you can easily move your applications across different cloud provider environments without modifying your code.
Simplified management: Kubernetes simplifies the management of containerized applications by providing a centralized deployment, scaling, and monitoring platform.
Reduced operational overhead: By using Kubernetes, you can reduce the operational overhead associated with managing virtual machines, operating systems, and other infrastructure components.
The steps for planning and executing the application architecture changes included the following:
- Optimus conducted a full assessment and discovery of the active environments (Development and Production).
- Optimus conducted Cloud Adoption Framework and Cloud Solution Design workshops. The result of the latter provided the necessary inputs to deliver the Cloud Solution Design document.
- Optimus and the client then jointly designed and planned the migration waves for proof of concept (POC) with eleven customers.
- During the migration process, Optimus created approximately 25 migration pipelines and moved 30 databases.
Finally, Optimus created and submitted a PR (Pull Request) for each customer and environment to cover the Resource Groups deployments and Databases.
The Results
By migrating the client’s core application from IaaS to PaaS using AKS, they achieved a blend of unified infrastructure and segmented environments for each of their customers.
The AKS-integrated tools and features delivered robust capabilities for monitoring and optimizing application performance. Now, the client can monitor performance in real-time and get insights into the health and performance of the application deployed on the platform.
The client’s adoption of the pay-as-you-go model through AKS marked a significant leap in scalability and resource optimization, seamlessly adjusting resources based on fluctuating workflows and customer demands.
Finally, by leveraging the flexibility and scalability of AKS, the client has implemented a dynamic pricing model based on the number of users and resources consumed by each customer.
Contact Optimus to learn how we can help you leverage cloud services.