Skip to footer

Architecture

Employing QUIC Protocol to Optimize Uber’s App Performance

Implementing QUIC protocol against TCP over cellular networks on our apps led to a reduction of 10-30 percent in tail-end latencies for HTTP traffic.

Improving the User Experience with Uber’s Customer Obsession Ticket Routing Workflow and Orchestration Engine

Uber adopted workflow orchestration and Cadence, our open source orchestration engine, to better handle customer support ticket routing at scale.

Open Sourcing Peloton, Uber’s Unified Resource Scheduler

First introduced by Uber in November 2018, Peloton manages resources across large-scale, distinct workloads, combining separate compute clusters.

Using Machine Learning to Ensure the Capacity Safety of Individual Microservices

Uber leveraged machine learning to design our capacity safety forecasting tooling with a special emphasis on calculating a quality of reliability score.

Managing Uber’s Data Workflows at Scale

In this article, we discuss Uber's journey toward a unified, multi-tenant, and scalable data workflow management system.

Aarhus Engineering Internship: Building Aggregation Support for YQL, Uber’s Graph Query Language for Grail

Uber intern Lau Skorstengaard shares his experience working on YQL, the graph query language for our in-house infrastructure state aggregation platform.

The Billion Data Point Challenge: Building a Query Engine for High Cardinality Time Series...

Part of Uber's open source M3 metrics system, our query engine can support real-time, large-scale computation and multiple query languages.

Observability at Scale: Building Uber’s Alerting Ecosystem

Uber’s Observability team built a robust, scalable metrics and alerting pipeline to detect, mitigate, and notify engineers of issues as they occur.

Peloton: Uber’s Unified Resource Scheduler for Diverse Cluster Workloads

Uber developed Peloton to help us balance resource use, elastically share resources, and plan for future capacity needs.

Uber’s Big Data Platform: 100+ Petabytes with Minute Latency

Responsible for cleaning, storing, and serving over 100 petabytes of analytical data, Uber's Hadoop platform ensures data reliability, scalability, and ease-of-use with minimal latency.

Maximizing Process Performance with Maze, Uber’s Funnel Visualization Platform

Uber developed Maze, our funnel visualization platform, to identify possible UX bottlenecks and provide insight into the various ways riders and drivers interact with our platform.

M3: Uber’s Open Source, Large-scale Metrics Platform for Prometheus

M3, Uber's open source metrics platform for Prometheus, facilitates scalable and configurable multi-tenant storage for large-scale metrics.

Databook: Turning Big Data into Knowledge with Metadata at Uber

Databook, Uber's in-house platform for surfacing and exploring contextual metadata, makes dataset discovery and exploration easier for teams across the company.

JVM Profiler: An Open Source Tool for Tracing Distributed JVM Applications at Scale

Uber open sourced JVM Profiler, our distributed profiler, to enable others to seamlessly collect JVM performance and resource usage metrics.

Engineering a Job-based Forecasting Workflow for Observability Anomaly Detection

Uber’s Observability Applications team overhauled our anomaly detection platform’s workflow to enable the intuitive and performant backfilling of forecasts, paving the way for more intelligent alerting.
Matthew Mengerink, VP of Core Infra

Scaling for Growth: A Q&A with Uber’s VP of Core Infrastructure, Matthew Mengerink

Matthew Mengerink, Vice President of Engineering for Uber’s Core Infrastructure group, talks about how converging technologies and cloud computing contribute to stable and scalable growth.

Scaling Uber’s Apache Hadoop Distributed File System for Growth

Uber's Data Infrastructure team overhauled our approach to scaling our storage infrastructure by incorporating several new features and functionalities, including ViewFs, NameNode garbage collection tuning, and an HDFS load management service.

Introducing QALM, Uber’s QoS Load Management Framework

Uber Engineering built QALM, a smart load management tool allowing for graceful degradation by preserving critical system requests and shedding non-critical requests.

Scaling Infrastructure Management with Grail

Uber Engineering built Grail, our infrastructure management platform, to aggregate the current state of our systems into a single global view, spanning all zones and regions.

Code Migration in Production: Rewriting the Sharding Layer of Uber’s Schemaless Datastore

Migrating our Schemaless sharding layer from Python to Go while in production demonstrated that it was possible for us to rewrite the frontend of a massive datastore with zero downtime.

Building Reliable Reprocessing and Dead Letter Queues with Apache Kafka

The Uber Insurance Engineering team extended Kafka’s role in our existing event-driven architecture by using non-blocking request reprocessing and dead letter queues (DLQ) to achieve decoupled, observable error-handling without disrupting real-time traffic.

Introducing AthenaX, Uber Engineering’s Open Source Streaming Analytics Platform

Uber Engineering built AthenaX, our open source streaming analytics platform, to bring large-scale event stream processing to everyone.

The Road to uChat: Building Uber’s Internal Chat Solution

Learn how Uber Engineering’s Employee Productivity Tools team built uChat, an internal chat solution capable of scaling to meet the needs of our growing global company.

Engineering Uber Predictions in Real Time with ELK

Uber Engineering architected a real-time trip features prediction system using an open source RESTful search engine built with Elasticsearch, Logstash, and Kibana (ELK).

Engineering On-Demand Transportation for Business with Uber Central

Uber Engineering built Uber Central's architecture by integrating the Uber for Business platform with a custom front-end design tailored to customer feedback.

Re-Architecting Cash and Digital Wallet Payments for India with Uber Engineering

In this article, a software engineer on Uber Engineering's Payments Efficiency Team discusses how we optimized our driver payment platform for cash and digital wallet commissions in India.

Hudi: Uber Engineering’s Incremental Processing Framework on Apache Hadoop

Uber Engineering's data processing platform team recently built and open sourced Hudi, an incremental processing framework that supports our business critical data pipelines. In this article, we see how Hudi powers a rich data ecosystem where external sources can be ingested into Hadoop in near real-time.

Evolving Distributed Tracing at Uber Engineering

This article is about developing Uber Engineering's open source distributed tracing system, Jaeger.

Engineering the Architecture Behind Uber’s New Rider App

In November 2016 Uber unveiled a sleek new rider app. The app implements a new mobile architecture across both iOS and Android. In this article, Uber Engineering discusses why we felt the need to create a new architecture pattern, and how it helps us reach our goals.

Introducing Chaperone: How Uber Engineering Audits Apache Kafka End-to-End

Uber Engineering explains why and how we built Chaperone, our in-house auditing system for monitoring Kafka pipeline health.

Cherami: Uber Engineering’s Durable and Scalable Task Queue in Go

How Uber engineered Cherami, the resilient, scalable, distributed task queue system written in the Go programming language.

Dockerizing MySQL at Uber Engineering

In this article, we take a look at Schemadock, Uber Engineering's tooling solution for managing our increasing number of MySQL clusters.

Why Uber Engineering Switched from Postgres to MySQL

Uber Engineering explains the technical reasoning behind its switch in database technologies, from Postgres to MySQL.

Uber Engineering’s Micro Deploy: Deploying Daily with Confidence

Uber Engineering's Micro Deploy (μDeploy), our in-house deployment system that builds, upgrades, and rolls back services at Uber.

How Uber for Business Engineering Verifies Your Ride in Real Time

How Uber Engineering architected ride policies for Uber for Business, our way of verifying rides in real time.

Rewriting Uber Engineering: The Opportunities Microservices Provide

To show how a microservice is implemented in Uber Engineering's ecosystem, we look at the development of Tincup, our currency and exchange rate service.

Using Triggers On Schemaless, Uber Engineering’s Datastore Using MySQL

The details and examples of Schemaless triggers, a key feature of the datastore that’s kept Uber Engineering scaling since October 2014. This is the third installment of a three-part series on Schemaless; the first part is a design overview and the second part is a discussion of architecture.

The Architecture of Schemaless, Uber Engineering’s Trip Datastore Using MySQL

How Uber’s infrastructure works with Schemaless, the datastore using MySQL that’s kept Uber Engineering scaling since October 2014. This is part two of a three-part series on Schemaless; part one is on designing Schemaless.

Designing Schemaless, Uber Engineering’s Scalable Datastore Using MySQL

The making of Schemaless, Uber Engineering’s custom designed datastore using MySQL, which has allowed us to scale from 2014 to beyond. This is part one of a three-part series on Schemaless.

Service-Oriented Architecture: Scaling the Uber Engineering Codebase As We Grow

Moving away from a monolithic codebase to a service-oriented architecture (SOA) has not been an easy task. Here's a brief glimpse of the scalability problems we've faced and the steps we've taken to solve them.

Project Mezzanine: The Great Migration

What happens when you have to migrate hundreds of millions of rows of data and 100 services over several weeks with dozens of engineers, while simultaneously serving millions of rides? The story of how Uber moved to Mezzanine in 2014.

Popular Articles