Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud

ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud

Vincent Garrigues talks about the transformation in the SoundCloud regarding the way they work. As SoundCloud grew, its backend infrastructure got more complex with the addition of many microservices. Ensuring their apps to work with these microservices in production is key to SoundCloud's continuing success.

Istanbul Tech Talks

April 27, 2015
Tweet

More Decks by Istanbul Tech Talks

Other Decks in Programming

Transcript

  1. iOS Crash Complaints (avg per Week) 0 35 70 105

    140 April May June July August 2014 SoundCloud community team
  2. iOS Crash Complaints (avg per Week) 0 35 70 105

    140 April 2014 July 2014 October 2014 January 2015 2015 SoundCloud community team
  3. - (id<AnalyticsProviderInterface>)soundcloudInternalProvider { if ([FlipTheSwitch isDevEventgatewayEnabled]) { return [self eventGatewayProvider];

    } else { return [self eventLoggerProvider]; } } Feature flagging github.com/michaelengland/fliptheswitch
  4. mobile api proxy The proxy can change: • response status

    code • response body • record and undo actions (like, repost…)
  5. acceptance tests • iOS version • iPhone (4S, 5, 6,

    6+) • iPad (retina and non retina) • feature flag configurations
  6. flakyrazor 1. Take failing test out of the test pool

    2. Run the test multiple times (flaky or failing?) 3. Assign it to the author/ committer
  7. flakyrazor 4. Assess test value 5. Act on test duration

    changes 6. Show statistics on why the test failed
  8. • we have images for all the machines • CLIs

    to provision the machines remotely • OS X server stores the images and controls the imaging process