Cloud Migration & Application Modernization for a Scientific Publisher
Migrating an acquired on-premise monolith to AWS microservices, re-architecting a data science module to absorb a costly Solr upgrade, and embedding with the operations team to drive adoption of an entirely new way of working.
2024
8 months
A Scientific Journal Publisher
The Challenge
A scientific publisher acquired an on-premise platform – a monolithic Java backend, jQuery frontend, and a data science module that operations teams used daily for precision and recall corrections. The v1 DS module was pure Java with zero external dependencies: it ran in under 2 minutes per user, fast enough for synchronous, UI-driven execution. But a planned v2 upgrade would bolt on Apache Solr for text-based feature extraction, ballooning runtime to 30+ minutes. Worse, the existing per-user session model meant each user would need a dedicated Solr workspace – prohibitively expensive at scale. The migration couldn't just lift-and-shift; it had to absorb v2's Solr dependency without inheriting its scalability problems.
Our Approach
- Broke the monolith into independently deployable microservices on AWS – workspace management, application logic, and DS pipeline each got their own service
- Replaced the jQuery frontend with React, giving the operations team a modern, component-based UI
- Designed a shared workspace model to sidestep the per-user Solr problem: one shared Solr workspace for collaborative editing, one for production – 2 instances instead of N
- Profiled and optimized the v2 DS module's Solr integration, cutting execution from 30+ minutes down to 15-20 minutes
- Wired up AWS Batch to run the DS module every 15-20 minutes on the shared workspace, decoupling execution from the UI and eliminating always-on compute costs
- Worked hands-on with the operations team to adopt the new shared workspace and async execution model – redesigning their daily workflows, not just the technology underneath
Architecture Transformation
The Process
Monolith Decomposition
Mapped service boundaries in the monolithic Java app and carved it into three microservices – workspace management, application services, and the DS pipeline – each independently deployable and scalable on AWS.
Frontend Modernization
Rebuilt the operations team's UI from jQuery to React, preserving all precision and recall workflows while unlocking modern state management and faster iteration.
Shared Workspace Architecture
The v1 DS module had no external dependencies, but v2 needed Solr. Migrating per-user sessions as-is would mean a Solr instance per user – cost-prohibitive. We introduced two shared workspaces instead: one where ops teams collaboratively tune precision and recall, and one production workspace where validated changes get committed. N instances collapsed to 2.
DS Module Optimization
Profiled the v2 module end-to-end, identified bottlenecks in the Solr integration layer, and applied targeted fixes to bring execution from 30+ minutes down to 15-20 minutes.
AWS Batch Scheduler
Set up AWS Batch to run the DS module on the shared workspace every 15-20 minutes (or on-demand when triggered). Compute spins up only when needed – no idle infrastructure. Results are immediately available to all users regardless of which data section they're working on.
Operations Team Adoption
Technology is only half the job. The shift from isolated per-user sessions to a shared, async model was a fundamental change in how the operations team worked day-to-day. We embedded with the team to redesign their workflows, walked them through the new collaborative model, and stayed through the transition until the new way of working felt natural – not just deployed, but adopted.
The Solution
We delivered end-to-end – from architecture to adoption. The monolith became microservices, jQuery gave way to React, and we re-architected the DS module ahead of its v2 Solr upgrade with a shared workspace concept: ops teams collaboratively tune precision and recall on a single shared Solr workspace, then commit validated changes to production. That collapsed infrastructure from N Solr instances to 2. We optimized v2 to run in 15-20 minutes (down from 30+) and plugged it into AWS Batch on the shared workspace. But shipping the platform was only part of the job. The move from isolated, synchronous, per-user sessions to a collaborative async model meant the operations team's daily workflows had to change too. We put ourselves in their shoes – embedded with the team, redesigned their processes around the new model, and stayed until adoption was second nature. Technology delivered and owned, end to end.
Impact & Results
50%
Faster DS Execution
~90%
Infra Cost Reduction
2
Solr Instances vs N per User
15min
Execution Cycle Time
Monolith decomposed into independently deployable AWS microservices
jQuery frontend replaced with a modern React application
v2 DS execution cut from 30+ minutes to 15-20 minutes
Shared workspace model: 2 Solr instances instead of N per user
Operations team shifted from isolated per-user workflows to collaborative shared workspace
AWS Batch eliminated idle compute with scheduled and on-demand DS execution
Embedded with the operations team to redesign workflows and drive adoption – not just deployment, but end-to-end delivery
Explore other Case Studies
AI-Powered Learning Platform for Higher Education
A personalized Socratic coaching platform for college students at scale, built with a multi-LLM architecture and real-time knowledge tracing.
Scalable to 2M+ students, multi-LLM support, real-time mastery tracking
AI/ML-Driven Football Insights Platform
A real-time football analytics platform built from scratch on Microsoft Azure, delivering pre-game intelligence and live in-match insights powered by machine learning models processing match events as they happen.
Real-time in-match insights in <5s, 92% prediction accuracy, pre-game reports in minutes
Data Pipeline & Visualization Platform for a Scientific Publisher
Unifying fragmented data from PostgreSQL databases, flat files, and internal systems into Snowflake via AWS Glue, then building Tableau dashboards that gave editorial, production, and commercial teams a single source of truth for the first time.
5 unified data sources, 60% faster reporting, real-time Tableau dashboards
Technology Stack
We've partnered with organizations across sectors, bringing industry-specific expertise to every engagement.