Top Banner
Company Confidential Continuous Delivery Alexander Grosse Nokia Berlin
54

Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Feb 27, 2019

Download

Documents

vanngoc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Company Confidential

Continuous Delivery Alexander Grosse Nokia Berlin

Page 2: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

• 

About us

We are hiring!

Page 3: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Maps Infrastructure • Yahoo • Microsoft • Sina and Tencent

4 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials

Page 5: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

What is Continuous Delivery?

Page 7: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Traditional Release Processes

Page 9: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Cost of defects

9 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials

Page 10: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Nokia Build Pipeline

Page 12: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Builds and Testing

• Automate Builds • Automate Tests – no broken builds! • Publish latest distributable (deploy mechanism)

Page 16: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Basic Continuous Integration

Page 18: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

CI extended

Page 19: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Process • Which process is the right one?

23 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials

Page 24: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Scrum and Continuous Delivery

Page 25: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

The last mile

25 © 2008 Nokia V1-Filename.ppt / YYYY-MM-DD / Initials

Page 26: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

How to work?

• Branches <–> Feature Flags • Continuous Integration • Build • Deploy Mechanism • Environments

Page 27: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Feature Flags – Control Panel

Page 29: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Everything in Continuous Delivery?

• Database changes? • Architectural changes? • New Features?

Page 30: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Database Changes ?

Page 31: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Architectural changes?

Page 32: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

New Features ?

Page 33: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

How are we doing it?

Page 35: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Architecture

Page 36: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Nokia Build Pipeline

Page 37: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Dev Part

Page 38: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

QA Part

Page 39: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Staging/Production Part

Page 40: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Testing on QA Environment

• Loadtests • Manual Tests • Complete Frontend Automation

Page 42: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Device and Localisation Testing

Page 44: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Deployment/Monitoring

• Code is deployed to small fraction of live servers • Live Monitoring • Rollback mechanism (databases and code)

Page 45: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Who is doing CD?

Page 46: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Summary

• Use Continuous Delivery as a vision for your development processes

Page 49: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

Company Confidential

Thanks! Q&A

Page 50: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

ITIL and Continuous Delivery

Page 52: Continuous Delivery - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

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 - bed-con.orgbed-con.org/images/files/bed2011/bed2011-continuousdelivery.pdf · Why Continuous Delivery? • Twelve Principles behind the Agile Manifesto: “Our

The road to Continuous Delivery