{"slug": "netflix-details-its-in-house-llm-serving-platform-with-triton-and-vllm", "title": "Netflix Details Its In-House LLM Serving Platform with Triton and vLLM", "summary": "Netflix detailed its in-house LLM serving platform built on Triton and vLLM, revealing how it handles real-time and batch inference across CPUs and GPUs while managing version compatibility and constrained decoding challenges. The platform integrates with Netflix's existing JVM-based serving layer, with Triton managing model loading and GPU scheduling and vLLM performing inference, but mismatched versions can prevent deployments from loading. Netflix also compared Triton's Python and vLLM backends, finding the vLLM-backend approach allows models and frontends to evolve more independently.", "body_md": "Netflix [has described](https://netflixtechblog.com/in-house-llm-serving-at-netflix-a5a8e799ea2c) the production lessons behind bringing LLM inference into its internal serving platform, including the challenges of supporting different model sizes, hardware requirements, and rapidly evolving inference engines.\n\nThe company’s account covers the architectural choices and operational work involved in running real-time and batch workloads across CPUs and GPUs, from model packaging and deployment to constrained decoding and version compatibility.\n\nThe platform builds on Netflix’s existing JVM-based serving layer, which continues to handle routing, feature retrieval, candidate generation, post-processing, and logging. Smaller models can run in-process on CPUs, while larger requests are delegated to MSS, where Triton takes over model loading, batching, GPU scheduling, and multi-framework serving. This allows the surrounding production workflow to remain consistent even as inference moves between local and remote hardware.\n\nWithin the GPU path, Netflix selected vLLM for its operational fit and extensibility while retaining Triton’s model-management and scheduling responsibilities. Triton controls the serving environment around the model, whereas vLLM performs inference and provides extension mechanisms for custom behaviour. Netflix reports that mismatched Triton and vLLM versions can prevent deployments from loading, requiring compatible releases to be tested and pinned together.\n\nCustom models introduced another integration challenge. Hugging Face compatibility in vLLM was insufficient for some Netflix models, so the company used vLLM extension points for custom architectures and decoding behaviour.\n\nNetflix also compared two Triton packaging approaches: Triton’s Python backend and its vLLM backend. The company reports that the vLLM-backend approach allows models and frontends to evolve more independently than the Python-backend option. The choice affects how tightly a model is coupled to its serving environment rather than which engine performs inference.\n\nThe common serving interface did not eliminate differences between the underlying engines. Although Triton exposed an OpenAI-compatible API alongside KServe HTTP and gRPC frontends, Netflix still encountered gaps in how some features were handled across those integrations.\n\nConstrained decoding was one example. It allows Netflix to force model responses into formats such as valid JSON by filtering the tokens the model may generate at each step. Because those rules depend on everything generated so far, the decoder must maintain state throughout the request. When vLLM pauses and later resumes a request to manage GPU resources, that state can fall out of sync with the token history, so\n\nNetflix added logic to detect the change and rebuild it before generation continues.\n\nCompatibility also affected deployment. Netflix pins tested Triton and vLLM versions together to prevent backend-loading failures, while Red-Black and Versioned deployment strategies handle changes at the model level. Versioned deployments keep old and new revisions available separately, allowing consumers to migrate after adapting to incompatible input or output schemas.\n\nUber [has described](https://www.infoq.com/news/2024/09/uber-genai-gateway-llm-openai/) a related approach at the application boundary. Its generative AI gateway presents an OpenAI-compatible interface across externally hosted and internally managed models, while centralising concerns including authentication, caching, observability, and routing. The implementation differs from Netflix’s serving platform, but both separate application integrations from the models, runtimes, and hosting environments behind them.\n\nNetflix’s experience shows how a common serving interface can sit above several distinct layers. This type of architecture reflects a broader effort to give application teams a stable integration surface while model providers and serving runtimes continue to change. Netflix’s account also shows that the abstraction does not remove the underlying work: packaging, compatibility controls, constrained decoding, and deployment isolation still require engineering at each layer.", "url": "https://wpnews.pro/news/netflix-details-its-in-house-llm-serving-platform-with-triton-and-vllm", "canonical_source": "https://www.infoq.com/news/2026/07/netflix-llm-platform/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", "published_at": "2026-07-27 07:33:00+00:00", "updated_at": "2026-07-27 08:06:44.494016+00:00", "lang": "en", "topics": ["large-language-models", "ai-infrastructure", "ai-products", "ai-tools"], "entities": ["Netflix", "Triton", "vLLM", "Hugging Face", "Uber", "KServe", "OpenAI"], "alternates": {"html": "https://wpnews.pro/news/netflix-details-its-in-house-llm-serving-platform-with-triton-and-vllm", "markdown": "https://wpnews.pro/news/netflix-details-its-in-house-llm-serving-platform-with-triton-and-vllm.md", "text": "https://wpnews.pro/news/netflix-details-its-in-house-llm-serving-platform-with-triton-and-vllm.txt", "jsonld": "https://wpnews.pro/news/netflix-details-its-in-house-llm-serving-platform-with-triton-and-vllm.jsonld"}}