Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the...
Transcript of Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the...
![Page 1: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/1.jpg)
Company Confidential
Continuous Delivery Alexander Grosse Nokia Berlin
![Page 2: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/2.jpg)
•
About us
We are hiring!
![Page 3: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/3.jpg)
Some Facts • 1.3 billion people are using Nokia devices worldwide • Devices sold in 220 countries/territories • Symbian available in 180 languages
• Since the start of this talk: 1K+ Nokia devices were made and sold (13/sec) 15M+ phone calls were made using Nokia phones 3M+ text messages were sent using Nokia phones
3 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 4: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/4.jpg)
Maps Infrastructure • Yahoo • Microsoft • Sina and Tencent
4 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 5: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/5.jpg)
Agenda • Introduction to Continuous Delivery • The problem of delivering software • Impact on development • Continuous Integration • Deployment Pipelines • How are we doing it • Summary
5 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 6: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/6.jpg)
What is Continuous Delivery?
![Page 7: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/7.jpg)
Why Continuous Delivery?
• Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software” • Consumer feedback • Small Releases reduce risk • Improves! Testing processes
![Page 8: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/8.jpg)
Traditional Release Processes
![Page 9: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/9.jpg)
Cost of defects
9 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 10: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/10.jpg)
Discussion about Continuous Delivery
• “I like that idea - Just point the Apache or IIS config at your dev directory and call it a day. Every Ctrl-S is a deploy.“
![Page 11: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/11.jpg)
Nokia Build Pipeline
![Page 12: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/12.jpg)
Evolution of Software Integration • Phase 1: Manual Integration done by software engineers (Cowboy coding) • Phase 2: semi manual integration done by integration teams (StarOffice) • Phase 3: Continuous Integration • Phase 4: Continuous Deployment • Phase 5: Continuous Delivery
12 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 13: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/13.jpg)
Continuous Integration – Reducing Risks • Lack of deployable software • “It works on my machine” • Late Discovery
13 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 14: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/14.jpg)
Continuous Integration • Don’t check in on broken build • Commit often – every commit triggers a build • Always run tests locally before checking in • Never go home on a broken build • Test in production clone (incl. DB) • Keep build fast/visible • Don’t comment out failing tests
![Page 15: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/15.jpg)
Builds and Testing
• Automate Builds • Automate Tests – no broken builds! • Publish latest distributable (deploy mechanism)
![Page 16: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/16.jpg)
Fail Fast Pattern
• The key concept is to fail early
• Within the software
• During Build and Testing
16 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 17: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/17.jpg)
Basic Continuous Integration
![Page 18: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/18.jpg)
CI extended
![Page 19: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/19.jpg)
Build/Deployment Pipelines • Long Builds • Every Build contains lots of changes?
19 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 20: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/20.jpg)
Build/Deployment Pipelines • Also called “staged build”
• Build separated into different stages
20 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 21: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/21.jpg)
Impact on development • What needs to be changed to continuously deliver?
• ???
21 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 22: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/22.jpg)
First step in a project • Deploy an application doing just “System.out.println(“Hello World”) to production
22 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 23: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/23.jpg)
Process • Which process is the right one?
23 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 24: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/24.jpg)
Scrum and Continuous Delivery
![Page 25: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/25.jpg)
The last mile
25 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 26: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/26.jpg)
How to work?
• Branches <–> Feature Flags • Continuous Integration • Build • Deploy Mechanism • Environments
![Page 27: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/27.jpg)
Feature Flags <% if test_tag?("sharethis") %> <script type="text/javascript” src="http://s7.addthis.com/js/250/ addthis_widget.js"> </script> <% end %>
![Page 28: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/28.jpg)
Feature Flags – Control Panel
![Page 29: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/29.jpg)
Everything in Continuous Delivery?
• Database changes? • Architectural changes? • New Features?
![Page 30: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/30.jpg)
Database Changes ?
![Page 31: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/31.jpg)
Architectural changes?
![Page 32: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/32.jpg)
New Features ?
![Page 33: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/33.jpg)
Attitude change for developers • Throw it over the wall attitude or “the QA will find my mistakes anyway” is gone • Developers are responsible for the quality of their code • Every commit will be live very soon! • Strong cooperation between developers and ops
![Page 34: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/34.jpg)
How are we doing it?
![Page 35: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/35.jpg)
Architecture
![Page 36: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/36.jpg)
Nokia Build Pipeline
![Page 37: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/37.jpg)
Dev Part
![Page 38: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/38.jpg)
QA Part
![Page 39: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/39.jpg)
Staging/Production Part
![Page 40: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/40.jpg)
Testing in Continuous Integration
• Important: Builds are working and don’t take too much time • Selenium Tests (Frontend Automation) – only core use cases
![Page 41: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/41.jpg)
Testing on QA Environment
• Loadtests • Manual Tests • Complete Frontend Automation
![Page 42: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/42.jpg)
QA Roles
• Backend Teams have software engineers as test automation specialists • They also work on acceptance criteria and verify stories • Test Integration group (Loadtesting, resp. for environments) • FE teams have manual testers
![Page 43: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/43.jpg)
Device and Localisation Testing
![Page 44: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/44.jpg)
Deployment/Monitoring
• Code is deployed to small fraction of live servers • Live Monitoring • Rollback mechanism (databases and code)
![Page 45: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/45.jpg)
Who is doing CD?
![Page 46: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/46.jpg)
Who could use Continuous Delivery? • Consumer facing applications – constant innovation expected • Obviously Continuous Deployment should be possible (no device software) – rollback option
![Page 47: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/47.jpg)
Who should be cautious about Continuous Delivery? • Revenue & security critical projects • In general: Software were a simple rollback does not solve all issued • Software in maintenance mode
![Page 48: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/48.jpg)
Summary
• Use Continuous Delivery as a vision for your development processes
![Page 49: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/49.jpg)
Company Confidential
Thanks! Q&A
![Page 50: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/50.jpg)
Links • http://www.slideshare.net/ChristopherRead/continuous-integration-build-pipelines-and-continuous-deployment • http://www.developsense.com/blog/2009/03/50-deployments-day-and-perpetual-beta/ • http://blog.lastinfirstout.net/2009/03/continuous-deployment-debate.html • http://www.startuplessonslearned.com/2009/06/why-continuous-deployment.html
![Page 51: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/51.jpg)
ITIL and Continuous Delivery
![Page 52: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/52.jpg)
Testing at IMVU
• Two well known testers got suspicious about the testing at IMVU and made a quick test • They found a lot of bugs • Response: • “prioritize determining what the customer actually wants at almost any cost” • 20% of dev resources -> CD process
![Page 53: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/53.jpg)
Role of an agile tester • Test automation engineer • More responsibility for QA for devs • Devops
53 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials
![Page 54: Continuous Delivery - bedcon€¦ · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our highest priority is to satisfy the customer through early and](https://reader033.fdocuments.in/reader033/viewer/2022060217/5f0660fc7e708231d417b2eb/html5/thumbnails/54.jpg)
The road to Continuous Delivery