Designing Edge Gateway, Uber’s API Lifecycle Management Platform

Madan Thangavelu, Uday Kiran Medisetty, Pavel Astakhov
17 min readadvanced
--
View Original

Overview

The article discusses the evolution of Uber's API gateway, Edge Gateway, which serves as a self-serve platform for configuring, managing, and monitoring APIs across various business domains. It details the transition through three generations of the gateway, highlighting architectural changes, challenges faced, and the implementation of a new service framework.

What You'll Learn

1

How to design a scalable API gateway architecture

2

Why a self-service API management layer is critical for large organizations

3

When to transition from a monolithic to a microservice architecture

Prerequisites & Requirements

  • Understanding of API management concepts
  • Familiarity with microservices architecture(optional)

Key Questions Answered

What were the key challenges faced during the evolution of Uber's API gateway?
Uber faced numerous challenges during the evolution of its API gateway, including technical issues related to using Node.js, managing a large codebase, and ensuring efficient onboarding of new engineers. Non-technical challenges included becoming a bottleneck for product development and managing cross-team ownership of APIs.
How did Uber's API gateway architecture change over time?
The architecture evolved from a monolithic service to a microservices-based approach, ultimately leading to a self-service, decentralized, and layered architecture. This transition allowed for better scalability, faster development cycles, and improved resource utilization.
What are the goals of the third generation of Uber's API gateway?
The goals of the third generation include separation of concerns, providing a true edge layer, and enabling product teams to manage their own presentation and orchestration services. This aims to enhance flexibility and accelerate product development.

Key Statistics & Figures

Number of microservices powering Uber's products by 2019
2,200+
This growth reflects the expansion of Uber's architecture and services over time.
Peak requests handled by the API gateway
800,000 req/s
This demonstrates the high demand and performance capabilities of Uber's API infrastructure.
Percentage of engineering committed code to the API gateway layer
40%
Indicates the significant involvement of engineering teams in the development of the API gateway.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Implement a self-service API management layer to empower teams and streamline development.
By allowing teams to manage their APIs, organizations can reduce bottlenecks and enhance agility in product development, leading to faster delivery of features.
2
Transition to a microservices architecture to improve scalability and maintainability.
This approach allows for independent development and deployment of services, which can significantly enhance the speed and efficiency of software delivery.
3
Focus on establishing clear ownership of APIs to avoid confusion and streamline development.
Defining ownership helps in managing responsibilities effectively, especially in large organizations where multiple teams interact with shared APIs.

Common Pitfalls

1
Allowing business logic to leak into the API gateway can complicate the architecture.
This often leads to confusion and maintenance challenges, making it harder to manage the gateway effectively.
2
Using multiple protocols can increase complexity in the gateway system.
This can lead to overhead in managing different serialization formats and routing requests, complicating the overall architecture.

Related Concepts

API Management
Microservices Architecture
Service-oriented Architecture
Decentralized Systems