Turbocharging GrabUnlimited with Temporal
Dec 12, 2024Michel Parreno

Summary
This post details the migration of GrabUnlimited's membership system from a legacy SQS and Redis lock-based architecture to Temporal. It highlights the architectural issues of the previous system, including scalability bottlenecks with cron jobs, concurrency issues due to short Redis lock TTLs, resiliency problems with upstream service outages and complex state machines, and a lack of idempotency guarantees. The adoption of Temporal is presented as the solution, leveraging its features like infinite retries, exponential backoff, and timers to manage membership purchases and renewals, leading to a significant reduction in production incidents.