Tools for Continuous Integration at Google Scale

  • June 19, 2012 · 5:30 PM
  • Google NYC (8th Ave Entrance)

Continuous integration systems play a crucial role in modern software development practices, keeping software working while it is being developed. The basic steps most continuous integration systems follow are:

1. Get the latest copy of the code.
2. Build the system
3. Run all tests.
4. Report results.
5. Repeat 1-4.

This works great while the codebase is small, code flux is reasonable and tests are fast. As a codebase grows over time, the effectiveness of such a system decreases. As more code is added, each clean run takes much longer and more changes gets crammed into a single run. If something breaks, finding and backing out the bad change is a tedious and error prone task for development teams.

At Google, due to the rate of code in flux and increasing number of automated tests, this approach does not scale. Each product is developed and released from ‘head’ relying on automated tests verifying the product behavior. Release frequency varies from multiple times per day to once every few weeks, depending on the product team.

With such a huge, fast-moving codebase, it is possible for teams to get stuck spending a lot of time just keeping their build ‘green’ by analyzing hundreds if not thousands of changes that were incorporated into the latest test run to determine which one broke the build. A continuous integration system should help by providing the exact change at which a test started failing, instead of a range of suspect changes or doing a lengthy binary-search for the offending change. To find the exact change that broke a test, the system could run every test at every change, but that would be very expensive.

To solve this problem, Google built a continuous integration system that uses fine-grained dependency analysis to determine all the tests a change transitively affects and then runs only those tests for every change.

John Micco, a member of the Engineering Tools group at Google, will describe the continuous integration system built to help manage testing automation at Google.

----------

The agenda for this event is:

5:30 - 6:30 pm: Attendees Register / Networking
6:30 - 6:35 pm: Welcome & Intro
6:35 - 7:35 pm: Presentation
7:35 - 8:00 pm: Q/A

Please note the change in venue to the 8th Avenue side of the building. If you mistakenly go to the 9th avenue entrance, building security will ask you to walk around the building (on the outside!) to the 8th Avenue side. The A,C,E trains stop on the 8th Avenue side of the building.

The RSVP name will be provided to the building security in advance - so please do register with your real name as this will significantly speed up registration. To allow all participants in the community to get clear visibility into their schedules, for all upcoming talks, we will make seating reservable a week prior to the event.

Google volunteers will also be present at the event to answer any questions you may have, look for people who are wearing "Google Wear".

See you there!

Join or login to comment.

  • David Saintloth

    Just one suggestion to the process guys, some one should post the link to the google tech talk once the video is posted to youtube. I know it's easy enough to search over there but after the talk it would be more convenient (by a few seconds) to have the link to the video available in the associated talk page. Thanks!

    1 · July 8, 2012

  • Lehns Jean-Michel

    It was great and I learned a lot that will help my in my studies.

    June 21, 2012

  • Joe Pearlman

    The Google people from the host, presenter to everyone wearing Google shirts made the event a stimulating and welcoming one.

    June 21, 2012

  • Yeukhon Wong

    @Mayank Google always records its tech talks. You can check youtube channel: http://www.youtube.com/playlist...­ It will take a while....... that's NY tech talk playlist.

    June 20, 2012

  • A former member
    A former member

    A great talk, and great hospitality, both as usual for Google NYC!

    June 20, 2012

  • Jon H

    Great talk! Thanks very much to John Micco and Google for sharing.

    June 20, 2012

  • David Saintloth

    Always a great experience and a very informative talk.

    June 20, 2012

  • Jose Muanis Castro

    Great talk. I do have to say that for the 3rd time (on this testing@google series) they talk about what I believe is their crown jewels on testing. The dependency inference tool/graph which helps them determine which tests to run. This tools seems to me so amazing that it should have it's own talk. But yet again, I leave the talk with that feeling "oh yeah, they just mentioned it again".

    June 20, 2012

  • Mayank Jain

    Do we have any video on this. I missed it unfortunately.

    June 20, 2012

  • A former member
    A former member

    The best talk I've been to so far: great presenter on a topic I know fairly well so I didn't miss much. A bit awe inspiring how complex Google's system is.

    June 20, 2012

  • Mert Hocanin

    Excellent Speaker, very knowledgeable about the talk and made it very interesting. Very good material that I have not been exposed to before.

    June 20, 2012

  • Ken Garland

    It was well worth the visit to see how Google is using CI. I was a bit uninspired to discover their methods are behind the curve in comparison to tools like Jenkins. All of the desired hooks and methods that are on the discussed wish list already exist as plugins for Jenkins and are currently in use in my setup at work. I've not used Jenkins to the scale required by Google, but neither have they so who knows what would happen.

    June 20, 2012

  • Federico Ulfo

    Interesting talk.

    June 20, 2012

  • Adam Grohs

    How do you solve CI at massive scale??? Throw more hardware at it...until you can't throw any more (which is very soon)...#googlefail

    June 20, 2012

  • Matthew Denis

    Was Great and Informative

    June 19, 2012

  • Yeukhon Wong

    Excellent. I love it. Hahaha. I actually went up and asked my questions. The venure is perfect!! Way better than the one on the 10th floor?

    June 19, 2012

  • William Payne

    Great talk, the speaker was knowledgeable and his enthusiasm was contagious. I would have happily listened for longer to get more detail.

    June 19, 2012

  • Khandokar Aziz

    I am in ...just grab the pass from reception and head to 5th floor .

    June 19, 2012

  • Ken Garland

    Excited to be attending now, and it's just a few blocks away! ;)

    June 19, 2012

  • Adam Goodkind

    Thanks Yeukhon, but I was referring to *during* the event. I appreciate the response, though.

    June 14, 2012

  • Yeukhon Wong

    I believe all Google Tech talks are recorded and on Youtube you can click on `CC` to views the dialogue caption if that's what you are after. I haven't checked out all of them, but a few of them seem to have that, so I guess that's a yes...?

    June 14, 2012

  • Adam Goodkind

    Any chance the talk will be captioned?

    June 13, 2012

  • Andrew Sandley

    There is garage parking in the building and around 5:30 you may have luck with street parking. A/C/E/L trains run right to 111 8th avenue, and it's a couple block walk to NJ Transit and other trains.

    June 13, 2012

  • Victor Alarcon

    Look forward to catching up with everyone!

    June 13, 2012

  • A former member
    A former member

    What a great way to spend my birthday.

    1 · June 12, 2012

  • sravanthi kolli

    Can I still RSVP for the event?

    June 6, 2012

  • Khandokar Aziz

    Good thing to attend any parking near there?

    June 5, 2012

People in this
Meetup are also in:

illustration

Does your area need a Meetup Group like this?

We'll help you find just the right people to join.

Start a Meetup Group

Log in

Not registered with us yet?

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy