SlideShare a Scribd company logo
1 of 61
Download to read offline
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
A More Integrated
Build and CI to
Accelerate Builds at
Netflix
With Aubrey Chipman and Roberto Perez Alcolea
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
AUBREY CHIPMAN
Senior Software Engineer
JVM Ecosystem
ROBERTO PEREZ ALCOLEA
Senior Software Engineer
JVM Ecosystem
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Agenda
1. Introduction
2. Common problems on local and CI tool
experience
3. From enabling to managing constant
change
4. Improving the build performance and
consistency experience
5. Improving self-serviceability
6. What’s in the horizon
7. Q&A
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Introduction
1
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
The practice of continuous
integration
Notify failure or success
Continuous Integration
Server
Source Control Server
Fetch
changes
Test
Build
Succeed
/ fail
Commit changes
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Netflix JVM landscape
● ~3.2k repositories
● Microservices with fat clients
● Hundreds/Thousands of
Engineers
● ~191k JVM Builds per week
● ~63k artifacts (JARs) published
per week
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Netflix Jenkins landscape
● 35 Jenkins controllers
● ~45k job definitions
● ~600k builds per week
● 650-1500 agents
● 1-100 executors per agent
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Common
problems on
local and CI tool
experience
2
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Slow feedback loop
● Slow builds
○ Slow tests
○ Dependency downloading
● Flaky tests
● Compute Resources vary per
engineer
○ IDE
○ Local machine
○ CI machine
○ Distributed machine
○ Different architectures (Linux, OSX, Windows)
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Test times
Prior to rolling out Gradle Enterprise
& associated performance benefits,
we saw in a large project:
- 88% of all build time was spent in
tests
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Inconsistencies across
environments
● Missing tools
● Network Access
● Security Policies
● Docker Availability
● OS/Architecture related issues
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Constant change
● Keep projects up to date with
Platform recommended
practices
● Security vulnerabilities are out
there everyday
● How can we migrate a project
from A to B without so much
friction to the project owner?
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
From enabling
to managing
constant
change
3
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Build hygiene
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
In the past…
● Each project got its own
jenkins jobs for Gradle
and Dependency Updates
●
● ~6.5k Jenkins Jobs with
no centralized view
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
We introduced Rocket CI
● Rocket CI is a custom
Jenkins plugin and
Bitbucket plugin that
combines a suite of tools
for continuous integration
● Every JVM based project
at Netflix gets a set of
rocket enrollments
● Aspects of configuration
as code
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Rocket CI sends Pull Requests
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
User gets Pull Requests
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
As platform team, we have more
visibility
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Validating changes
even before making a
PR
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Validating changes pre-PR
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Improving the
build
performance and
consistency
experience
4
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Shared dependency
cache on CI agents
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Distributing dependency cache
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
CI build with shared
dependency cache
Local build with new
Gradle home
Cache usage examples
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Build & artifact
caching
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Varnish
Problems to solve:
- Lighten load on artifact
storage
- Caching 404s
Using this for…
- Fast dependency
cache!
- Build task output
cache!
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Varnish
Challenges:
- Cross-region
replication
- Cache eviction with
broadcasting PURGE
- Evicting many
build-specific cache
keys
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Artifact Cache Effectiveness
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Remote test execution
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Remote test execution
Takes your existing test suites
and distributes them across
remote agents to execute them
faster
The tests and their supporting
files are transferred to each
agent and executed, with their
logging and results streamed
back to the build in real time.
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Achieved benefits
● Reduce usage of local compute resources (local
development)
● Test behavior consistency across environments (local/CI)
● Faster tests execution by doing better parallelization using
available remote agents
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
One project before remote
test execution
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
One project with remote test
execution
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Improving
self-serviceability
5
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Enhanced build
insights
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Enhanced build insights
1
2
3
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Enhanced build insights
Easy access to build scans from Jenkins
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Enhanced build insights
Custom tags make for more filtering options
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Exported data & insights
Nebula is our wrapper over Gradle
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Exported data & insights
Where are builds running?
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Exported data & insights
IntelliJ version skew
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Flaky tests
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Flaky tests: what are they?
Test report view
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Flaky tests: aggregated view
Sunday - Saturday view: Oct 16-Oct 22, 2022
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Flaky tests: individual
Real projects
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Flaky tests: our asks
- We ask teams to take a look at their own flaky tests to
address these at their own cadence.
- Don’t just leave these flaky forever :)
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
What’s in the
horizon
6
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Predictive test
selection
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Predictive Test Selection
Increases developer
productivity by
automatically and
intelligently selecting and
executing the subset of
tests that are most
relevant to a code change,
providing faster feedback.
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
When do we use Predictive
Test Selection?
● Local Build that is not executing a publishing task
● CI builds that are Pull Requests
● CI where the branch is not the default/main branch and it is
not a release branch
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Simulations are promising
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
One project with predictive
test selection
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Container experience
for Integration Testing
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Container Experience for Integration Testing
● Explore AtomicJar Testcontainers cloud to reduce
operational complexity
○ Architecture differences between Local and CI
■ ARM vs x64
○ IPV6 support
○ Compute resources for Docker
■ Memory
■ Disk Space
○ Cleanup Docker containers and images
○ Remove VM based Remote Test Execution Agent Pools
■ Slower to scale up/down
■ No more Docker management
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
IDE enhancements
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
IDE Enhancements
- Shared indexes for internal projects
- Manage IDE versions in use
- Team plugins testing against latest IDE versions
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Key takeaways
- Avoid work at every level
- Read-only dependency caches
- Task caches
- Streamline work
- Test distribution
- Test selection
- There’s always low hanging fruit
- Local and CI experience should be consistent
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Come see us at these
other talks as well!
“How we Built a Distributed Testing
Platform” with Marc Philipps and Roberto
Perez Alcolea at 03:00 pm in Room Ride
Live DPE Showdown with Aubrey Chipman
at 04:00 pm in Room Ride
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Thank you!
A MORE INTEGRATED BUILD AND CI
TO ACCELERATE BUILDS AT NETFLIX
Q&A
7

More Related Content

What's hot

Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMartin Etmajer
 
OSMC 2022 | AI Driven Observability based on Open Source by Satish Karunakaran
OSMC 2022 | AI Driven Observability based on Open Source by Satish KarunakaranOSMC 2022 | AI Driven Observability based on Open Source by Satish Karunakaran
OSMC 2022 | AI Driven Observability based on Open Source by Satish KarunakaranNETWAYS
 
Overview of API Management Architectures
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management ArchitecturesNordic APIs
 
apidays Paris 2022 - Agile API delivery with Feature Toggles, Rafik Ferroukh,...
apidays Paris 2022 - Agile API delivery with Feature Toggles, Rafik Ferroukh,...apidays Paris 2022 - Agile API delivery with Feature Toggles, Rafik Ferroukh,...
apidays Paris 2022 - Agile API delivery with Feature Toggles, Rafik Ferroukh,...apidays
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container PlatformDLT Solutions
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - ObservabilityAraf Karsh Hamid
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API StrategyMatt McLarty
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital TransformationAditya Thatte
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy IntroductionDoug Gregory
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
API Management - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!Sven Bernhardt
 
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...apidays
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsJohnMcGuigan10
 
Red Hat: Three Pillars of Integration
Red Hat:  Three Pillars of IntegrationRed Hat:  Three Pillars of Integration
Red Hat: Three Pillars of IntegrationJudy Breedlove
 
Cloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust VisibilityCloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust VisibilityRaphaël PINSON
 
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Apigee | Google Cloud
 

What's hot (20)

Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
 
OSMC 2022 | AI Driven Observability based on Open Source by Satish Karunakaran
OSMC 2022 | AI Driven Observability based on Open Source by Satish KarunakaranOSMC 2022 | AI Driven Observability based on Open Source by Satish Karunakaran
OSMC 2022 | AI Driven Observability based on Open Source by Satish Karunakaran
 
Overview of API Management Architectures
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management Architectures
 
apidays Paris 2022 - Agile API delivery with Feature Toggles, Rafik Ferroukh,...
apidays Paris 2022 - Agile API delivery with Feature Toggles, Rafik Ferroukh,...apidays Paris 2022 - Agile API delivery with Feature Toggles, Rafik Ferroukh,...
apidays Paris 2022 - Agile API delivery with Feature Toggles, Rafik Ferroukh,...
 
Openshift Container Platform
Openshift Container PlatformOpenshift Container Platform
Openshift Container Platform
 
Observability driven development
Observability driven developmentObservability driven development
Observability driven development
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
Service Mesh - Observability
Service Mesh - ObservabilityService Mesh - Observability
Service Mesh - Observability
 
Apache NiFi Crash Course Intro
Apache NiFi Crash Course IntroApache NiFi Crash Course Intro
Apache NiFi Crash Course Intro
 
How to Execute a Successful API Strategy
How to Execute a Successful API StrategyHow to Execute a Successful API Strategy
How to Execute a Successful API Strategy
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
API Management - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!
 
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
apidays Paris 2022 - Generating APIs from business models, Frederic Fontanet,...
 
DEVSECOPS.pptx
DEVSECOPS.pptxDEVSECOPS.pptx
DEVSECOPS.pptx
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design Platforms
 
Red Hat: Three Pillars of Integration
Red Hat:  Three Pillars of IntegrationRed Hat:  Three Pillars of Integration
Red Hat: Three Pillars of Integration
 
Cloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust VisibilityCloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust Visibility
 
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs
 

Similar to DPE Summit - A More Integrated Build and CI to Accelerate Builds at Netflix

VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetessparkfabrik
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops OverviewJoel W. King
 
Test Driven Infrastructure with Serverspec and KitchenCI
Test Driven Infrastructure with Serverspec and KitchenCITest Driven Infrastructure with Serverspec and KitchenCI
Test Driven Infrastructure with Serverspec and KitchenCIAdedayo Akinpelu
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101Hazzim Anaya
 
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & HybridAWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & HybridAmazon Web Services
 
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps and Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps and HybridAWS Summit Tel Aviv - Enterprise Track - Enterprise Apps and Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps and HybridAmazon Web Services
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsNigel Charman
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...NETWAYS
 
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...Nima Badiey
 
VMworld 2014: How I Learned to Stop Worrying and Love the Public Cloud
VMworld 2014: How I Learned to Stop Worrying and Love the Public CloudVMworld 2014: How I Learned to Stop Worrying and Love the Public Cloud
VMworld 2014: How I Learned to Stop Worrying and Love the Public CloudVMworld
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson LinHanLing Shen
 
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...Michael Hofmann
 
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef DeliveryBuilding and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef DeliveryMandi Walls
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...David Rosen
 
Ansible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIAnsible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIJoel W. King
 
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps_Fest
 
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)Steffen Gebert
 
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...CA Technologies
 
Continuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryContinuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryDatabricks
 

Similar to DPE Summit - A More Integrated Build and CI to Accelerate Builds at Netflix (20)

VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
VMworld Europe 2014: A DevOps Story - Unlocking the Power of Docker with the ...
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
 
Test Driven Infrastructure with Serverspec and KitchenCI
Test Driven Infrastructure with Serverspec and KitchenCITest Driven Infrastructure with Serverspec and KitchenCI
Test Driven Infrastructure with Serverspec and KitchenCI
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & HybridAWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps & Hybrid
 
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps and Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps and HybridAWS Summit Tel Aviv - Enterprise Track - Enterprise Apps and Hybrid
AWS Summit Tel Aviv - Enterprise Track - Enterprise Apps and Hybrid
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of Jenkins
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
 
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
 
VMworld 2014: How I Learned to Stop Worrying and Love the Public Cloud
VMworld 2014: How I Learned to Stop Worrying and Love the Public CloudVMworld 2014: How I Learned to Stop Worrying and Love the Public Cloud
VMworld 2014: How I Learned to Stop Worrying and Love the Public Cloud
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
 
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef DeliveryBuilding and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
 
Ansible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACIAnsible Tower | Docker | Cisco ACI
Ansible Tower | Docker | Cisco ACI
 
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
 
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
Jenkins vs. AWS CodePipeline (AWS User Group Berlin)
 
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
Technology Primer: Closing the DevOps Loop by Integrating CA Application Perf...
 
Continuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryContinuous Integration & Continuous Delivery
Continuous Integration & Continuous Delivery
 

More from Roberto Pérez Alcolea

Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Escaping Dependency Hell: A deep dive into Gradle's dependency management fea...
Escaping Dependency Hell: A deep dive into Gradle's dependency management fea...Escaping Dependency Hell: A deep dive into Gradle's dependency management fea...
Escaping Dependency Hell: A deep dive into Gradle's dependency management fea...Roberto Pérez Alcolea
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
 
Dependency Management in a Complex World (JConf Chicago 2022)
Dependency Management in a Complex World (JConf Chicago 2022)Dependency Management in a Complex World (JConf Chicago 2022)
Dependency Management in a Complex World (JConf Chicago 2022)Roberto Pérez Alcolea
 
Leveraging Gradle @ Netflix (Guadalajara JUG Feb 25, 2021)
Leveraging Gradle @ Netflix (Guadalajara JUG Feb 25, 2021)Leveraging Gradle @ Netflix (Guadalajara JUG Feb 25, 2021)
Leveraging Gradle @ Netflix (Guadalajara JUG Feb 25, 2021)Roberto Pérez Alcolea
 
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)Roberto Pérez Alcolea
 
Dependency Management at Scale @ JConf Centroamérica 2020
Dependency Management at Scale @ JConf Centroamérica 2020Dependency Management at Scale @ JConf Centroamérica 2020
Dependency Management at Scale @ JConf Centroamérica 2020Roberto Pérez Alcolea
 
GR8ConfUS 2018 - High Scalable Streaming Microservices with Kafka Streams
GR8ConfUS 2018 - High Scalable Streaming Microservices with Kafka StreamsGR8ConfUS 2018 - High Scalable Streaming Microservices with Kafka Streams
GR8ConfUS 2018 - High Scalable Streaming Microservices with Kafka StreamsRoberto Pérez Alcolea
 
GR8ConfUS 2018 - High performant in-memory datasets with Netflix H0110W
GR8ConfUS 2018 - High performant in-memory datasets with Netflix H0110WGR8ConfUS 2018 - High performant in-memory datasets with Netflix H0110W
GR8ConfUS 2018 - High performant in-memory datasets with Netflix H0110WRoberto Pérez Alcolea
 
GR8ConfUS 2017 - Real Time Traffic Visualization with Vizceral and Hystrix
GR8ConfUS 2017 - Real Time Traffic Visualization with Vizceral and HystrixGR8ConfUS 2017 - Real Time Traffic Visualization with Vizceral and Hystrix
GR8ConfUS 2017 - Real Time Traffic Visualization with Vizceral and HystrixRoberto Pérez Alcolea
 

More from Roberto Pérez Alcolea (11)

Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Escaping Dependency Hell: A deep dive into Gradle's dependency management fea...
Escaping Dependency Hell: A deep dive into Gradle's dependency management fea...Escaping Dependency Hell: A deep dive into Gradle's dependency management fea...
Escaping Dependency Hell: A deep dive into Gradle's dependency management fea...
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Dependency Management in a Complex World (JConf Chicago 2022)
Dependency Management in a Complex World (JConf Chicago 2022)Dependency Management in a Complex World (JConf Chicago 2022)
Dependency Management in a Complex World (JConf Chicago 2022)
 
Leveraging Gradle @ Netflix (Guadalajara JUG Feb 25, 2021)
Leveraging Gradle @ Netflix (Guadalajara JUG Feb 25, 2021)Leveraging Gradle @ Netflix (Guadalajara JUG Feb 25, 2021)
Leveraging Gradle @ Netflix (Guadalajara JUG Feb 25, 2021)
 
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
 
Dependency Management at Scale @ JConf Centroamérica 2020
Dependency Management at Scale @ JConf Centroamérica 2020Dependency Management at Scale @ JConf Centroamérica 2020
Dependency Management at Scale @ JConf Centroamérica 2020
 
Dependency Management at Scale
Dependency Management at ScaleDependency Management at Scale
Dependency Management at Scale
 
GR8ConfUS 2018 - High Scalable Streaming Microservices with Kafka Streams
GR8ConfUS 2018 - High Scalable Streaming Microservices with Kafka StreamsGR8ConfUS 2018 - High Scalable Streaming Microservices with Kafka Streams
GR8ConfUS 2018 - High Scalable Streaming Microservices with Kafka Streams
 
GR8ConfUS 2018 - High performant in-memory datasets with Netflix H0110W
GR8ConfUS 2018 - High performant in-memory datasets with Netflix H0110WGR8ConfUS 2018 - High performant in-memory datasets with Netflix H0110W
GR8ConfUS 2018 - High performant in-memory datasets with Netflix H0110W
 
GR8ConfUS 2017 - Real Time Traffic Visualization with Vizceral and Hystrix
GR8ConfUS 2017 - Real Time Traffic Visualization with Vizceral and HystrixGR8ConfUS 2017 - Real Time Traffic Visualization with Vizceral and Hystrix
GR8ConfUS 2017 - Real Time Traffic Visualization with Vizceral and Hystrix
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

DPE Summit - A More Integrated Build and CI to Accelerate Builds at Netflix

  • 1. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX A More Integrated Build and CI to Accelerate Builds at Netflix With Aubrey Chipman and Roberto Perez Alcolea
  • 2. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX AUBREY CHIPMAN Senior Software Engineer JVM Ecosystem ROBERTO PEREZ ALCOLEA Senior Software Engineer JVM Ecosystem
  • 3. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Agenda 1. Introduction 2. Common problems on local and CI tool experience 3. From enabling to managing constant change 4. Improving the build performance and consistency experience 5. Improving self-serviceability 6. What’s in the horizon 7. Q&A
  • 4. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Introduction 1
  • 5. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX The practice of continuous integration Notify failure or success Continuous Integration Server Source Control Server Fetch changes Test Build Succeed / fail Commit changes
  • 6. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Netflix JVM landscape ● ~3.2k repositories ● Microservices with fat clients ● Hundreds/Thousands of Engineers ● ~191k JVM Builds per week ● ~63k artifacts (JARs) published per week
  • 7. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Netflix Jenkins landscape ● 35 Jenkins controllers ● ~45k job definitions ● ~600k builds per week ● 650-1500 agents ● 1-100 executors per agent
  • 8. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Common problems on local and CI tool experience 2
  • 9. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Slow feedback loop ● Slow builds ○ Slow tests ○ Dependency downloading ● Flaky tests ● Compute Resources vary per engineer ○ IDE ○ Local machine ○ CI machine ○ Distributed machine ○ Different architectures (Linux, OSX, Windows)
  • 10. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Test times Prior to rolling out Gradle Enterprise & associated performance benefits, we saw in a large project: - 88% of all build time was spent in tests
  • 11. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Inconsistencies across environments ● Missing tools ● Network Access ● Security Policies ● Docker Availability ● OS/Architecture related issues
  • 12. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Constant change ● Keep projects up to date with Platform recommended practices ● Security vulnerabilities are out there everyday ● How can we migrate a project from A to B without so much friction to the project owner?
  • 13. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX From enabling to managing constant change 3
  • 14. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Build hygiene
  • 15. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX In the past… ● Each project got its own jenkins jobs for Gradle and Dependency Updates ● ● ~6.5k Jenkins Jobs with no centralized view
  • 16. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX We introduced Rocket CI ● Rocket CI is a custom Jenkins plugin and Bitbucket plugin that combines a suite of tools for continuous integration ● Every JVM based project at Netflix gets a set of rocket enrollments ● Aspects of configuration as code
  • 17. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Rocket CI sends Pull Requests
  • 18. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX User gets Pull Requests
  • 19. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX As platform team, we have more visibility
  • 20. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Validating changes even before making a PR
  • 21. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Validating changes pre-PR
  • 22. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Improving the build performance and consistency experience 4
  • 23. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Shared dependency cache on CI agents
  • 24. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Distributing dependency cache
  • 25. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX CI build with shared dependency cache Local build with new Gradle home Cache usage examples
  • 26. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Build & artifact caching
  • 27. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Varnish Problems to solve: - Lighten load on artifact storage - Caching 404s Using this for… - Fast dependency cache! - Build task output cache!
  • 28. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Varnish Challenges: - Cross-region replication - Cache eviction with broadcasting PURGE - Evicting many build-specific cache keys
  • 29. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Artifact Cache Effectiveness
  • 30. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Remote test execution
  • 31. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Remote test execution Takes your existing test suites and distributes them across remote agents to execute them faster The tests and their supporting files are transferred to each agent and executed, with their logging and results streamed back to the build in real time.
  • 32. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Achieved benefits ● Reduce usage of local compute resources (local development) ● Test behavior consistency across environments (local/CI) ● Faster tests execution by doing better parallelization using available remote agents
  • 33. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX One project before remote test execution
  • 34. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX One project with remote test execution
  • 35. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Improving self-serviceability 5
  • 36. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Enhanced build insights
  • 37. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Enhanced build insights 1 2 3
  • 38. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Enhanced build insights Easy access to build scans from Jenkins
  • 39. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Enhanced build insights Custom tags make for more filtering options
  • 40. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Exported data & insights Nebula is our wrapper over Gradle
  • 41. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Exported data & insights Where are builds running?
  • 42. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Exported data & insights IntelliJ version skew
  • 43. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Flaky tests
  • 44. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Flaky tests: what are they? Test report view
  • 45. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Flaky tests: aggregated view Sunday - Saturday view: Oct 16-Oct 22, 2022
  • 46. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Flaky tests: individual Real projects
  • 47. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Flaky tests: our asks - We ask teams to take a look at their own flaky tests to address these at their own cadence. - Don’t just leave these flaky forever :)
  • 48. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX What’s in the horizon 6
  • 49. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Predictive test selection
  • 50. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Predictive Test Selection Increases developer productivity by automatically and intelligently selecting and executing the subset of tests that are most relevant to a code change, providing faster feedback.
  • 51. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX When do we use Predictive Test Selection? ● Local Build that is not executing a publishing task ● CI builds that are Pull Requests ● CI where the branch is not the default/main branch and it is not a release branch
  • 52. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Simulations are promising
  • 53. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX One project with predictive test selection
  • 54. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Container experience for Integration Testing
  • 55. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Container Experience for Integration Testing ● Explore AtomicJar Testcontainers cloud to reduce operational complexity ○ Architecture differences between Local and CI ■ ARM vs x64 ○ IPV6 support ○ Compute resources for Docker ■ Memory ■ Disk Space ○ Cleanup Docker containers and images ○ Remove VM based Remote Test Execution Agent Pools ■ Slower to scale up/down ■ No more Docker management
  • 56. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX IDE enhancements
  • 57. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX IDE Enhancements - Shared indexes for internal projects - Manage IDE versions in use - Team plugins testing against latest IDE versions
  • 58. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Key takeaways - Avoid work at every level - Read-only dependency caches - Task caches - Streamline work - Test distribution - Test selection - There’s always low hanging fruit - Local and CI experience should be consistent
  • 59. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Come see us at these other talks as well! “How we Built a Distributed Testing Platform” with Marc Philipps and Roberto Perez Alcolea at 03:00 pm in Room Ride Live DPE Showdown with Aubrey Chipman at 04:00 pm in Room Ride
  • 60. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Thank you!
  • 61. A MORE INTEGRATED BUILD AND CI TO ACCELERATE BUILDS AT NETFLIX Q&A 7