Turo Enhances Scalability and Developer Velocity with Temporal

Industry
High Tech
Use Case
Orchestrating distributed reservations, Payment Processing, Microservice Deployment
Temporal User
Cloud

"Temporal offers a novel approach to decomposing our monolith, which aligns perfectly with our goal of transitioning to a microservices architecture." – Josh Wickham, Principal Software Engineer at Turo.

Turo, the peer-to-peer car-sharing platform, simplifies its development processes and enhances engineering velocity by adopting Temporal.

Challenges Before Temporal#

Prior to adopting Temporal, Turo relied heavily on a large, monolithic Java application that had accumulated millions of lines of code over 12 years.

This monolith presented several challenges:

  • Technician debt and Difficulty in Maintenance: The massive codebase made it challenging to understand the system's state and introduce new changes without causing side effects.
  • Slow Development Cycles: Shipping new features and updates took an extended amount of time due to the monolith's complexity.
  • Scalability Issues: As Turo's team and user base grew, the monolithic architecture became a bottleneck for scalability and efficient development.

Why Turo Chose Temporal#

Turo evaluated various solutions and chose Temporal for its unique capabilities:

  • Workflows as Code: Temporal enables developers to define workflows in familiar languages like Java, simplifying the transition from monolithic to microservices architecture.
  • Error Handling and Resilience: Temporal's robust error handling and built-in fault tolerance ensure reliable workflow execution.
  • Support and Community: Turo benefits from Temporal's active support and community, which provides invaluable assistance during the adoption process.

Benefits of Temporal for Turo#

"Temporal has significantly improved our development velocity and maintainability. It's easy to reason about and integrate into our existing systems." – Josh Wickham

Since adopting Temporal, Turo has experienced several key benefits: Enhanced Developer Velocity: Temporal simplifies the development and deployment of new microservices, reducing the time required to ship new features.

  • Improved Maintainability: The clarity and modularity of Temporal workflows make them easier to maintain compared to the monolithic codebase.
  • Reliable Workflows: Temporal durable execution ensures that workflows can recover from failures, providing greater reliability for Turo's critical processes.

Turo's Use Cases for Temporal#

Turo utilizes Temporal for various purposes, including:

  • Reservation Workflow: Managing the state of car reservations, which involves multiple steps and interactions, is now streamlined using Temporal workflows.
  • Payment Processing: Temporal orchestrates the entire payment flow, ensuring reliable and scalable transaction handling.
  • Microservice Deployment: Temporal assists in the creation and deployment of new microservices, accelerating Turo's transition from monolithic to microservices architecture.

Conclusion#

Temporal has enabled Turo to decompose their monolith, enhance scalability, and increase development velocity. By adopting Temporal, Turo is better positioned to innovate and deliver high-quality features to their users more efficiently.

Temporal Cloud

Ready to see for yourself?

Sign up for Temporal Cloud today and get $1,000 in free credits.

Build invincible applications

It sounds like magic, we promise it's not.