Your SlideShare is downloading. ×
0
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System, Inc.

1,788

Published on

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

No Downloads
Views
Total Views
1,788
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
44
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Continuous Delivery at Turner Broadcasting System, INC Daniel Wester Chief Engineer, Turner Broadcasting System, INC 2 Built it, Test it, Ship it
  • 2. Who we are 3 and more…
  • 3. Continuous Delivery Components 4 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 4. Continuous Integration 5 Code committed to SCM Central process retrieves code from SCM Code compiled and packaged Automated tests Artifact produced
  • 5. Continuous Integration 6 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 6. 7 “What makes continuous deployment special is deploying every change that passes the automated tests (and optionally a short QA gate) to production. Continuous deployment is the practice of releasing every good build to users – a more accurate name might have been “continuous release”.” From: Continuous Delivery vs Continuous Deployment by Jez Humble http://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/ Copyright © 2011 Jez Humble - All Rights Reserved. This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License (http://creativecommons.org/licenses/by-sa/3.0/us/ ) Continuous Deployment
  • 7. 8 “Implementing continuous delivery means making sure your software is always production ready throughout its entire lifecycle – that any build could potentially be released to users at the touch of a button using a fully automated process in a matter of seconds or minutes.” From: Continuous Delivery vs Continuous Deployment by Jez Humble http://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/ Copyright © 2011 Jez Humble - All Rights Reserved. This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License (http://creativecommons.org/licenses/by-sa/3.0/us/ ) Continuous Delivery
  • 8. Continuous Delivery: Deployment 9 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 9. Configuration Management 10 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 10. Notifications 11 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 11. Continuous Delivery 12 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 12. Our journey starts 13 •CNN.com created in 1995 •Everything manual •Dev environments shared •A lot of development being done in production •No configuration management
  • 13. Conversation 14 Customer Developer Hey! This feature no longer works! It worked 10 minutes ago. Oops! That was me. Fixing it now.
  • 14. Wild West Development 15
  • 15. Shell script deployments 16 • Set of shell scripts monitoring a directory handles deployments. • UI created in front of folder to allow developers select files to promote to an environment.
  • 16. Conversations 17 Dev Lead Developer Dev Lead Developer The Customer reported that this just broke – who changed something? It wasn’t me – the change I just pushed out was for this other thing Did you push out the new configs as well? Oh…
  • 17. Continuous Delivery 18 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 18. Partial CI Builds 19 •Replaced shell scripts with Ant and CI server •UI allow Developers select files •Files tagged in SCM with environment and date •Backend managed deployment to environments
  • 19. Demo 20
  • 20. Controlled single change deployment 21
  • 21. Continuous Delivery 22 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 22. Challenges with partial builds 23 •Environments are not re-creatable •Not scalable as development team grows •Does not scale for large changes
  • 23. CI with manual deployment 24 •Web Applications •Compiled applications •Manual deployments done through Configuration Management tools
  • 24. Continuous Delivery 25 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 25. Challenges with CI/manual 26 •Files are passed around •Manually maintained •Builds are incremental, but release is not •Prone to environmental inconsistencies •Intra-project differences
  • 26. CNN.com Elections 27 •AJAX based application •Iteration developed •One build plan per environment •Deployment to production - manual
  • 27. Deployments through cloning 28
  • 28. Conversations 29 Dev Lead Developer Dev Lead QA I thought that you said that the fancy feature would be in the build? Done Oh! I forgot to merge it in time. Can you do another build? The new build that was just delivered broke a lot of functionality.
  • 29. Continuous Delivery 30 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 30. Integration with CM frameworks 31 •Integrated with CM for external projects •Infrastructure driven Poll external repository Create internal build Package for remediation Send onto internal remediation
  • 31. Not just for SCM based SW 32
  • 32. Continuous Delivery 33 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 33. Continuous Delivery 34
  • 34. Continuous Delivery 35 • “A new” web development platform brought in •Requirement of “zero-touch” of production •Single build for all environments. Developer commits Build • Unit tests • Functional tests Packaging • Compressed package created • Sent to central artifact repository Auto- Remediation • CM Framework receives request from CI Server Developer and QA performs final verification tests Testing completed and Customer “blesses” a build Development selects build to promote CM Framework receives request from CI Server
  • 35. Continuous Delivery 36 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 36. Continuous Delivery Iteration 2 37 •Monitoring system integration •Build promotion history •Remediation can occur on Plan or job
  • 37. Demo 38
  • 38. Why integrate build sys and Release Mgmt? 39 •Source Code Correlation •Guaranteed no manual steps •For the developers – one tool
  • 39. Conversations 40 Dev Lead Developers Dev Lead QA/Custome r I see you have changes lined up– are they ready to go into the staging env? Build 232 is in staging Yes. Build 232 looks good. Dev Lead Build 232 going out to prod
  • 40. What the NOC sees 41
  • 41. What the QA team sees 42
  • 42. What the Developer sees 43
  • 43. What the Infrastructure team sees 44 •Concentrate on automation •Developer accountability for production increases •Less firefighting •Next project…
  • 44. What Management sees 45 •NOC Awareness •Unit and Functional tests •QA Tested •Automatic deployments with rollback capability •Speed to market with minimal delays •Efficiency in the process •Removal of artificial roadblocks
  • 45. Continuous Delivery 46 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  • 46. Challenges 47 •Full build concerns from various parties •Development and Infrastructure teams must be in sync •Use SCM, Build and CM systems for their purposes •Initial investment cost for new project types •One artifact to rule all environments
  • 47. Impact 48 •Delivery time to market - down •Quality of deliverables - up •Cultural change (more collaboration) •Change tracking on source changes
  • 48. 49 Continuous delivery requires sharing operational ownership between dev & ops, and lets us rapidly develop sites in parallel #summit11

×