Overview
A regulated lottery operator needed to move its core platform off a legacy monolith onto a cloud-native architecture on Oracle Cloud — while keeping the platform live for thousands of concurrent users, with no tolerance for service interruption.
Challenge
The existing system was a tightly coupled Java monolith handling ticket selling, payment transactions, winning validation, and integration with government-regulated audit systems. Each application managed its own authentication independently — there was no centralised identity layer. The migration had to preserve full backward compatibility at every step, and performance requirements were strict: client applications depended on low-latency transaction confirmation.
Solution
- Decomposed the platform into domain-aligned microservices on Kubernetes (Oracle Cloud), each with an independent deployment lifecycle and no shared release coordination
- Established an event-driven backbone with Apache Kafka covering all state-changing operations — selling, payments, winning validation — enabling full auditability and event replay
- Integrated Camunda for orchestrating complex multi-step business workflows such as product approval cycles and contest lifecycle management
- Built a centralised Identity Provider, consolidating the fragmented per-application authentication that existed before — all services now delegated auth to a single trusted issuer
- Applied a parallel-run migration strategy: new services processed traffic alongside the monolith until confidence thresholds were met, with zero downtime across the entire transition
- Deep performance tuning via Redis caching and async processing to meet the low-latency requirements of client integrations
- Observability with Prometheus for metrics and Dynatrace APM for distributed tracing and production alerting
Outcome
- Transaction latency reduced by 3–4× through service decomposition, async processing, and targeted caching
- 99% SLA maintained across the full migration period
- Teams could deploy individual services independently — no more monolithic release coordination
- Zero downtime throughout the entire migration