Building Software at Google Scale Tech Talk

Subscribers:
348,000
Published on ● Video Link: https://www.youtube.com/watch?v=2qv3fcXW1mg



Duration: 1:10:02
57,141 views
300


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.




Other Videos By Google TechTalks


2012-04-25Turing Centennial Conference: Turing, Church, Gödel, Computability, Complexity and Randomization
2012-04-25Turing Centennial Conference: From Programs to Systems: Building a Smarter World
2012-04-25Turing Centennial Conference: About Alan Turing (in Hebrew)
2012-04-25Turing Centennial Conference: Introductory Remarks (Hebrew and English)
2012-04-25Turing Centennial Conference: Welcome (in Hebrew)
2012-04-17The Mobile Revolution: Cultivating Boundaries of the Unbounded
2012-04-07SeriousGames@Google: Playing Surgery - A Laparoscopy Game for Surgeons on the Nintendo Wii
2012-04-04Energy, the Environment, and What We Can Do
2012-04-04The Genome Question: Moore vs. Jevons with Bud Mishra
2012-04-04Automating Your Browser Based Testing Using WebDriver
2012-03-30Building Software at Google Scale Tech Talk
2012-03-29Beyond Princess Leia in a Beam of Light: A Glimpse into the Future of Augmented Reality
2012-03-12The Remote Agent Experiment: Debugging Code from 60 Million Miles Away
2012-02-28NIPS 2011 Big Learning - Algorithms, Systems, & Tools Workshop: Machine Learning...
2012-02-28NIPS 2011 Music and Machine Learning Workshop: Learning from Musical Structure
2012-02-23NIPS 2011 Big Learning - Algorithms, Systems, & Tools Workshop: Vowpal Wabbit Tutorial
2012-02-23NIPS 2011 Sparse Representation & Low-rank Approximation Workshop: Group Sparse Hidden Markov...
2012-02-23NIPS 2011 Big Learning - Algorithms, Systems, & Tools Workshop: A Common GPU...
2012-02-23The Relative Happiness Index (RHI)
2012-02-23A Chinese Typewriter in Silicon Valley
2012-02-233D Computer Vision: Past, Present, and Future



Tags:
google tech talk
software development
large-scale computing
Google infrastructure
jobs at google
build systems