Continuous Delivery at
Turner Broadcasting System, INC
Daniel Wester
Chief Engineer, Turner Broadcasting System, INC
2
Bui...
Who we are
3
and more…
Continuous Delivery Components
4
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automate...
Continuous Integration
5
Code committed
to SCM
Central process
retrieves code
from SCM
Code compiled
and packaged
Automate...
Continuous Integration
6
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consis...
7
“What makes continuous deployment special is deploying every
change that passes the automated tests (and optionally a sh...
8
“Implementing continuous delivery means making sure your
software is always production ready throughout its entire
lifec...
Continuous Delivery: Deployment
9
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automat...
Configuration Management
10
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Con...
Notifications
11
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consistent
Inc...
Continuous Delivery
12
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consiste...
Our journey starts
13
•CNN.com created in 1995
•Everything manual
•Dev environments shared
•A lot of development being don...
Conversation
14
Customer
Developer
Hey! This feature no
longer works! It
worked 10 minutes
ago. Oops! That was
me. Fixing ...
Wild West Development
15
Shell script deployments
16
• Set of shell scripts monitoring a directory
handles deployments.
• UI created in front of fo...
Conversations
17
Dev Lead Developer
Dev Lead Developer
The Customer reported
that this just broke – who
changed something?...
Continuous Delivery
18
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consiste...
Partial CI Builds
19
•Replaced shell scripts with Ant and CI server
•UI allow Developers select files
•Files tagged in SCM...
Demo
20
Controlled single change
deployment
21
Continuous Delivery
22
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consiste...
Challenges with partial builds
23
•Environments are not re-creatable
•Not scalable as development team
grows
•Does not sca...
CI with manual deployment
24
•Web Applications
•Compiled applications
•Manual deployments done through
Configuration Manag...
Continuous Delivery
25
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consiste...
Challenges with CI/manual
26
•Files are passed around
•Manually maintained
•Builds are incremental, but release is not
•Pr...
CNN.com Elections
27
•AJAX based application
•Iteration developed
•One build plan per environment
•Deployment to productio...
Deployments through cloning
28
Conversations
29
Dev Lead
Developer
Dev Lead
QA
I thought that you said
that the fancy feature
would be in the build?
Done...
Continuous Delivery
30
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consiste...
Integration with CM
frameworks
31
•Integrated with CM for external
projects
•Infrastructure driven
Poll external
repositor...
Not just for SCM based SW
32
Continuous Delivery
33
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consiste...
Continuous Delivery
34
Continuous Delivery
35
• “A new” web development platform brought in
•Requirement of “zero-touch” of production
•Single bu...
Continuous Delivery
36
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consiste...
Continuous Delivery Iteration 2
37
•Monitoring system integration
•Build promotion history
•Remediation can occur on Plan ...
Demo
38
Why integrate build sys and
Release Mgmt?
39
•Source Code Correlation
•Guaranteed no manual steps
•For the developers – on...
Conversations
40
Dev Lead
Developers
Dev Lead QA/Custome
r
I see you have changes
lined up– are they ready
to go into the ...
What the NOC sees
41
What the QA team sees
42
What the Developer sees
43
What the Infrastructure team
sees
44
•Concentrate on automation
•Developer accountability for production increases
•Less f...
What Management sees
45
•NOC Awareness
•Unit and Functional tests
•QA Tested
•Automatic deployments with rollback
capabili...
Continuous Delivery
46
Builds
Automated
Consistent
Incremental
Testing
Automated
Repeatable
Deployments
Automated
Consiste...
Challenges
47
•Full build concerns from various parties
•Development and Infrastructure teams must be in
sync
•Use SCM, Bu...
Impact
48
•Delivery time to market - down
•Quality of deliverables - up
•Cultural change (more collaboration)
•Change trac...
49
Continuous delivery requires sharing
operational ownership between dev & ops, and
lets us rapidly develop sites in para...
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
×

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

1,815

Published on

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

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

No notes for slide

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

  1. 1. Continuous Delivery at Turner Broadcasting System, INC Daniel Wester Chief Engineer, Turner Broadcasting System, INC 2 Built it, Test it, Ship it
  2. 2. Who we are 3 and more…
  3. 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. 4. Continuous Integration 5 Code committed to SCM Central process retrieves code from SCM Code compiled and packaged Automated tests Artifact produced
  5. 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. 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. 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. 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. 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. 10. Notifications 11 Builds Automated Consistent Incremental Testing Automated Repeatable Deployments Automated Consistent Incremental Recreatable Configuration Management Automated History Notifications Alerts Monitoring integration
  11. 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. 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. 13. Conversation 14 Customer Developer Hey! This feature no longer works! It worked 10 minutes ago. Oops! That was me. Fixing it now.
  14. 14. Wild West Development 15
  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. 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. 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. 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. 19. Demo 20
  20. 20. Controlled single change deployment 21
  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. 22. Challenges with partial builds 23 •Environments are not re-creatable •Not scalable as development team grows •Does not scale for large changes
  23. 23. CI with manual deployment 24 •Web Applications •Compiled applications •Manual deployments done through Configuration Management tools
  24. 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. 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. 26. CNN.com Elections 27 •AJAX based application •Iteration developed •One build plan per environment •Deployment to production - manual
  27. 27. Deployments through cloning 28
  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. 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. 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. 31. Not just for SCM based SW 32
  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. 33. Continuous Delivery 34
  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. 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. 36. Continuous Delivery Iteration 2 37 •Monitoring system integration •Build promotion history •Remediation can occur on Plan or job
  37. 37. Demo 38
  38. 38. Why integrate build sys and Release Mgmt? 39 •Source Code Correlation •Guaranteed no manual steps •For the developers – one tool
  39. 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. 40. What the NOC sees 41
  41. 41. What the QA team sees 42
  42. 42. What the Developer sees 43
  43. 43. What the Infrastructure team sees 44 •Concentrate on automation •Developer accountability for production increases •Less firefighting •Next project…
  44. 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. 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. 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. 47. Impact 48 •Delivery time to market - down •Quality of deliverables - up •Cultural change (more collaboration) •Change tracking on source changes
  48. 48. 49 Continuous delivery requires sharing operational ownership between dev & ops, and lets us rapidly develop sites in parallel #summit11
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×