Netflix’s backend infrastructure extensively uses Java and Kotlin with Spring Boot, leveraging AI tools like Claude Code to automate complex code migrations and optimize application performance through agentic workflows. Despite challenges with new Java features like virtual threads, Netflix combines AI-driven automation with developer control to maintain and evolve its large-scale microservices architecture efficiently.
The video emphasizes that Netflix’s backend infrastructure is heavily built on Java, dispelling myths that Java is outdated or slow. Netflix uses Java primarily for its backend microservices supporting both its streaming platform and its movie production studio applications. The architecture involves a federated GraphQL gateway that orchestrates thousands of microservices, mostly written in Kotlin and Java, running on Spring Boot. Netflix also employs a unique content delivery system called Open Connect, which ships servers loaded with video content directly to internet service providers to optimize streaming performance and reduce costs.
Netflix’s Java platform is continuously evolving, with the number of Java applications growing from around 3,000 to over 4,000. The company prefers Java for its balance of runtime performance, developer productivity, and maintainability, especially compared to languages like Python and C++. Kotlin, interoperable with Java and requiring less boilerplate code, is increasingly used alongside Java. Netflix also customizes Spring Boot testing to efficiently handle their large-scale applications and has fully migrated to Spring Boot 3, preparing to adopt Spring Boot 4 with the help of AI-driven tools.
A significant highlight is Netflix’s innovative use of AI, particularly Claude Code, to automate complex code migrations such as the transition to Spring Boot 4. Unlike traditional deterministic tools like Open Rewrite, AI agents provide more flexible, cost-effective handling of edge cases in code migration. Netflix has developed a workflow engine that runs AI migrations in isolated sub-agents, allowing parallel and manageable upgrades with traceability for debugging. This hybrid approach combines AI with deterministic scripts, ensuring developers remain in control and can intervene when necessary.
The video also discusses challenges with Java’s new virtual threads and structured concurrency introduced in JDK 25. While virtual threads promise better concurrency, they break existing frameworks that rely on thread-local storage for context propagation. Netflix addresses this by using a library to manually propagate context across threads, enabling the use of structured concurrency without rewriting all frameworks. This highlights the practical complexities of adopting new Java features in large-scale production environments.
Finally, Netflix integrates AI within its Java microservices beyond migrations by building agentic workflows using Spring AI. These workflows chain multiple LLM calls to analyze and optimize application performance, such as diagnosing slow Spring bean startups and providing actionable recommendations. This approach demonstrates how AI can augment developer productivity without replacing human oversight. The video concludes by encouraging Java developers to embrace AI tools and upgrade their Java versions, showcasing Netflix as a leading example of modern Java and AI integration in production.