THE PROBLEM
Wolters Kluwer’s Health Care Division provides a flagship product, Ovid, that professionals, researchers, students, and information managers in the scientific and healthcare communities rely on for the information they need to explore new theories, fuel new discoveries, and improve patient care. The Ovid product supports researchers from around the world with over 17 terabytes of the latest medical research data and generating over a quarter of a billion dollars in revenue for Wolters Kluwer annually.
The Ovid application was initially built in C/C++ language and deployed on Solaris servers. As the technology evolved the client added and integrated additional capabilities in Java, PERL and .NET to meet their growing worldwide customer needs. The application was later deployed to multiple global data centers to meet worldwide customer demand.
The goals of the project were move the application to a more supportable platform, improve application performance by moving to a Cloud hosted infrastructure, and reduce complexity around supporting multiple versions of software. We started by conducting an analysis to understand the application architecture and create a plan to migrate the application to a scalable modern public cloud platform.
The Ovid modernization and re-platform effort migrated over 3.5 million lines of code from an on-premise Solaris servers to Red Hat Linux on Amazon Web Services (AWS). To accomplish this we created custom tools to migrate the code and data to Linux environment. Then migrated and the applications to the cloud and tested them with both manual and automated tests. This work included:
- Cloud platform recommendation - Evaluate and compare the cost, extensibility, risks, design choices of the leading cloud service providers, AWS and Azure.
- Migration and modernization of legacy on-premise product to Amazon Web Services
- Design of a cloud agnostic migration path – Development on Azure, Production in AWS
- Implementation of full DevOps automation for the application and cloud infrastructure using Jenkins and Chef
- Load and failover testing to ensure smooth operations at cutover
The Solution
- Increased the application performance by ~30% in terms of response times and throughput
- Implementation of a future ready and scalable cloud platform
- Application modernization using the latest technologies to scale and maintain the application going for years to come