Home Latest News QCon SF 2023: How Netflix Really Uses Java by Paul Bakker –...

QCon SF 2023: How Netflix Really Uses Java by Paul Bakker – InfoQ.com

Facilitating the Spread of Knowledge and Innovation in Professional Software Development


Elspeth Minty discusses the background of FINOS, introduces some of its projects and initiatives, and the importance of FINOS to open source in the financial services industry.
Sherin Thomas discusses strategies to evolve Data Infrastructure to enable Kappa architecture in an organization.
Adam Azzam discusses why building machine learning pipelines to extract structured data from unstructured text is a popular problem within an unpopular development lifecycle.
In this podcast Shane Hastie, Lead Editor for Culture & Methods spoke to Sharon Robson about crisis management and business resilience, particularly in the context of technology and software supply chains.
In this episode, Adam Jacob, CEO and co-founder at System Initiative, sat down with InfoQ podcast co-host Daniel Bryant to discuss the evolution and potential future directions of DevOps and managing infrastructure. Topics covered included the challenges remaining within the DevOps movement, how to model and manage infrastructure, and how to increase collaboration between developers and operators.
Learn how to accelerate your cloud transformation with observability. Register for free with code INFOQCLOUDNOV23.
Video-Only Pass for professionally edited conference recordings. Available from Oct 20, 2023.
Discover new ideas and insights from senior practitioners driving change in software. Attend in-person.
Your monthly guide to all the topics, technologies and techniques that every professional needs to know about. Subscribe for free.
InfoQ Homepage News QCon SF 2023: How Netflix Really Uses Java by Paul Bakker
Oct 09, 2023 2 min read
by
Michael Redlich
Paul Bakker, Java Platform at Netflix, Java Champion, and co-author of "Java 9 Modularity," presented How Netflix Really Uses Java at the 2023 QCon San Francisco conference.
Bakker put an end to the myth that "Netflix is all RxJava microservices with Hystrix and Spring Cloud and Chaos Monkeys running the show."
Bakker described the original architecture behind the familiar Netflix movie application, accessed via television and other devices, that connects to their Groovy-enabled API server using REST and gRPC connections to their various services.
1infoq netflix architecture 01 1696877032453
The first upgrades featured multiple remote calls, parallel computing and fault tolerance implemented with RxJava and Hystrix. However, there were limitations such as: a script required for each endpoint, UI developers who generally don't like Groovy and Java; and the fact that reactive programming is hard.
1infoq netflix architecture 02 1696877032453
Bakker then introduced the GraphQL Federation, an architecture model that allows multiple GraphQL services, known as subgraphs or federated services, to be combined into a single schema or API, and the concept behind GraphQL as an alternative to the over-fetching and under-fetching issues inherent in REST.
Their GraphQL Federated Gateway connecting to Domain Graph Services (DGS) essentially replaced the original API server to communicate with the various services via gRPC. Benefits included: no API duplication; no server-side development for the UI developers; a shared GraphQL schema; and no Java client libraries.
1infoq netflix architecture 03 1696877032453
Java remains in active development at Netflix. They support Azul Zulu 17, Azul's downstream distribution of OpenJDK, with active testing on JDK 21, running approximately 2800 applications built with approximately 1500 libraries. Gradle along with Nebula, a collection of Gradle plugins built by Netflix, and IntelliJ IDEA are their preferred build tools.
Bakker provided a retrospective of their JDK 17 upgrade that provided performance benefits, especially since they were running JDK 8 as recently as this year. Netflix observed a 20% improvement of CPU usage on JDK 17 compared to JDK 8. This was mostly due to the improvements in the G1 garbage collector.
Netflix is actively testing on JDK 21, and Bakker feels that a subsequent upgrade to JDK 21 will be much easier and faster. The use of Generational ZGC will be a much better fit for a variety of workloads at Netflix and they will ultimately replace their thread pools with virtual threads. But "virtual threads are not a free lunch," Bakker maintained, as he warned that simply adding virtual threads to an application can actually decrease performance if the libraries are CPU intensive.
Netflix also supports Spring Cloud with Spring Cloud Netflix, a subproject that provides Netflix open-source software integrations for Spring Boot apps.

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

We protect your privacy.
You need to Register an InfoQ account or or login to post comments. But there’s so much more behind being registered.
Get the most out of the InfoQ experience.
Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p
by scott beeker,
by scott beeker,
Your message is awaiting moderation. Thank you for participating in the discussion.
It’s really great to be able to learn from his experience at Netflix.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

We protect your privacy.
April 8-10, 2024
Real-world technical talks. No product pitches.
Practical ideas to inspire you and your team.
QCon London International Software Development Conference returns on April 8-10, 2024. Level-up on 15 major software and leadership topics including; The Tech of FinTech, What’s Next in GenAI and Large Language Models (LLMs), Performance Engineering, Architecture for the Age of AI, Innovations in Data Engineering and more.
Learn the emerging trends. Explore the use cases. Implement the best practices.
SAVE YOUR SPOT NOW
InfoQ.com and all content copyright © 2006-2023 C4Media Inc.
Privacy Notice, Terms And Conditions, Cookie Policy

source