Loading…
BazelCon 2024 has ended
October 14-15, 2024
Mountain View, CA
View More Details & Registration

The Sched app allows you to build your schedule but is separate from your event registration. You must be registered for BazelCon 2024 to participate in the sessions. If you have not registered but would like to join us, please go to the event registration page to registration.

This schedule is automatically displayed in Pacific Daylight Time (PDT) | UTC -7. To see the schedule in your preferred timezone, please select from the drop-down located at the bottom of the menu to the right.

IMPORTANT NOTE: Timing of sessions and room locations are subject to change.
strong>Lightning Talks [clear filter]
arrow_back View All Dates
Monday, October 14
 

11:50am PDT

Action Deduplication: Faster and Cheaper Remote Builds Without Lifting a Finger - Christian Scott, Canva
Monday October 14, 2024 11:50am - 12:00pm PDT
In this session I will discuss remote action deduplication, a feature of some Bazel RBE backends. I will explain the problem it solves, how it works, and some details about how well it has worked for us. I'll also quickly touch on merge queues, and mention some RBE backends that support the feature. --- If you run builds on every master commit, and you have commits landing more quickly than your slowest action can finish, you'll end up rebuilding unnecessarily. We estimated that our slowest webpack action was being re-run unnecessarily 66% of the time! This action is an input to a large number of expensive integration tests so it's very likely that we're also wasting a lot of compute on those tests as well. The web page builds and tests account for the vast majority of the compute we use in CI. The number of wasted builds would be even higher if we were using a merge queue, so we have been forced to stick to a conventional merge strategy. By running these builds remotely and using an RBE backend that supports action deduplication, we've massively (25%, more expected by BazelCon) reduced the amount of compute needed to build and test web pages.
Speakers
avatar for Christian Scott

Christian Scott

Software Engineer, Canva
Working on making the build and test experience faster and more reliable for frontend engineers at Canva.
Monday October 14, 2024 11:50am - 12:00pm PDT
Hahn Auditorium
  Lightning Talks
  • Audience Level Beginner
  • Presentation Slides Attached Yes

12:00pm PDT

Building 1300 Container Images in 4 Minutes - Sushain Cherivirala, Stripe
Monday October 14, 2024 12:00pm - 12:10pm PDT
Container images are a ubiquitous mechanism for deploying applications in the modern computing landscape. Everything from services deployed on bare-metal Kubernetes to AWS Lambda functions depend on container images. Building these images quickly and efficiently is critical to keeping CI/CD responsive. In recent years, Stripe has undergone dual migrations. One, to a service oriented architecture. Two, to running services inside Kubernetes. Together, these migrations meant our CI pipelines to build containers became slower and more expensive with each passing month. With a build producing over a terabyte of images, Bazel just couldn't build them fast enough! Even disk space was in short supply. Learn how we flipped the script on our container builds by leveraging BwoB (Build without the Bytes). Now, we can build 1300+ container images in just a couple minutes with plenty of headroom for more. Bazel's entire output space fits in RAM and there's never a single byte of container images on disk!
Speakers
avatar for Sushain Cherivirala

Sushain Cherivirala

Staff Software Engineer, Stripe
Sushain is the tech lead for Stripe's Build Infra team. He joined Stripe from Stanford and Carnegie Mellon in 2019 and has been evangelizing Bazel ever since. In addition to writing Stripe's Ruby and JavaScript rulesets, Sushain has migrated millions of lines of Stripe code and hundreds... Read More →
Monday October 14, 2024 12:00pm - 12:10pm PDT
Hahn Auditorium
  Lightning Talks

12:10pm PDT

Performant Bazel Builds for Web Monorepos at Scale - Sharmila Jesupaul, Airbnb
Monday October 14, 2024 12:10pm - 12:20pm PDT
In this talk, you'll gain practical insights from our experience migrating Airbnb's web monorepo (which houses millions of lines of TS/JS code) to Bazel. We developed methods and tooling to trim down input sizes, share the cache between MacOS and Linux, persist caches through local and remote builds, catch and fix non-deterministic builds, and automatically generate BUILD files from JS/TS code. This helped us create a robust system for adopting Bazel without compromising on developer experience. These insights are designed to help you navigate similar migrations, improve build performance, and reuse builds across platforms.
Speakers
avatar for Sharmila Jesupaul

Sharmila Jesupaul

Staff Software Engineer, Airbnb
Sharmila Jesupaul is a Staff Software Engineer with a passion for Bazel, TypeScript & JavaScript tools, and developer process & productivity. A former web developer turned infrastructure engineer, she has spent the last five years at Airbnb working on web build-tools, testing tools... Read More →
Monday October 14, 2024 12:10pm - 12:20pm PDT
Hahn Auditorium
  Lightning Talks
  • Audience Level Beginner
  • Presentation Slides Attached Yes

4:00pm PDT

Introducing Remote Bazel - Maggie Lou, BuildBuddy
Monday October 14, 2024 4:00pm - 4:10pm PDT
Many at this conference are familiar with Remote Caching and Remote Execution. Over at BuildBuddy, we’re excited to introduce Remote Bazel - running the Bazel client server and command remotely as well, making your builds even faster and more correct. Even if your builds are triggered by ephemeral CI runners, Remote Bazel will guarantee your builds always run with a warm analysis and repository cache, and remove the need to pull images, install dependencies, and clone git repos on each run. Running builds in the same datacenter as the remote cache and executors also reduces network bottlenecks and egress costs. Even if your company’s developers use machines with different operating systems or versions of tools or don’t even have Bazel installed, Remote Bazel will guarantee that important builds are run in the exact same environment every time. This talk will provide a quick overview of how we built this and the many applications we’re excited about - from speeding up CI to augmenting our UI to improving the daily developer experience via the CLI.
Speakers
avatar for Maggie Lou

Maggie Lou

Software Engineer, BuildBuddy
Maggie is a software engineer at BuildBuddy working on their CI product. She enjoys building features that make her own job easier and faster.
Monday October 14, 2024 4:00pm - 4:10pm PDT
Hahn Auditorium
  Lightning Talks
  • Audience Level Any
  • Presentation Slides Attached Yes

4:10pm PDT

{ Fast, Cost-effective } – Choose Two - Helen Altshuler, EngFlow Inc.
Monday October 14, 2024 4:10pm - 4:20pm PDT
Learn how to get more value from Bazel for your developer platform with faster migrations and consistently fast builds and tests around the world with cache replication, seamlessly scale remote build execution from 100 to 100,000 cores, get proactive recommendations on further performance improvements, and achieve cloud cost savings from thousands to millions of dollars.
Speakers
avatar for Helen Altshuler

Helen Altshuler

CEO and co-founder, EngFlow
Helen is the CEO and co-founder of EngFlow, a big code developer platform company created by core Bazel engineers and funded by Andreessen Horowitz. She has been a dedicated Bazel community member since 2016, managed enterprise adoption of Bazel at Google and the 1st BazelCon, and... Read More →
Monday October 14, 2024 4:10pm - 4:20pm PDT
Hahn Auditorium
  Lightning Talks

4:20pm PDT

Aspect Build - Alex Eagle, Aspect Build Systems
Monday October 14, 2024 4:20pm - 4:30pm PDT
Aspect authors many of the Bazel rules you know and love. We also provide the missing CI/CD and developer platform to integrate Bazel into your team's workflows and achieve the promised incremental build&test speed while reducing your cloud spend! This talk will update you on our latest and greatest.
Speakers
avatar for Alex Eagle

Alex Eagle

Co-founder and CEO, Aspect Build Systems
Alex worked at Google on Bazel-adjacent systems from 2008-2020. He is a leader of the Bazel OSS community, and the co-founder of Aspect, a Bazel services and product company whose mission is to bring Bazel's promised benefits to all developers.
Monday October 14, 2024 4:20pm - 4:30pm PDT
Hahn Auditorium
  Lightning Talks
  • Audience Level Beginner
  • Presentation Slides Attached Yes

4:30pm PDT

Bazel’s Take on (Cc) Shared Libraries - Claudio Bley, Modus Create
Monday October 14, 2024 4:30pm - 4:40pm PDT
It took me a while to understand how cc_shared_library works in Bazel. After fighting the system and having reached every possible error message, I took a deep dive into the underlying logic and discovered how powerful that rule is once you understand its opinionated view on shared libraries and the mindset behind the design of the rule. I was also surprised to discover that it relies on Bazel aspects. To the best of my knowledge it is the only core rule that does so. In this presentation I will convey my insights using diagrams depicting how one should reason about cc_shared_library. This will cover how shared libraries are assembled from cc_libraries, how they interact as dependencies of other cc_* rules, and some interesting aspects of the implementation based on… aspects!
Speakers
CB

Claudio Bley

Modus Create
Monday October 14, 2024 4:30pm - 4:40pm PDT
Hahn Auditorium
  Lightning Talks

4:40pm PDT

Consistent Hermetic Tooling with Actually Portable Executables - Matt Clarkson, Arm
Monday October 14, 2024 4:40pm - 4:50pm PDT
Actually Portable Executables (APE) is a format of executable that can be ran on Windows, Linux, MacOS, BSDs operating systems from a single binary. A binary can be "fat" to contain both the x86_64 and aarch64 machine code to enable execution on multple CPUs from the same single binary. The `@ape` Bazel module provides the necessary wrappers and launchers to provide common POSIX tooling across all operating systems and CPUs such as `cp`, `mv`, `sed`, `awk` and `curl`. This talk will provide usage information of the `@ape` tools to enable an ecosystem of hermetic tooling for Bazel rulesets that require zero system setup to be used other than a working Bazel installation.

The talk will be split into a few sections:

- An introduction to the Bazel module, it's usage and benefits
- A high level overview into the APE format, Cosmopolitan C library and superconfigure to provide attendees relevant information to understand what the module is providing
- A brief introduction to the ecosystem of hermetic rulesets that expose rules around the APE hermetic binaries, such as `rules_curl`, `rules_gzip`, etc.
Speakers
avatar for Matt Clarkson

Matt Clarkson

Principal Software Engineer, Arm
Matt is a software engineer that has worked up and down the stack throughout his career. His current focus is to bring the benefits of reproducible, hermetic workflows to embedded devices with Bazel. He has previously worked at small sized agile teams before his current role at A... Read More →
Monday October 14, 2024 4:40pm - 4:50pm PDT
Hahn Auditorium
  Lightning Talks

4:50pm PDT

Building a Hermetic Python Environment with Conda in Bazel - Adam Azarchs, 10X Genomics
Monday October 14, 2024 4:50pm - 5:00pm PDT
Bazel’s rules_python supports using a hermetic python environment at build and test time. However, maintaining sufficient similarity between the environment that unit tests are running in under bazel test and the production environment can be challenging, particularly once things like extension modules with nontrivial native dependencies get involved. The conda ecosystem is primarily for python packages, but also includes packages for nearly all of the native dependencies of those python packages as well. This talk describes the bazel rule-set we use to fetch conda packages and deploy them for use both during the bazel build and test, and in production. These rules allow us to provide our customers with a deployment package which they can simply untar and run on a wide range of linux environments with very limited prerequisites, producing several distinct (but overlapping) environments for different products within our monorepo, at the same time ensuring that our unit tests are running in a nearly identical environment, all while maintaining acceptable build times.
Speakers
avatar for Adam Azarchs

Adam Azarchs

Principal Software Engineer, 10X Genomics
17 years in the software industry, across many different platforms (including 2 years in YouTube, where I learned to use blaze), I now spend most of my time helping computational biologists deliver production-quality software.
Monday October 14, 2024 4:50pm - 5:00pm PDT
Hahn Auditorium

5:00pm PDT

Bazel: {Fast, Correct, Seamless}: Choose 3 - Srini Muthu, LinkedIn
Monday October 14, 2024 5:00pm - 5:10pm PDT
While Bazel excels in speed and accuracy, its integration with native ecosystems, particularly IDE support, has been lacking. Jay Conrod’s 2022 BazelCon talk highlighted how this hinders adoption, echoing our observations at LinkedIn. The model recommended in that talk was to have the language server use a build adapter as a liaison to Bazel to correctly resolve imports. Since then, Bzlmod and Uber’s go_deps module extension have enabled us to treat go.mod as the source of truth for Go dependencies thereby removing the need for lengthy WORKSPACE files and constant updates via gazelle-update-repos. While these significantly moved the needle, they didn’t support multi module workspaces, still relied on the build adapter model for IDE support and had no native CLI support. At LinkedIn, we sought to address these gaps. We added Go workspace support to Gazelle and introduced a setup rule wherein Bazel bootstraps the Go SDK, sets Go env vars such as GOPATH within the Bazel workspace and informs IDEs and shells via settings files and direnv, thus providing a seamless developer experience. This has enabled us to drive developer adoption across a poly repo ecosystem at LinkedIn.
Speakers
avatar for Srini Muthu

Srini Muthu

Srinivas Muthu, LinkedIn
Hi there, I'm Srini. I work with the Build Platforms team at LinkedIn, primarily with ecosystems that are powered by Bazel. Previously I worked at Apple Maps building pipelines for geospatial data crunching. Outside of work I enjoy riding bicycles, climbing rocks and spending time... Read More →
Monday October 14, 2024 5:00pm - 5:10pm PDT
Hahn Auditorium
  Lightning Talks

5:10pm PDT

Optimizing Gazelle for Scale and Performance in Uber's Monorepo - Tyler French, Uber
Monday October 14, 2024 5:10pm - 5:20pm PDT
In a repo with almost a million files, `gazelle` historically scales O(size of repo) for automatic BUILD file generation, since gazelle plugins need to read and evaluate source files across the repo in order to prepare the BUILD files' contents.

When the peak runtime of gazelle approached 5-8 minutes, this became unscalable at Uber, with developers being blocked and delayed. Our team was able to improve three key metrics related to Gazelle's speed:
- Gazelle p75 on CI from >300s to <10s
- Gazelle being part of critical path CI 40% to <5%
- Local developer gazelle p95 from 30s to <10s

The team was able to achieve these results through these technical enhancements:
- Create a framework to make `gazelle` run incrementally at O(size of change) rather than O(size of repo) for almost all changes.
- Profile latency blockers and non-performant plugins to improve the performance of the gazelle binary itself.
- Pre-build and package the `gazelle` binary and its plugins with Bazel to avoid the overhead of building the binary.

This session will focus on how Uber integrated with Gazelle for scalability, extensibility, and performance in our huge Monorepo.
Speakers
avatar for Tyler French

Tyler French

Sr. Software Engineer, Uber
Tyler French is a Software Engineer on Uber's Developer Platform team and is based in New York City. Tyler leads the dependency management initiative within the Go developer experience. His interests lie in leveraging data and analyzing patterns to strategically improve the engineering... Read More →
Monday October 14, 2024 5:10pm - 5:20pm PDT
Hahn Auditorium
  Lightning Talks
 
  • Filter By Date
  • Filter By Venue
  • Filter By Type
  • Audience Level
  • Presentation Slides Attached
  • Timezone

Share Modal

Share this link via

Or copy link

Filter sessions
Apply filters to sessions.
Filtered by Date -