The client is a healthcare technology company providing cloud-based platforms for pharmacy benefit management and advanced data analytics. Its modular solutions enable streamlined claims processing and deliver real-time insights for better decision-making. The company serves pharmacy benefit administrators, health plans, and health systems, while also powering a consumer savings platform that helps users access affordable prescription medications.
500+
EMPLOYEES
United States
LOCATION
Healthcare
INDUSTRY
02
The Business Challenge
The client’s data infrastructure had grown organically over years, resulting in challenges across multiple layers. Databases were fragmented across self-managed EC2 instances and managed RDS clusters on AWS, leading to over-provisioning and high operational costs. The job orchestration system on GCP was running end-of-life Airflow software with manual configurations that created maintenance risk. And a legacy .NET monolithic application for processing member data couldn’t scale to handle increasing data volumes. Each layer had accumulated technical debt, and the interconnected nature of these systems meant that addressing them required a coordinated approach.
03
Ciklum's Approach: Coordinated Data Platform Transformation
Rather than addressing each infrastructure challenge in isolation, Ciklum executed a coordinated modernization program across all three layers: databases, job orchestration, and data pipelines. The approach prioritized low-risk migration strategies, data-driven decision making, and zero disruption to the critical services that the client’s customers depend on daily. Each workstream followed a similar pattern: audit, optimize, migrate, and validate.
The database environment had sprawled across self-managed EC2 instances and managed RDS clusters, leading to over-provisioning and high operational costs. We executed a systematic audit, deployed Percona Monitoring and Management across all instances, and observed performance for one month to make data-driven sizing decisions. We tuned performance by fixing missing indexes and memory allocation issues, then consolidated the entire fleet into three optimized RDS clusters using AWS Graviton instances. The migration was achieved through DNS pointer changes, completely transparent to applications with zero code changes required.
The job orchestration system running on Airflow 1.x within GCP Cloud Composer had reached end-of-life, creating security and operational risks. The environment had been configured manually, making maintenance risky and updates difficult. We built parallel Airflow 2.x environments as code, developed a comprehensive DAG test suite to validate all job types and custom operators, and migrated pipelines in controlled batches. The entire infrastructure was transitioned to Infrastructure as Code using Terraform, eliminating technical debt and enabling repeatable deployments and centralized management.
The legacy .NET monolithic application for processing member data couldn't scale to handle massive CSV files. We designed and built a new Apache Spark pipeline on Amazon EMR that leverages distributed processing across a cluster. The solution uses a staging database pattern to protect production systems from write load spikes, handles both large batch files and high-volume micro-batches, and provides automated reporting via email and Slack. The architecture was designed for horizontal scalability, allowing the client to increase processing capacity by scaling the EMR cluster rather than rewriting code.
AWS: RDS, EMR, EC2, S3, CloudWatch, Route 53
GCP: Cloud Composer, BigQuery, Cloud Build
Data Processing: Apache Spark, Airflow 2.x, MySQL, MSSQL
Infrastructure as Code: Terraform, YAML, Jinja
Monitoring: Percona PMM, CloudWatch
Data-Driven Decisions: Every sizing and consolidation decision was based on observed performance data, not estimates.
Parallel Environments: New environments were built alongside existing ones, enabling testing without production risk.
Phased Migration: Workloads were migrated in controlled batches with extended monitoring.
Transparent Cutover: Where possible, migrations used DNS changes rather than application code changes.
Zero Downtime: All migrations were executed without service interruption.
04
The Results
$ 0K
Monthly Cost Reduction
All environments managed as code for repeatability and maintainability