Skip to content
0:00 / 0:00

#googlebuildsystem#blaze#bazel

Building Software at Google Scale Tech Talk

Google TechTalks

349K subscribers • 62 videos on Hallway

YouTube
  • Recommended by 1 person: 1 on Hacker News.
  • Presented by Michael Barnathan, Greg Estren, and Pepper Lebeck-Jobe, Software Engineers at Google

Intermediate. Assumes working knowledge.

58K views14 years ago1 recommendation

Tools and practiceDistributed systemsBuild systems and packagingScaling and large-scale architectureCI/CD and deployment

Google software engineers explain the design and operation of Google's internal, language-agnostic, and highly parallelized build system.

Google Tech Talk March 21, 2012 Presented by Michael Barnathan, Software Engineer, Google Greg Estren, Software Engineer, Google Pepper Lebeck-Jobe, Software Engineer, Google ABSTRACT At past Google NYC Tech Talks, we learned about tools that helped Google engineers automate quality testing, so that Google products could be released frequently without extensive manual testing phases or manual invocations of tools like JUnit, WebDriver, or JavaScript Test Driver. This talk covers the Google Build System, which Google engineers use to build software from a unified, language-agnostic, continuously integrated code base, quickly and at scale. When a developer initiates a build, the build system automatically computes the minimal number of artifacts that need to be built and determines the optimal strategy for producing them as fast as possible using the resources of many worker machines. On average, each build request triggers thousands of source file compilations, while still completing within seconds. At Google, all software components are compiled from source, in a highly parallelized fashion, possibly across thousands of machines dedicated to software compilation. Build artifacts that compose software components are also shared across build requests, such that if a developer builds a component and another developer builds a similar component, the artifacts in common between them are not built twice. This talk will discuss in detail how all this "magic" works. More than just a time-saver for our developers, the high performance and unprecedented scale of our build system make possible far-reaching quality goals, such as continuously testing Google's entire codebase at every revision. This talk will be given by three engineers on the build system team.

Why it's here

1 person recommends this

What people say. Recommended as an excellent high-fidelity overview of Google's internal build system and monorepo workflow.

WestCoastJustinon Hacker News • Recommends

On “The Woman at the Heart of Everything Google Builds”

The Wired article talks about internal tools used to compile code. In line with that, there is an interesting video "Building Software at Google Scale" 1, which seems to give an overview of the systems used. 1 link to this video

pnathanon Hacker News • Mentions

On “Behind enemy lines: 3 months as an iOS developer at Google”

Honestly, I've heard the majority of it before, and I have never been a Google employee. I have, however, listened to some of their talks on the internal workflows and processes that they've presented and posted on youtube. I think the only things I didn't hear before were some of the specific toolnames. edit: link here's their engineering tools blog. link to this video and a talk link and another talk Really cool stuff.

chason Hacker News • Mentions

On “Programmers’ Build Errors: A Case Study at Google [pdf]”

Google has publically described their build system here link (low fidelity) and here link to this video (high fidelity)