Keystone Real-time Stream Processing Platform

Netflix Technology Blog
15 min readadvanced
--
View Original

Overview

The Keystone Stream Processing Platform is Netflix's infrastructure for real-time data processing, enabling data-driven decision-making across the organization. It supports various services, including a Data Pipeline and Stream Processing as a Service (SPaaS), while addressing challenges like scalability, multi-tenancy, and cloud-native resiliency.

What You'll Learn

1

How to build and operate custom managed stream processing applications using Keystone

2

Why scalability is crucial for handling trillions of events and petabytes of data daily

3

When to apply different trade-offs in stream processing jobs regarding latency and duplicates

Key Questions Answered

What are the core services offered by the Keystone platform?
The Keystone platform offers two main services: a Data Pipeline, which includes a streaming-enabled Routing Service and a Kafka-enabled Messaging Service for processing microservice events, and Stream Processing as a Service (SPaaS) for building and managing custom applications.
How does Keystone handle multi-tenancy in stream processing?
Keystone supports thousands of streaming jobs across diverse problem spaces by providing runtime and operational isolation, ensuring meaningful service level guarantees while minimizing shared platform overhead.
What design principles guide the development of the Keystone platform?
Key design principles include enablement for user agility, providing building blocks for ease of use, exposing tunable trade-offs for customization, treating failure as a first-class citizen, and maintaining separation of concerns between users and the platform.
What challenges does the Keystone platform face regarding scalability?
The platform must scale to service 130 million subscribers across 190+ countries, processing trillions of events and petabytes of data daily, which requires robust architecture and design to handle increased load as the user base grows.

Key Statistics & Figures

Number of subscribers
130 million
Netflix services this number of subscribers across 190+ countries.
Events processed daily
trillions of events
The Keystone platform processes this volume of events to support daily business needs.
Data processed daily
petabytes
The platform handles this amount of data daily to facilitate operations.

Technologies & Tools

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

Stream Processing Engine
Apache Flink
Used for building the Keystone analytic use cases.
Messaging Service
Kafka
Enabled within the Data Pipeline for managing microservice events.
Database
AWS RDS
Serves as the single source of truth for user declared goal states.
Container Management
Netflix Titus
Provides provisioning, scheduling, and resource isolation for stream processing jobs.

Key Actionable Insights

1
To effectively utilize the Keystone platform, teams should focus on defining their business logic clearly, allowing the platform to handle the complexities of stream processing. This approach can significantly enhance agility and innovation within teams.
By abstracting the technical complexities, teams can concentrate on delivering value through data-driven applications rather than getting bogged down in infrastructure management.
2
Understanding the trade-offs between latency and duplicates is crucial for optimizing stream processing jobs. Teams should evaluate their specific use cases to determine the best balance based on their operational needs.
This knowledge enables teams to make informed decisions that align with their business objectives, ensuring efficient resource utilization and performance.

Common Pitfalls

1
Failing to properly manage resource contention can lead to bottlenecks in streaming jobs, affecting performance and reliability.
Resource contention occurs when multiple jobs compete for limited physical resources like CPU and memory. To avoid this, users should monitor resource usage and adjust configurations accordingly.

Related Concepts

Stream Processing Architectures
Microservices Design Patterns
Data Analytics Frameworks