Breaking News and Breaking Software by Andy Hume

1,558 views

Published on

The Guardian publishes around 350 articles of content a day. Hardly 'big data'. We deal with barely 150 million users a month. Facebook (with it's 600 million users on mobile alone), we ain't. But we do have to serve the news, and we do have to serve it fast, accurately, and on time, across multiple platforms and devices.

For a company that's 192 years old, we like to think we're pretty Agile. So what do our development teams care about? What kind of qualities are we optimising for in our software and processes? How do we make sure that when the news is breaking, our software isn't broken? Or if it is, how do we fix it fast?

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,558
On SlideShare
0
From Embeds
0
Number of Embeds
254
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Breaking News and Breaking Software by Andy Hume

  1. 1. BreakingNEWSBreakingSOFTWAREAndy HumeSyncConf, 2013
  2. 2. BreakingNEWSBreakingSOFTWAREAndy HumeSyncConf, 2013
  3. 3. BreakingPLANES?http://www.youtube.com/watch?v=Ai2HmvAXcU0
  4. 4. BreakingPLANES?http://www.youtube.com/watch?v=Ai2HmvAXcU0
  5. 5. Why so happy?http://www.youtube.com/watch?v=Ai2HmvAXcU0
  6. 6. BreakingWEBSITES
  7. 7. BreakingWEBSITES
  8. 8. Processhttp://www.flickr.com/photos/disinfeqt/7908154990/
  9. 9. Text
  10. 10. THE ARCHITECTUREGuardian APIsEC2 / ELB / S3 / CloudformationScala / Play 2AMD JavaScript / requirejs / LESS
  11. 11. THE TEAM6 Developers (2 client-side)1 QA1 Product Manager(me)
  12. 12. CONTINUOUS DEPLOYMENTMETRICS MONITORINGFAILING
  13. 13. Continuous deploymenthttp://www.flickr.com/photos/spacemanbob/1084139169/
  14. 14. Continuous deploymenthttp://www.flickr.com/photos/spacemanbob/1084139169/
  15. 15. I think somethings awry ... the graph isimplying that there have been about 100deploys in 17 days.Michael, Operations ManagerThose graphs dont lie.Matt, Development Lead
  16. 16. WORKFLOWGithubhttp://github.com/guardian/frontend
  17. 17. Pull requesthttps://github.com/guardian/frontend/pull/388
  18. 18. Pull requesthttps://github.com/guardian/frontend/pull/388
  19. 19. Pull requesthttps://github.com/guardian/frontend/pull/388
  20. 20. Pull requesthttps://github.com/guardian/frontend/pull/388
  21. 21. Pull requesthttps://github.com/guardian/frontend/pull/388
  22. 22. Pull requesthttps://github.com/guardian/frontend/pull/388
  23. 23. CONTINUOUS INTEGRATION RUNS THE BUILD RUNS UNIT TESTSRUNS INTEGRATION TESTS DEPLOYS TO STAGE
  24. 24. CONTINUOUS INTEGRATION RUNS THE BUILD RUNS UNIT TESTSRUNS INTEGRATION TESTS DEPLOYS TO STAGE
  25. 25. CONTINUOUS INTEGRATION RUNS THE BUILD RUNS UNIT TESTSRUNS INTEGRATION TESTS DEPLOYS TO STAGE
  26. 26. CONTINUOUS INTEGRATION RUNS THE BUILD RUNS UNIT TESTSRUNS INTEGRATION TESTS DEPLOYS TO STAGE
  27. 27. CONTINUOUS INTEGRATION RUNS THE BUILD RUNS UNIT TESTSRUNS INTEGRATION TESTS DEPLOYS TO STAGE
  28. 28. CONTINUOUS INTEGRATION RUNS THE BUILD RUNS UNIT TESTSRUNS INTEGRATION TESTS DEPLOYS TO STAGE
  29. 29. DEPLOY TO PRODUCTION SANITY CHECKSOME QA REGRESSION TESTS PERFORMANCE TESTS DEPLOY TO PROD
  30. 30. DEPLOY TO PRODUCTION SANITY CHECKSOME QA REGRESSION TESTS ? PERFORMANCE TESTS DEPLOY TO PROD
  31. 31. DEPLOY TO PRODUCTION SANITY CHECKSOME QA REGRESSION TESTS ? PERFORMANCE TESTS? TESTS DEPLOY TO PROD
  32. 32. DEPLOY TO PRODUCTION SANITY CHECKSOME QA REGRESSION TESTS ? PERFORMANCE TESTS? TESTS DEPLOY TO PROD
  33. 33. EMPOWERMENT ADD VALUE TAKE OWNERSHIPContinuous deploymenthttp://www.flickr.com/photos/spacemanbob/1084139169/
  34. 34. Metrics monitoringhttp://www.flickr.com/photos/kayaker1204/4319542459/
  35. 35. Metrics monitoringhttp://www.flickr.com/photos/kayaker1204/4319542459/
  36. 36. “If it moves, graph it”http://www.flickr.com/photos/kayaker1204/4319542459/
  37. 37. Real time performance
  38. 38. Real time performance
  39. 39. Real time performance
  40. 40. Real time performance
  41. 41. FIREFOX LOADCHROME LOAD
  42. 42. GANGLIA METRICS
  43. 43. REAL USER METRICS (RUM)
  44. 44. Metrics monitoringhttp://www.flickr.com/photos/kayaker1204/4319542459/
  45. 45. Failinghttp://www.flickr.com/photos/spacemanbob/1084139169/
  46. 46. Failinghttp://www.flickr.com/photos/spacemanbob/1084139169/
  47. 47. RESILIENCE VSRELIABILITY
  48. 48. Uptime is not binaryMike Brittain, Etsy
  49. 49. USER READING NEWS SCALA WEB APPSOULMATES API CONTENT API ZEITGEIST
  50. 50. USER READING NEWS SCALA WEB APPSOULMATES API CONTENT API ZEITGEIST
  51. 51. USER READING NEWS SCALA WEB APPSOULMATES API CONTENT API ZEITGEIST
  52. 52. USER READING NEWS SCALA WEB APPSOULMATES API CONTENT API ZEITGEIST
  53. 53. USER READING NEWS SCALA WEB APPSOULMATES API CONTENT API ZEITGEIST
  54. 54. USER READING NEWS SCALA WEB APPSOULMATES API CONTENT API ZEITGEIST
  55. 55. USER READING NEWS CACHE SCALA WEB APPSOULMATES API CONTENT API ZEITGEIST
  56. 56. GOOGLE PAGE SPEED
  57. 57. GOOGLE PAGE SPEED
  58. 58. GOOGLE PAGE SPEED DOMContentReady event
  59. 59. GOOGLE PAGE SPEED DOMContentReady event Load event
  60. 60. GOOGLE PAGE SPEED DOMContentReady event Load eventP1
  61. 61. GOOGLE PAGE SPEED DOMContentReady event Load eventP1 P2
  62. 62. GOOGLE PAGE SPEED DOMContentReady event Load eventP1 P2 P3
  63. 63. CONTINUOUS DEPLOYMENTMETRICS MONITORINGFAILING
  64. 64. CONTINUOUS DEPLOYMENTMETRICS MONITORINGFAILING
  65. 65. CONTINUOUS DEPLOYMENTMETRICS MONITORINGFAILING
  66. 66. CONTINUOUS DEPLOYMENTMETRICS MONITORINGFAILING
  67. 67. Thank-you! http://lanyrd.com/sccxwy @andyhume Creative Commons Licensedcc Attribution, Non-Commercial, Share Alike
  68. 68. STUFFAWS AWS CloudformationScala/Play FrameworkGithubHudsonJenkinsGangliaGraphiteAlertaGoogle Page Speed InsightsWebpagetestVarnish

×