Turo Enhances Scalability and Developer Velocity with Temporal

"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 logo

Industry

High Tech

Use Case

Orchestrating distributed reservations, Payment Processing, Microservice Deployment

Company Size

250-2000

SDK

Java

Temporal

Cloud


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.

Build invincible apps

Ready to learn why companies like Netflix, Doordash, and Stripe trust Temporal as their secure and scalable way to build and innovate?