casestudy

Building Services at Airbnb Part 3

In the third post of our series on scaling service development, we dive into resilience engineering practices built into the standard service platform that powers the new Services Oriented Architecture atAirbnb. Airbnb is moving its infrastructure towards a Service Oriented Architecture. A reliable, performant, and developer-friendly polyglot service platform is an underpinning component in Airbnb’s architectural evolution. In Part 1 and Part 2 of our Building Services series, we shared how we used Thrift service IDL-centered service framework to scale the development of services; how a standardized service platform encourages and enforces infrastructure standards; and how to enforce best practices to for all new services without incurring additional development overhead.
Read more

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

Uber, like most large technology companies, relies extensively on metrics to effectively monitor its entire stack. From low-level system metrics, such as memory utilization of a host, to high-level business metrics, including the number of Uber Eats orders in a particular city, they allow our engineers to gain insight into how our services are operating on a daily basis. As our dimensionality and usage of metrics increases, common solutions like Prometheus and Graphite become difficult to manage and sometimes cease to work.
Read more

Engineering Uber’s Next-Gen Payments Platform

During a September 2018 meetup, Uber’s Payments Platform team discusses how this technology supports our company’s growth through an active-active architecture, exactly-once payment processing, and scalability across businesses. From ridesharing, food delivery, and new modalities to freight, healthcare, and business travel, our technology helps create billions of moments of human connection around the world. Building a reliable, scalable, and flexible payment processing system is critical to making these moments possible.
Read more

How ShiftLeft Uses PostgreSQL Extension TimescaleDB

Time series are a major component of the ShiftLeft runtime experience. This is true for many other products and organizations too, but each case involves different characteristics and requirements. This post describes the requirements that we have to work with, how we useTimescaleDBto store and retrieve time series data, and the tooling we’ve developed to manage our infrastructure. We have two types of time series data: metrics and vulnerability events. Metrics represent application events, and a subset of those that involve security issues are vulnerability events.
Read more

How Airbnb is Moving 10x Faster at Scale with GraphQL and Apollo

How Airbnb is Moving 10x Faster at Scale with GraphQL andApolloDemystifying My GraphQL SummitTalkAdam NearyBlockedUnblockFollowFollowingDec 4I had the opportunity to kick off GraphQL Summit last month with a talk that involved quite a bit of live coding (the Keynote intro ends at minute 6:00 if you’re in a hurry!). Check it out: From the feedback I gathered over the following days of the conference, the good news is people were clearly excited to see product being built so fast.
Read more

Sessionizing Uber Trips in Real Time

Uber’s many data flows required modeling the data associated with a specific task, such as a rider trip, into a state machine. The state machine lets engineers focus on just the events needed to successfully accomplish a trip. In one sense, Uber’s challenge of efficiently matching riders and drivers in the real world comes down to the question of how to collect, store, and logically arrange data. Our efforts to ensure low wait times by predicting rider demand, while simultaneously enabling drivers to use the platform as effectively as possible by taking into account traffic and other factors, only magnifies the scope of data involved.
Read more