Three key steps are of paramount importance to prevent outages in microservice applications, especially those that depend on cloud services: Identify the potential causes for system failure, prepare for them, and test countermeasures before failure occurs.
Category Archives: Backend
How to leverage functional programming in Kotlin to write better, cleaner code
As DoorDash transitioned from Python monolith to Kotlin microservices, our engineering team was presented with a lot of opportunities to improve operational excellence and continue our obsession with reliability.
Moving e2e testing into production with multi-tenancy for increased speed and reliability
When DoorDash was on a monolithic application, developers’ end-to-end (e2e) testing needs were solved by sandboxes but, when DoorDash moved from monolith to microservices, we needed a more scalable approach to production testing.
Building a Unified Chat Experience at DoorDash
Resolving customer problems at scale is not an easy task, which is why the most feasible solution is implementing a chat feature; however, making these chat experiences unified and cohesive is a challenge in itself.
DoorDash customers often want to be able to talk to a customer support representative immediately.
Using Kotlin, React, and Postgres to Create a No-Code Platform for Building Customized Workflows
Creating a better customer experience often requires flexible software that can be updated to accommodate new situations without requiring developers to be involved.
Building a Platform to Translate DoorDash into Multiple Languages
Creating multiple language versions of the DoorDash app not only lets us offer our delivery logistics platform in more countries, it also removes language as a barrier to communications.
Using CloudFront Signed URLs with Built-In Authenticated Access to S3
While S3 has traditionally been a valuable resource for sharing documents its removal of V2 signatures has forced many companies to scramble for an alternative.
Scaling a routing algorithm using multithreading and ruin-and-recreate
At DoorDash, route optimization is a key component of our dispatch system, known internally as DeepRed.
The Beginner’s Guide to Kotlin Coroutine Internals
When moving from a monolith to a microservices architecture, engineering teams often need to master a new programming paradigm.
Separating User Data with Multi-tenancy To Improve User Management
As DoorDash expanded and grew its product lines, we needed to find a better way to manage user data.