SlideShare uma empresa Scribd logo
1 de 32
Dr. Strangelove or: How I Learned to Stop Worrying and Love
                                              the Self-Service Build & Deployment
                                                                            Bomb

                                                                A DevOps Story with ControlTier


                                                                                   Presented by Peter Kim
                                                                    Humble Software Control Grand Poobah
                                                                                          March 21, 2012
                                                                                     Twitter: @peterpkim
                                                                               peter.kim@invisioninc.com




                 The Leading Provider of Ad Sales Systems to the Media Marketplace

CONFIDENTIAL PROPERTY OF INVISION INC.
The Leading Provider of Ad Sales Systems to the Media Marketplace

CONFIDENTIAL PROPERTY OF INVISION INC.
The Media Industry




CONFIDENTIAL PROPERTY OF INVISION INC.                        3
The Media Industry




CONFIDENTIAL PROPERTY OF INVISION INC.                        4
About Me



                                               Yes, I’ve been
                                                here a long
                                                   time…




CONFIDENTIAL PROPERTY OF INVISION INC.                          5
What is Software Control?


                       At this company
                       SCM

                       Build & Release Engineering

                       Database Administration

                       Environment Management




CONFIDENTIAL PROPERTY OF INVISION INC.                               6
Once Upon a Time




CONFIDENTIAL PROPERTY OF INVISION INC.
CONFIDENTIAL PROPERTY OF INVISION INC.
CONFIDENTIAL PROPERTY OF INVISION INC.
Survive




CONFIDENTIAL PROPERTY OF INVISION INC.
CONFIDENTIAL PROPERTY OF INVISION INC.
Automation
     !=
Self-Service
Self-Service 1.0
CONFIDENTIAL PROPERTY OF INVISION INC.
Self-Service 1.0
CONFIDENTIAL PROPERTY OF INVISION INC.
Road to Provisioning




                         Cloud           OS install      System
                                                      Configuration    Application
                                                                         Service
                                                                      Orchestration


CONFIDENTIAL PROPERTY OF INVISION INC.                                                15
In this Corner…




                                         Available on       Available on
                                         sourceforge          github
                       Open source cross-platform framework used to
                        coordinate application service tasks via command
                        dispatching

CONFIDENTIAL PROPERTY OF INVISION INC.                                     16
Installation

                       Runs on
                        −         Windows
                        −         Solaris
                        −         Linux
                        −         Mac OS X
                        RPMs for Linux, self-contained .zip for Windows
                        Requires Java 5/6
                        Cygwin/SSH for Windows clients & public keys
                        Authentication: file-based (default) or AD/LDAP

CONFIDENTIAL PROPERTY OF INVISION INC.                                     17
ControlTier Explained




CONFIDENTIAL PROPERTY OF INVISION INC.                           18
using CTLcenter for
self-service or continuous
       deployment
using CTLcenter for
self-service or continuous
       deployment
using CTLcenter for
self-service or continuous
       deployment
<target name="putcode">
     <exec executable="/opt/ctier/pkgs/ctl-3.6.0/bin/ctl-exec"
failonerror="true">
          <arg line="-p projectname -I hostname=controltierserver --
ctl -p projectname -t Site -r head -c Change-Dependencies --
-buildstamp ${label}"/>
    </exec>
</target>




                                                                       22
Show Me


                                               THE
                                             THANK
                                             DEMO!
                                              YOU!




CONFIDENTIAL PROPERTY OF INVISION INC.               23
Deployments




CONFIDENTIAL PROPERTY OF INVISION INC.                 24
Helpdesk Tickets




CONFIDENTIAL PROPERTY OF INVISION INC.                      25
Installation


                        All deployments centralized for better control

                        Self-service enables greater efficiency:
                           − Dev teams can generate builds & deployments as
                               often as they need
                           − Saving time and resources for higher value work

                        More sleep


CONFIDENTIAL PROPERTY OF INVISION INC.                                         26
TAKEAWAYS


            27
Project
Success?




           28
Instant Gratification?
                         29
Normal workday?
     Less firefighting, workday?
       Is this your more planning
CONFIDENTIAL PROPERTY OF INVISION INC.   30
THE END




          31
Image Credits
              http://upload.wikimedia.org/wikipedia/en/thumb/1/18/Drstrangelove1sheet-.jpg/220px-Drstrangelove1sheet-.jpg
              http://swimallday.files.wordpress.com/2010/01/outsidebox.jpg
              http://www.whatsupmovies.com/wp-content/uploads/2011/06/terminator-wallpaper.jpg
              http://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Apache-Ant-logo.svg/554px-Apache-Ant-logo.svg.pn

              http://en.wikipedia.org/wiki/File:Pointy-Haired_Boss.jpg
              http://en.wikipedia.org/wiki/File:Catbert.png
              http://images2.fanpop.com/image/photos/9200000/The-Mario-Bros-mario-and-luigi-9298164-1955-2560.jpg
              http://media.giantbomb.com/uploads/2/29679/896723-kong_super.jpg
              http://media.animevice.com/uploads/2/21764/364936-yoshi_1.jpg
              http://2.bp.blogspot.com/_URZ4amy3VZE/TP1R5pICRzI/AAAAAAAAA0I/Q_r1SpZ97qI/s1600/SMB-td.png
              http://media.giantbomb.com/uploads/7/70862/1223610-red_shell__mario_kart_wii__super.jpeg
              http://www.flickr.com/photos/cmbruno/3524716446/
              http://www.flickr.com/photos/srivera/2800698842
              http://blondesearch.ru/play/godXhR2jdkY/Dilbert%253A_It_Pays_to_Be_Wally_and_Employee_of_the_Week_Vide

              http://thepopcornjunkie.com/2012/03/05/show-me-the-estimates-us-box-office/
              http://media.threadless.com/subs/big/285250.jpg


CONFIDENTIAL PROPERTY OF INVISION INC.                                                                               32

Mais conteúdo relacionado

Último

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Destaque

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

Destaque (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Using ControlTier for Self-Service Build and Deployments

  • 1. Dr. Strangelove or: How I Learned to Stop Worrying and Love the Self-Service Build & Deployment Bomb A DevOps Story with ControlTier Presented by Peter Kim Humble Software Control Grand Poobah March 21, 2012 Twitter: @peterpkim peter.kim@invisioninc.com The Leading Provider of Ad Sales Systems to the Media Marketplace CONFIDENTIAL PROPERTY OF INVISION INC.
  • 2. The Leading Provider of Ad Sales Systems to the Media Marketplace CONFIDENTIAL PROPERTY OF INVISION INC.
  • 3. The Media Industry CONFIDENTIAL PROPERTY OF INVISION INC. 3
  • 4. The Media Industry CONFIDENTIAL PROPERTY OF INVISION INC. 4
  • 5. About Me Yes, I’ve been here a long time… CONFIDENTIAL PROPERTY OF INVISION INC. 5
  • 6. What is Software Control? At this company SCM Build & Release Engineering Database Administration Environment Management CONFIDENTIAL PROPERTY OF INVISION INC. 6
  • 7. Once Upon a Time CONFIDENTIAL PROPERTY OF INVISION INC.
  • 8. CONFIDENTIAL PROPERTY OF INVISION INC.
  • 9. CONFIDENTIAL PROPERTY OF INVISION INC.
  • 11. CONFIDENTIAL PROPERTY OF INVISION INC.
  • 12. Automation != Self-Service
  • 15. Road to Provisioning Cloud OS install System Configuration Application Service Orchestration CONFIDENTIAL PROPERTY OF INVISION INC. 15
  • 16. In this Corner… Available on Available on sourceforge github  Open source cross-platform framework used to coordinate application service tasks via command dispatching CONFIDENTIAL PROPERTY OF INVISION INC. 16
  • 17. Installation  Runs on − Windows − Solaris − Linux − Mac OS X  RPMs for Linux, self-contained .zip for Windows  Requires Java 5/6  Cygwin/SSH for Windows clients & public keys  Authentication: file-based (default) or AD/LDAP CONFIDENTIAL PROPERTY OF INVISION INC. 17
  • 19. using CTLcenter for self-service or continuous deployment
  • 20. using CTLcenter for self-service or continuous deployment
  • 21. using CTLcenter for self-service or continuous deployment
  • 22. <target name="putcode"> <exec executable="/opt/ctier/pkgs/ctl-3.6.0/bin/ctl-exec" failonerror="true"> <arg line="-p projectname -I hostname=controltierserver -- ctl -p projectname -t Site -r head -c Change-Dependencies -- -buildstamp ${label}"/> </exec> </target> 22
  • 23. Show Me THE THANK DEMO! YOU! CONFIDENTIAL PROPERTY OF INVISION INC. 23
  • 26. Installation All deployments centralized for better control Self-service enables greater efficiency: − Dev teams can generate builds & deployments as often as they need − Saving time and resources for higher value work More sleep CONFIDENTIAL PROPERTY OF INVISION INC. 26
  • 27. TAKEAWAYS 27
  • 30. Normal workday? Less firefighting, workday? Is this your more planning CONFIDENTIAL PROPERTY OF INVISION INC. 30
  • 31. THE END 31
  • 32. Image Credits  http://upload.wikimedia.org/wikipedia/en/thumb/1/18/Drstrangelove1sheet-.jpg/220px-Drstrangelove1sheet-.jpg  http://swimallday.files.wordpress.com/2010/01/outsidebox.jpg  http://www.whatsupmovies.com/wp-content/uploads/2011/06/terminator-wallpaper.jpg  http://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Apache-Ant-logo.svg/554px-Apache-Ant-logo.svg.pn  http://en.wikipedia.org/wiki/File:Pointy-Haired_Boss.jpg  http://en.wikipedia.org/wiki/File:Catbert.png  http://images2.fanpop.com/image/photos/9200000/The-Mario-Bros-mario-and-luigi-9298164-1955-2560.jpg  http://media.giantbomb.com/uploads/2/29679/896723-kong_super.jpg  http://media.animevice.com/uploads/2/21764/364936-yoshi_1.jpg  http://2.bp.blogspot.com/_URZ4amy3VZE/TP1R5pICRzI/AAAAAAAAA0I/Q_r1SpZ97qI/s1600/SMB-td.png  http://media.giantbomb.com/uploads/7/70862/1223610-red_shell__mario_kart_wii__super.jpeg  http://www.flickr.com/photos/cmbruno/3524716446/  http://www.flickr.com/photos/srivera/2800698842  http://blondesearch.ru/play/godXhR2jdkY/Dilbert%253A_It_Pays_to_Be_Wally_and_Employee_of_the_Week_Vide  http://thepopcornjunkie.com/2012/03/05/show-me-the-estimates-us-box-office/  http://media.threadless.com/subs/big/285250.jpg CONFIDENTIAL PROPERTY OF INVISION INC. 32

Notas do Editor

  1. Confidential - Property of Invision Inc.
  2. Confidential - Property of Invision Inc.
  3. 2009 new management Changed the culture: Promote organic growth – build 2 new products Transition SDLC from waterfall to agile scrum Company reorg!
  4. Team of 5, reduced to 2 New goals: Survive &amp; Accomplish more, by working smarter Provide self-service
  5. Team of 5, reduced to 2 New goals: Survive &amp; Accomplish more, by working smarter Provide self-service
  6. Talk about 0 and 1 touch deployments, then discuss the need for self-service Doesn ’t work for this business need We initially tried to use what we had. We enabled one touch deployments for our scrum teams, using CruiseControl. We experienced mixed results. Use the dashboard, invoke a build and the code deploys. However there are a few issues. Build redundancy and bottlenecking. It doesn ’t scale.
  7. Connect to nodes via SSH (private keys) - Run script, write a script - script file, calling existing files on a local server - Command, echo, shell commands - defined commands from existing modules from moduleforge, ant tasks, kill, ps, netutil, tgz, zip - Job reference (call another job) Threadcounts (for serial or parallel runs) Logs levels, from very verbose to just errors (one time or recurring) Command line interface or web based UI (jetty) There are 4 components: CTL – distributed command dispatching framework Workbench – resource model repository, lists node definitions, build artifacts, builders, updaters, etc. Ctlcenter – web based GUI for CTL, also supports scheduled jobs Moduleforge – collection of reusable CTL commands and workflows &amp; plugins for popular tools, ie puppet, svn, maven, hudson
  8. In this design pattern, the existing call to the ctl Build command will now feature an additional setBuildstamp operation which will record the latest version built. The new Updater, to be triggered by a CTLCenter job, will asynchronously execute the cruisecontrol project&apos;s build via the appropriate url, subsequently block by polling for the imminent buildstamp setting update, to be followed by a typical Change-Dependencies/Deploy operation. If no update is detected in a configurable amount of time, the updater will time out and fail.
  9. In this design pattern, the existing call to the ctl Build command will now feature an additional setBuildstamp operation which will record the latest version built. The new Updater, to be triggered by a CTLCenter job, will asynchronously execute the cruisecontrol project&apos;s build via the appropriate url, subsequently block by polling for the imminent buildstamp setting update, to be followed by a typical Change-Dependencies/Deploy operation. If no update is detected in a configurable amount of time, the updater will time out and fail.
  10. In this design pattern, the existing call to the ctl Build command will now feature an additional setBuildstamp operation which will record the latest version built. The new Updater, to be triggered by a CTLCenter job, will asynchronously execute the cruisecontrol project&apos;s build via the appropriate url, subsequently block by polling for the imminent buildstamp setting update, to be followed by a typical Change-Dependencies/Deploy operation. If no update is detected in a configurable amount of time, the updater will time out and fail.
  11. Describe the new ant targets for the build.xml This one calls “Change-Dependencies” The CTL-EXEC command is used to remotely execute ad-hoc shell commands on a set of nodes which are specified by the filter options. The remote shell command that is invoked is specified after the -- on the command-line. This string should begin with the command name and be followed by any arguments you want to pass to it.
  12. http://eqxcoctier:8080/ctlcenter Show folders, by scrum team view GF Head build &amp; deploy Show CruiseControl dashboard, demonstrate build is kicked off (atlbuild1:8880) SOS HEAD Deploy Demonstrate the picklist Invoke the job
  13. Calculated from FootPrints Software Control project. # of builds are the number of tickets related to build, deployments and supporting enviroments
  14. Management Support - who is the champion of your cause? Organizational culture stakeholders – what ’s in it for me? accomplish more when no one cares who ’s getting the credit
  15. Everyone wants results right away. Good ideas can be spoiled easily Through patience you will achieve excellence.
  16. Technology innovation drives the business Self service frees up resources for higher value work