// professional

Lottery Platform — Cloud Migration to Microservices

End-to-end cloud migration of a regulated lottery platform from a legacy monolith to event-driven microservices on Oracle Cloud Kubernetes, achieving a 3–4× reduction in transaction latency while maintaining a 99% SLA.

3–4× latency reduction 99% SLA maintained Zero-downtime migration
Java 17 Spring Boot 3 Apache Kafka Kubernetes Oracle Cloud Oracle DB Redis Camunda Vault React Docker Dynatrace

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