# Netflix TechBlog - Medium

Learn about Netflix's world class engineering efforts, company culture, product developments and more. - Medium

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## MAPS: Netflix's Multimodal Asset Personalization at Scale

DevFeed: [MAPS: Netflix's Multimodal Asset Personalization at Scale](<https://devfeed.tech/articles/maps-netflix-s-multimodal-asset-personalization-at-scale-141.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/maps-netflixs-multimodal-asset-personalization-at-scale-32f96320785e?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-08-28T16:01:02Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [Netflix](<https://devfeed.tech/topics/netflix.md>), [personalization](<https://devfeed.tech/topics/personalization.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [multimodal](<https://devfeed.tech/topics/multimodal.md>), [recommendation systems](<https://devfeed.tech/topics/recommendation-systems.md>), [data](<https://devfeed.tech/topics/data.md>), [A/B Testing](<https://devfeed.tech/topics/a-b-testing.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [embedding](<https://devfeed.tech/tags/embedding.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [model](<https://devfeed.tech/tags/model.md>), [multimodal](<https://devfeed.tech/tags/multimodal.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [personalization](<https://devfeed.tech/tags/personalization.md>), [production](<https://devfeed.tech/tags/production.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Netflix describes MAPS, a multimodal asset-personalization system that uses embeddings from artwork and video previews to address cold-start problems and personalize recommendations soon after a title launches.

### Source excerpt

By Emma Yanyang Kong, Aditya Deshpande, Asad Abbasi, Bowei Yan, David Fagnan, Ashish Rastogi, Dhaval Patel, Ray Zhang Introduction The Netflix experience is a journey of discovery. Every visual cue, from the artwork on a title to the video previews that autoplay while you browse, is there to connect you with a story you will love. We call these visual cues assets, and choosing the right one for each member is a personalization problem of its own. But which image or video preview of Squid Game should we show you? And what do we do right after a title launches, when there's far too little interaction data to know which asset we should recommend to each member? For years, our models answered the first question well and the second poorly. They learned which assets members interacted with, but treated every asset as an opaque ID, blind to what was actually in the artwork or video preview. Right after a title launched, its assets had no history, so we dialed up exploration on its assets to gather interaction data, and otherwise fell back to popularity heuristics that ignore your taste. Only once enough interactions had piled up could personalization take over. This is the classic cold-start problem. This post shares how multimodal embeddings let our models see and hear the assets they recommend, so personalization can kick in far sooner, close to a title's launch. Because a new asset arrives with its embedding the model already understands, that embedding carries member taste signals from related assets immediately. Consequently, the model needs far less interaction history before it can personalize. We cover three production systems, artwork personalization, query-aware artwork ranking, and video preview personalization, plus a cheap trick for choosing new embeddings before committing to full end-to-end integration and A/B testing. Artwork Personalization A single image is often a member's first touchpoint with a title, so we create a diverse set of artworks for each tit

## A Tale of Two Flink Autoscalers

DevFeed: [A Tale of Two Flink Autoscalers](<https://devfeed.tech/articles/a-tale-of-two-flink-autoscalers-134.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/a-tale-of-two-flink-autoscalers-e9f6a1b1492b?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-08-21T16:01:01Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [apache-flink](<https://devfeed.tech/topics/apache-flink.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Netflix](<https://devfeed.tech/topics/netflix.md>), [stream-processing](<https://devfeed.tech/topics/stream-processing.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [aws](<https://devfeed.tech/tags/aws.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [operational-excellence](<https://devfeed.tech/tags/operational-excellence.md>), [scale](<https://devfeed.tech/tags/scale.md>), [stream-processing](<https://devfeed.tech/tags/stream-processing.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>)

### AI overview

Netflix describes running two Apache Flink autoscalers: an older in-house system and a newer one from the Apache Flink community. The article explains why autoscaling is necessary for more than 30,000 Flink jobs across AWS regions, discusses workload variability and the cost of resizing stateful jobs, and introduces the metrics-driven design of the first autoscaler.

### Source excerpt

Samuel Yeboah, Francesco Di Chiara and Mingliang Liu Today, Netflix runs two Flink autoscalers. That is exactly one more than we want. We built the first one in-house years ago, when there was no mature option suited to our platform. The second came from the Apache Flink community, and it can scale workloads our homegrown system was never designed for. We now run both in production and are steadily converging on the open-source one. Along the way we learned some hard lessons about metrics, cost, and the real price of maintaining infrastructure you could instead adopt, and we hope they are useful whether you run a handful of Flink jobs or tens of thousands. Why autoscaling is not optional at our scale Netflix has run stream processing on Apache Flink since 2017. As of 2026 we operate more than 30,000 Flink jobs across multiple AWS regions. Most are not deployed by hand; they are generated by our managed platform Data Mesh, so the majority of users never touch a Flink job directly. A smaller but growing set are custom jobs, built and operated by teams across the company for use cases like personalization, Ads, and Live events. They range from single-operator jobs that shuttle records between Kafka topics to stateful pipelines with branches, joins, and terabytes of state, and their load swings with daily cycles, launches, and regional failovers. Provisioning every one of those jobs for its peak is wasteful; provisioning for the average causes lag during surges. And in our platform a scaling action is not free: by default it means taking a savepoint, stopping the job gracefully, and restarting it at the new size, which for a large stateful job can take minutes. That leaves a genuinely hard question: how do you give each job the resources it needs, when it needs them, without a human in the loop and without breaking anything? The first autoscaler: watching from outside Our first answer, built around 2019, was an autoscaler shaped like a stream-processing job. It ran on M

## How and Why Netflix Built a Real-Time Distributed Graph: Part 3 -- Querying the graph with gRPC...

DevFeed: [How and Why Netflix Built a Real-Time Distributed Graph: Part 3 -- Querying the graph with gRPC...](<https://devfeed.tech/articles/how-and-why-netflix-built-a-real-time-distributed-graph-part-3-querying-the-graph-with-grpc-138.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/how-and-why-netflix-built-a-real-time-distributed-graph-part-3-querying-the-graph-with-grpc-0f3468349607?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-08-07T16:01:02Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [Graphs](<https://devfeed.tech/topics/graphs.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [Netflix](<https://devfeed.tech/topics/netflix.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [API](<https://devfeed.tech/topics/api.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [personalization](<https://devfeed.tech/topics/personalization.md>), [Security](<https://devfeed.tech/topics/security.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>)

Tags: [apache](<https://devfeed.tech/tags/apache.md>), [apache-flink](<https://devfeed.tech/tags/apache-flink.md>), [api](<https://devfeed.tech/tags/api.md>), [data](<https://devfeed.tech/tags/data.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [events](<https://devfeed.tech/tags/events.md>), [latency](<https://devfeed.tech/tags/latency.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [personalization](<https://devfeed.tech/tags/personalization.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [security](<https://devfeed.tech/tags/security.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

Netflix's third-part blog post describes the serving layer for its Real-Time Distributed Graph and explains how gRPC enables efficient graph querying. It focuses on serving diverse workloads, including security lookups and personalization traces, with sub-100ms responses across a billion-edge graph.

### Source excerpt

How and Why Netflix Built a Real-Time Distributed Graph: Part 3 -- Querying the graph with gRPC execution API Authors: Nilesh Mishra and Ajit Koti This is the third entry of a multi-part blog series describing how we built a Real-Time Distributed Graph (RDG). In Part 1, we discussed the motivation for creating the RDG and the architecture of the data processing pipeline that populates it. In Part 2, we discussed how we designed the storage layer to handle billions of nodes and edges while maintaining single-digit-millisecond latency. In Part 3, we will explore how we designed a fast, flexible serving layer to efficiently query the graph. Introduction In Part 1 of this series, we described why Netflix needed a Real-Time Distributed Graph (RDG) and how we used Apache Flink to build an ingestion and processing pipeline that turns streaming events into graph primitives. In Part 2, we explored how we designed a storage layer capable of handling billions of nodes and edges while still delivering single-digit-millisecond latency. In this post, we focus on the next challenge: querying the graph efficiently to power real-time insights for our internal partners. All of the work on ingestion and storage only matters if we can actually ask complex questions and get answers back quickly. As we optimized for lower latency, we found that the serving layer posed its own set of challenges, distinct from those of ingestion and storage. How do we turn a constantly evolving, billion-edge graph into sub-100ms responses across a wide variety of workloads? This is the problem we tackle in this post. The Real World Needs As we integrated the RDG into Netflix's ecosystem, we realized that "querying the graph" is not a one-size-fits-all operation. We needed to handle a wide range of access patterns: from high-volume security lookups to deep, exploratory personalization traces. Let's revisit our example from Part 1 and expand on it slightly. In the earlier posts, we focused on accounts, device

## Modeling Device Capabilities for Analytics

DevFeed: [Modeling Device Capabilities for Analytics](<https://devfeed.tech/articles/modeling-device-capabilities-for-analytics-142.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/modeling-device-capabilities-for-analytics-e7607acebde8?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-07-31T16:01:02Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [Netflix](<https://devfeed.tech/topics/netflix.md>), [data](<https://devfeed.tech/topics/data.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [cloud-gaming](<https://devfeed.tech/tags/cloud-gaming.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [data](<https://devfeed.tech/tags/data.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [data-modeling](<https://devfeed.tech/tags/data-modeling.md>), [datasets](<https://devfeed.tech/tags/datasets.md>), [devices](<https://devfeed.tech/tags/devices.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

Netflix describes a device-capability data model for analytics across a diverse ecosystem of streaming devices. Cumulative and histogram tables capture device capabilities, active device counts, software versions, and feature support, helping teams measure feature reach and make more granular enablement decisions.

### Source excerpt

by Aarti Laddha, Richard Diaz-Cool, Rishika Idnani, Venkatesh Selveraj Netflix supports a vast and evolving set of features and content types, ranging from 4K streaming and immersive audio to live streaming and cloud gaming, across a diverse ecosystem of devices. However, not all devices are created equal. Hardware limitations such as available RAM, CPU cores, display capabilities, or platform support mean that some features cannot be supported on certain device models. To ensure the best possible user experience, we rely on a deep understanding of device capabilities. We have invested in building a comprehensive device capability data model and integrating feature flags from internal systems, paving the way for smarter, more granular feature management across our global device landscape. This approach helps us identify bottlenecks in feature penetration and accelerates the pace of innovation. We have designed our data storage and modeling strategies to efficiently support analytics at scale. We use a cumulative table to process information about the device's capabilities. This table is structured to efficiently capture the latest state of each device and its associated capabilities (like Screen resolutions, Video Profiles Supported, Surround Sound, RAM size etc) making it ideal for analytics and reporting use cases. { "Screen Height": ["720"], "Screen Width": ["1280"], "Video Profiles": [ "playready", "hevc", ], } For aggregate analytics, we leverage a histogram table that captures active device counts over the past 28 days, broken down by device model and software version. This table also records the number of devices supporting specific capabilities, enabling detailed distribution analysis. One use case for this histogram data is to analyze the distribution of external display capabilities attached to streaming sticks. For example, the histogram below shows that out of total X number of devices, all supported the HD profile (playready), while only 20% devices sup

## GenRec: Towards LLM-Native Recommendation at Netflix

DevFeed: [GenRec: Towards LLM-Native Recommendation at Netflix](<https://devfeed.tech/articles/genrec-towards-llm-native-recommendation-at-netflix-137.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/genrec-towards-llm-native-recommendation-at-netflix-f20be6f643e3?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-07-30T20:10:15Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [Netflix](<https://devfeed.tech/topics/netflix.md>), [recommendation systems](<https://devfeed.tech/topics/recommendation-systems.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [LLM Techniques](<https://devfeed.tech/topics/llm-techniques.md>), [personalization](<https://devfeed.tech/topics/personalization.md>), [vllm](<https://devfeed.tech/topics/vllm.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [feature-engineering](<https://devfeed.tech/tags/feature-engineering.md>), [genai](<https://devfeed.tech/tags/genai.md>), [large-language-models](<https://devfeed.tech/tags/large-language-models.md>), [large-language-models-llms](<https://devfeed.tech/tags/large-language-models-llms.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llms](<https://devfeed.tech/tags/llms.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [personalization](<https://devfeed.tech/tags/personalization.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [recommendation-system](<https://devfeed.tech/tags/recommendation-system.md>), [vllm](<https://devfeed.tech/tags/vllm.md>)

### AI overview

Netflix presents GenRec, an LLM-backed recommendation ranker trained on Netflix-specific data and objectives. It converts user histories, item metadata, and context into text, uses a catalog-aware scoring head, aligns recommendations with long-term member value and business goals, and runs in prefill-only mode on Netflix's LLM serving stack. In a large-scale A/B test, GenRec improved short- and long-term online metrics while using fewer labeled examples and input signals than a mature production ranker.

### Source excerpt

Authors: Ying Li, Arjun Rao, Shradha Sehgal Introduction Recommendations sit at the heart of the Netflix experience. Our current production models rely on thousands of hand-crafted features over users, items, and interactions, along with specialized architectures for sequence modeling, feature interactions, and multi-task objectives. This stack has evolved over many years to support diverse content types (movies, series, games, live, podcasts) and product surfaces, but its complexity makes it costly to onboard new use cases: adding a content type or surface can require significant feature engineering, architecture change, infrastructure work, and experimentation. At the same time, large language models (LLMs) are changing how we think about recommendation, as shown by recent work such as PLUM, GLIDE, and OneRec-Think. Their broad world knowledge and strong language understanding make it possible to represent user histories and item metadata directly as text, capture rich relationships in a shared semantic space, and steer recommendations via natural-language prompts. However, off-the-shelf LLMs are still far from production-ready recommenders: they often over-recommend globally popular content, hallucinate out-of-catalog items, ignore business constraints, and provide only limited personalization. To address this, we built GenRec, an LLM-backed recommendation ranker that post-trains an internal foundation LLM on Netflix-specific data and objectives. GenRec shows that an LLM-based ranker can match or exceed a mature production system while relying on far fewer labeled examples and input signals. Figure 1: GenRec pipeline. Raw logs of user history, item metadata, and context are transformed via context engineering into natural-language prompts and fed into the GenRec, which runs on vLLM in prefill-only mode and outputs scores for each catalog item, yielding a recommendation ranking. At a high level, GenRec: Verbalizes user histories, item metadata, and context as text

## In-House LLM Serving at Netflix

DevFeed: [In-House LLM Serving at Netflix](<https://devfeed.tech/articles/in-house-llm-serving-at-netflix-140.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/in-house-llm-serving-at-netflix-a5a8e799ea2c?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-07-17T21:32:39Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [LLMs](<https://devfeed.tech/topics/llms.md>), [Netflix](<https://devfeed.tech/topics/netflix.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [AI Platform](<https://devfeed.tech/topics/ai-platform.md>), [model-deployment](<https://devfeed.tech/topics/model-deployment.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-platform](<https://devfeed.tech/tags/ai-platform.md>), [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [inference](<https://devfeed.tech/tags/inference.md>), [llm](<https://devfeed.tech/tags/llm.md>), [model-serving](<https://devfeed.tech/tags/model-serving.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [platform-engineering](<https://devfeed.tech/tags/platform-engineering.md>)

### AI overview

Netflix describes its in-house LLM serving stack, covering deployment, inference, API access paths, and production trade-offs.

### Source excerpt

By AI Platform's Model Runtime team and Inference team Introduction Most organizations consume LLMs through hosted APIs. Netflix went further -- we run the full stack ourselves, from model deployment through inference, inside our existing production environment rather than a separate ML silo. Some of those decisions weren't obvious, and a few revealed their trade-offs only under production load. This post focuses on the choices where alternatives were seriously considered: engine selection, model packaging, API surface design, deployment strategy, and output constraints enforcement. The goal is to share not just what was built, but why -- and what production revealed that the design phase didn't anticipate. Architecture Overview Member-scale ML at Netflix is fronted by a unified JVM-based serving system that handles the end-to-end flow for downstream consumers: routing and A/B test logic, candidate generation, feature fetching, inference, post-processing, and logging at each stage. Both real-time and cached batch paths are supported. Figure 1 shows the two ways callers reach inference today: the gRPC path through this serving system and a direct HTTP path used by newer LLM-driven applications. Where inference runs depends on the model. Small CPU models run in-process, avoiding remote-call overhead. Larger models need GPUs -- the serving system handles pre- and post-processing locally but delegates inference to a remote service, Model Scoring Service (MSS). MSS is the shared inference backend, supporting XGBoost, TensorFlow, PyTorch, and LLMs behind a unified interface, with NVIDIA Triton Inference Server underneath managing model loading, batching, and GPU scheduling. On top of Triton sits a Java control plane that handles deployment, versioning, health checking, autoscaling, and multi-region rollout. Model authors package their artifacts and configure the deployment; the control plane provisions GPU instances, configures Triton, and orchestrates zero-downtime upgrades

## Building Service Topology at Scale: Architecture, Challenges, and Lessons Learned

DevFeed: [Building Service Topology at Scale: Architecture, Challenges, and Lessons Learned](<https://devfeed.tech/articles/building-service-topology-at-scale-architecture-challenges-and-lessons-learned-135.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/building-service-topology-at-scale-architecture-challenges-and-lessons-learned-f4b792f3f0d8?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-07-13T22:44:11Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [incident](<https://devfeed.tech/topics/incident.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [backend-development](<https://devfeed.tech/tags/backend-development.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [ebpf](<https://devfeed.tech/tags/ebpf.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [observability](<https://devfeed.tech/tags/observability.md>), [scale](<https://devfeed.tech/tags/scale.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

Netflix describes the engineering lessons from building a real-time service-dependency map at scale. The system ingests streaming network-flow, IPC-metric, and tracing data to support topology queries while addressing production issues such as Kafka lag, memory pressure, traffic skew, and garbage-collection overhead.

### Source excerpt

By Parth Jain, Rakesh Sukumar, Yingwu Zhao, Renzo Sanchez-Silva & Nathan Fisher A deep dive into the engineering challenges of building a real-time service dependency map at Netflix scale: from streaming architectures and distributed aggregation pipelines to time-travel queries and the methodology that made it work. Introduction In our first post, we introduced the problem: engineers at Netflix needed a unified, real-time view of service dependencies to troubleshoot faster, understand blast radius, and navigate our distributed architecture. We described our multi-source approach, combining eBPF network flows, IPC metrics, and distributed tracing into physically separate graph layers that can be queried independently or merged into a comprehensive view. That post explained what we built and why. This post is about how, the engineering reality of building this system at Netflix scale. Here's the truth: the first version worked perfectly... in our local environment. Production was a different story. Kafka consumers fell behind. Instances ran out of memory. Some nodes received 100x the traffic of others. Garbage collection pauses consumed more CPU than actual business logic. What you'll learn in this post isn't a success story, it's a learning journey. We'll walk through the architecture decisions that enabled scale, the production challenges that tested those decisions, the optimization methodology that guided us through, and the lessons that apply to any distributed system. Along the way, we'll share the innovations that made it possible to process millions of flow records per second, reconstruct topology at any point in time, and provide sub-second query responses, all while maintaining near real-time freshness. Architecture Deep-Dive: Building for Streaming and ScaleStreaming-First: Why Real-Time Matters Traditional service topology systems use batch processing, aggregating data hourly or daily, then storing complete snapshots. This approach works at a modest scale bu

## GenPage: Towards End-to-End Generative Homepage Construction at Netflix

DevFeed: [GenPage: Towards End-to-End Generative Homepage Construction at Netflix](<https://devfeed.tech/articles/genpage-towards-end-to-end-generative-homepage-construction-at-netflix-136.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/genpage-towards-end-to-end-generative-homepage-construction-at-netflix-77146fba8a08?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-06-29T13:01:02Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [Netflix](<https://devfeed.tech/topics/netflix.md>), [recommendation systems](<https://devfeed.tech/topics/recommendation-systems.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Reinforcement learning](<https://devfeed.tech/topics/reinforcement-learning.md>), [Transformer](<https://devfeed.tech/topics/transformer.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [app](<https://devfeed.tech/tags/app.md>), [diversity](<https://devfeed.tech/tags/diversity.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [feature-engineering](<https://devfeed.tech/tags/feature-engineering.md>), [generation](<https://devfeed.tech/tags/generation.md>), [generative](<https://devfeed.tech/tags/generative.md>), [large-language-models](<https://devfeed.tech/tags/large-language-models.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [model](<https://devfeed.tech/tags/model.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [recommendation-system](<https://devfeed.tech/tags/recommendation-system.md>), [reinforcement-learning](<https://devfeed.tech/tags/reinforcement-learning.md>), [rl](<https://devfeed.tech/tags/rl.md>)

### AI overview

This Netflix developer article introduces GenPage, a generative approach that uses a single autoregressive model to construct a personalized homepage by generating recommendation rows, entities, and layout together. It describes replacing a multi-stage recommendation pipeline with end-to-end modeling and using reinforcement learning to optimize whole-page rewards, including interactions such as diversity and the balance between rows.

### Source excerpt

Authors: Lequn Wang, Jiangwei Pan, and Linas Baltrunas Figure 1. Autoregressive homepage generation. GenPage builds a Netflix homepage one row or entity at a time, each one conditioned on what's already on the page and the user's context.Introduction The Netflix homepage is the first thing users see when they open the app and the primary way they discover content to enjoy. Almost every part of it is personalized, including which rows appear, which entities show up within those rows, and how everything is arranged on the page. Constructing that homepage is a genuinely hard problem. It is not simply producing one ranked list. The homepage is a structured, two-dimensional layout, made up of recommendation rows and the entities within them. Here, an entity can be a movie, show, game, live event, or other recommendable item. Each choice can affect the value of the others. Traditionally, it is built through a complex, multi-stage pipeline, with separate components for candidate generation and ranking at both the row and entity levels. We saw an opportunity to rethink this design. Large language models have shown that a single generative model can perform diverse tasks just by generating a response to a prompt. Inspired by this prompt-response paradigm, we trained a single generative model to build the homepage by directly answering one question: Given everything we know about this user and this request, what homepage should we generate to maximize user satisfaction? We call this approach GenPage. It treats the user history and request context as the prompt, and autoregressively generates the entire homepage as the response (Figure 1). Unlike most generative recommenders, such as TIGER, HSTU, and OneRec, which generate flat ranked lists, GenPage generates the rows, entities, and layout together. This shift is motivated by several goals: End-to-end modeling. A single transformer model that constructs the page from raw input signals can replace a complex multi-stage recommen

## Toward More Controllable AI Video Editing: An Early Research Exploration at Netflix

DevFeed: [Toward More Controllable AI Video Editing: An Early Research Exploration at Netflix](<https://devfeed.tech/articles/toward-more-controllable-ai-video-editing-an-early-research-exploration-at-netflix-143.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/toward-more-controllable-ai-video-editing-an-early-research-exploration-at-netflix-eb8160ed60a2?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-06-23T00:31:01Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [Netflix](<https://devfeed.tech/topics/netflix.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Generative AI](<https://devfeed.tech/topics/generative-ai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [generative](<https://devfeed.tech/tags/generative.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [research](<https://devfeed.tech/tags/research.md>), [technology](<https://devfeed.tech/tags/technology.md>), [video](<https://devfeed.tech/tags/video.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Netflix explores generative AI video editing methods designed to give artists precise control over changes while preserving source footage, creative intent, and physical continuity. The article discusses challenges including unintended edits and unnatural physics in professional video workflows.

### Source excerpt

By Zhuoning Yuan, Ta-Ying Cheng, Benjamin Klein, Bahareh Azarnoush Introduction At Netflix, we build technology to help storytellers bring their creative visions to life and to help members discover the stories they love. To connect stories with diverse audiences around the world, we produce promotional assets, including trailers, teasers, and social short-form videos, that build on and elevate the original footage. Through close collaboration with the teams crafting these assets, we identified a recurring gap in current tools. Transforming raw footage into a polished final asset often requires complex edits like seamlessly adding new visual elements, patching or replacing backgrounds, or removing unwanted objects without breaking the scene's physical continuity. These tasks typically demand hours of specialized manual editing work. While recent generative video editing models show promise, they often struggle to preserve the integrity of the source footage. Many methods regenerate every pixel to make an edit, which can fail to isolate changes and inadvertently alter elements that should remain untouched. To execute these tasks effectively, artists need tools that empower them to dictate exactly what changes and how it changes. Our research goal is to make this process easier for artists. We're deliberate about where and how AI is applied, ensuring that the technology always serves the creative intent. That principle drives our recent work: exploring the benefits of generative AI in ways that protect and expand creative choice, and keeping artists in precise control of their final vision. Recent advancements in AI video editing have demonstrated impressive capabilities in streamlining complex manual editing workflows, but key challenges remain before they can reliably support professional use: Unintended edits: When editing a specific element in a video clip, many methods regenerate the entire video, which can inadvertently alter identity, performance, and other ele

## How Netflix Simplified Batch Compute with Kueue

DevFeed: [How Netflix Simplified Batch Compute with Kueue](<https://devfeed.tech/articles/how-netflix-simplified-batch-compute-with-kueue-139.md>)

Original publisher: [Read original article](<https://netflixtechblog.com/how-netflix-simplified-batch-compute-with-kueue-87860682629c?source=rss----2615bd06b42e---4>)

Author: Netflix Technology Blog

Published: 2026-06-22T21:35:01Z

Content type: article

Language: en

Sources: [Netflix](<https://devfeed.tech/sources/netflix.md>), [Netflix TechBlog - Medium](<https://devfeed.tech/sources/netflix-techblog-medium.md>)

Topics: [kueue](<https://devfeed.tech/topics/kueue.md>), [Netflix](<https://devfeed.tech/topics/netflix.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [aws](<https://devfeed.tech/tags/aws.md>), [batch](<https://devfeed.tech/tags/batch.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [compute](<https://devfeed.tech/tags/compute.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [jobs](<https://devfeed.tech/tags/jobs.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kueue](<https://devfeed.tech/tags/kueue.md>), [migration](<https://devfeed.tech/tags/migration.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [platform](<https://devfeed.tech/tags/platform.md>), [resource](<https://devfeed.tech/tags/resource.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

Netflix describes its transition toward a more Kubernetes-native compute infrastructure and its adoption of Kueue, a cloud-native job queueing system for batch workloads. The article explains how Kueue replaced custom queuing and scheduling logic in Compute Managed Batch, supported the migration of millions of batch jobs, and enabled tenant-based capacity management and workload execution through Titus.

### Source excerpt

By Alvin Bao, Alex Petrov, Jennifer Lai, Aidan Sherr, and Samartha Chandrashekar As a part of the journey to transition Netflix's compute infrastructure to be more Kubernetes-native, we have leaned into incorporating components from the Kubernetes ecosystem into our container platform Titus. One example of this is our use of Kueue, a cloud-native job queueing system for batch workloads, which has largely replaced the custom queuing and scheduling logic in our homegrown managed batch solution Compute Managed Batch (CMB). In this post, we'll give an overview of what motivated the migration, how we migrated millions of batch jobs to use Kueue, and what Kueue allows us to offer as a Compute platform. Brief Overview of CMB and Titus CMB is a managed batch solution that allows users and applications to execute and manage workloads that run to completion. Using a tenant hierarchy, workloads are managed and queued with ordered execution through priorities, and capacity is managed on a per-tenant basis. Workloads that are submitted to CMB are then run on Titus. The features of Titus relevant to CMB are workload federation across multiple cells (Kubernetes clusters) and federated capacity reservations. This means CMB can talk to a single Titus endpoint to get/submit workloads and update capacity reservations without having to worry about the underlying cell/cluster topology. CMB Tenant Hierarchy Tenants provide a grouping mechanism for jobs submitted on behalf of certain organizations, platforms, or applications. Users can create and organize tenants however best suits their organization or use case. For example, an organization may use a single tenant across several applications or a complex hierarchical structure that matches its team and application ownership structure. Tenants are associated with a capacity configuration. The capacity configuration defines the amount of compute capacity available to the tenant and provides certain guarantees around isolation from other te