Backend

Backend General

Optimizing OpenTelemetry’s Span Processor for High Throughput and Low CPU Costs

When companies move to microservices, they need to address a new challenge of setting up distributed tracing to identify availability or performance issues throughout the platform. While various tools offered on the market or through open-source perform this task, there is often a lack of standardization, making leveraging these tools costly or complicated.  As DoorDash ...

Santosh Banda
Backend General

Examining Problematic Memory in C/C++ Applications with BPF, perf, and Memcheck

As applications grow in complexity, memory stability is often neglected, causing problems to appear over time. When applications experience consequences of problematic memory implementations, developers may find it difficult to pinpoint the root cause. While there are tools available that automate detecting memory issues, those tools often require re-running the application in special environments, resulting ...

Filip Busic
Backend

How to Make Kafka Consumer Compatible with Gevent in Python

Asynchronous task management using Gevent improves scalability and resource efficiency for distributed systems. However, using this tool with Kafka can be challenging.  At DoorDash, many services are Python-based, including the technologies RabbitMQ and Celery, which were central to our platform’s asynchronous task-queue system. We also leverage Gevent, a coroutine-based concurrency library, to further improve the ...

Jessica Zhao Boyang Wei
Backend Web

Serving Multiple Websites and Business Logic From a Single Platform

Building flexibility into the DoorDash platform lets us scale to serve a variety of retailers.

Daniel Shafer
Backend

Building a More Reliable Checkout Service at Scale with Kotlin

In 2020, DoorDash engineers extracted the consumer order checkout flow out of our monolithic service and reimplemented it in a new Kotlin microservice service. This effort, part of our migration from a monolithic codebase to a microservices architecture, increases our platform’s performance, reliability, and scalability. The consumer checkout flow is one of the most critical ...

Yimin Wei Zhengli Sun Amiraj Dhawan
Backend

Using Active Probing to Detect Infrastructure Failures

DoorDash engineers built Infra Prober, a new monitoring tool, to continually look for component failures and provide accurate alerts.

Shannon Li
Backend

Improving Scalability, Reliability, and Efficiency of a Python Service with Gevent

When trying to scale a distributed system a common obstacle is not that there aren’t enough resources available, it’s that they are not being used efficiently. At DoorDash we found a similar opportunity when working to scale our point-of-sale system (POS). We were experiencing outages because our POS system could not scale to meet peak ...

Simone Restelli Devavrath Subramanyam
Backend

Building a gRPC Client Standard with Open Source to Boost Reliability and Velocity

In a microservice architecture, cross-service communication happens under a set of global rules that are hard to effectively enforce across all services without standardizing client-service communication. Relying on individual service client implementations to adhere to these rules means a lot of additional repeated work on individual teams, which has a negative impact on developer velocity. ...

Haitham Gabr
Backend

Platform Optimization Through Better API Design

As DoorDash migrated to a microservices architecture, we found an opportunity to redesign our APIs, resulting in better overall client performance.

MaggieFang
Backend

Tailoring Gradle and Docker for Rapid Local Development

As technology companies race to release their next features, any delay in productivity can be extremely detrimental, making an efficient development build process essential.  Companies that use Kubernetes and Docker in production environments most likely use Docker for local development. Docker-compose, a tool for defining and running multi-container Docker applications, ensures consistent local development processes, ...

Marvin Flores
Backend Culture Data General Machine Learning Mobile Web

2020 Hindsight: Building Reliability and Innovating at DoorDash

DoorDash recaps a number of its engineering highlights from 2020, including its microservices architecture, data platform, and new frontend development.

WayneCunningham
Backend

Minimizing Risk for API Extraction in a Major Migration Project

DoorDash engineering describes its three step process for safely migrating business logic as APIs.

David Chen

Sign up for updates

Thank you for subscribing!

Sign up for updates