SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Webinar Series Continuous Delivery
in the Enterprise
Continuous Delivery 101
CI-CD-Agile-Automation and what not!

2
Agenda
• What is Continuous Delivery?
• I thought I knew CI, Agile, Quality and DevOps!
• Continuous development, integration and the ability to continuously release
– The CD Pipeline
• Key aspects and players
• What’s my role in CD and why should I care?

• Work, Gamified!
• CD Tools, Products and Solutions out there!

• Wrap-up: Case Studies, What’s Virtusa doing on CD?
• Coming up next…

3
What is Continuous Delivery?
The Big Question - What does it take to get a
feature/hotfix/patch to your customer?
• What’s involved in doing a release?
• How long does it take?
• How many steps are involved?
• How successful is the process?
• How often do you do them?
• Do you have “heroes”?
• What would happen if a particular environment disappeared/melted down?
• Do your environments match?
• How quickly can you build an environment?
• How hard is it to do a patch? A major release?

5
6

Courtesy - Web
7

Courtesy - Web
Continuous Delivery
• Continuous Delivery is a software development discipline where
you build software in such a way that the software can be
released to production at any time.
• Your software is deployable throughout its lifecycle
• Your team prioritizes keeping the software deployable over working on
new features
• Anybody can get fast, automated feedback on the production readiness of
their systems any time somebody makes a change to them
• You can perform push-button deployments of any version of the software
to any environment on demand
Martin Fowler - http://martinfowler.com/bliki/ContinuousDelivery.html
8
I thought I knew CI, Agile, Quality and
DevOps!
CD Tag Cloud!

10
Audience Poll - 1
Who drives Continuous integration and
delivery in your project?

•DEV
•Operations
11
Audience Poll - 2
On average how frequently are changes integrated
into the release branch/trunk? (not the developer
feature/promo/task branch, but the main code line
from which a release candidate is built)
•daily
•weekly
•with each sprint
•only once feature development is complete
12
Audience Poll - 3
What latent code strategies have you used
within the last 12 months?
•None...SCM feature branching
•Hidden code
•Abstraction
•Feature toggles
13
Audience Poll - 4
Merge problems?

•None – We don’t do multiple releases and our single
release process has minimal merges whatsoever
•We don’t do multiple releases but our single release
process has merge issues
•Multiple releases – Merge issues
•Automated Merge process using SCM Streams and CI
automation
14
Quick Case Study
Etsy (Online retailer):

22+ million members
800,000+ active shops
18+ million items currently for sale
400+ employees

Business Problem - Our site is so successful, how
can we move fast enough to keep up with feature
demand?
15
We’re pretty Agile – Aren’t We?

*Etsy Scenario

16
We’re developers and we can solve any problem!

17
We own our stuff from cradle to grave!

18
We can absorb change with minimal impact!

19
We test our code – it always works in my local!

20
We don’t work on weekends!

21
We’re pretty Agile – Aren’t We?

22
Etsy - They’re pretty Agile!!!

23
Etsy - Continuous Deployment Math!

• N = # of deploys
• P = probability of site degradation
• S = average severity of degradation
• T = time to detect/resolve
Expected Downtime = N*P*S*T
24
Etsy - Release!!!
N = # of deploys
S = avg. severity of degradation
ED = Expected Downtime

P = prob. of degradation
T = time to detect/resolve

Before CD
N=1
P = 0.5
S = 0.7
T = 100

After CD
N = 250
P = 0.1
S = 0.05
T=5

E.D = 35

E.D = 6.25
25

*Arbitrary Numbers
26
Continuous development, integration and the
ability to continuously release – The CD
Pipeline
Fundamental Prerequisites!

28
Agile Tools Integration, Aggressive Automation, Measurable continuous improvements
Design

3 inevitabilities we design for:
• Things break, unexpectedly
• What we’re building changes
• We don’t get to start over

29
Architectural Principles
Don’t bet against the future.
Our customers are humans.
Simplicity always wins, in the end.
Ambiguity kills momentum.
Make failure cheap.
Technical debt is an inevitable by-product of
shipping code.
Optimize for change.
30
Continuous Delivery Abstract model

31
Configuration Management
Version Everything!!!
• Single Identifier
• Dependencies

• App Configurations
• Data

• Environments
32
Continuous Integration (Build Pipeline)
•
•
•
•
•
•
•
•

Check-in Daily
Make Code Self Testing
Commit to Trunk
Automate the Build
Keep the Build Fast
Every Commit results in Build/Validate
Test in Clone of Production
Automate Deployments
33
Testing Quadrant

34
Testing Recommendations
• Automated Acceptance Tests
•
•
•
•
•

Fast Feedback
Reduce Tester workload
Testers can do Exploratory Testing
Regression Tests
Requirements can be generated from Tests

• Acceptance Test Approaches
• Acceptance Test Driven Development (ATDD)
• Behavior Driven Development (BDD)
Given [some precondition] When [some event] Then [some result]
35
Deployment Automation

36
Continuous Delivery Pipeline

37
Work, Gamified!
What’s next for Agile?
2001-2012

2012 onwards…

Continuous Integration, delivery,
design, feedback

Continuous play

Courtesy – Thoughtworks

39
So, what is Gamification?
Gamification is integrating game
thinking and design into activities to
increase engagement, learning and
fun.

40
Work, Gamified! Origin

41
Gamified development!
• Gamifying (Agile) Development –
• Stories, Narratives, Spikes
• Project initiation (iteration 0), technology discovery thru games
• Hackathons
• Gamify feature development [motivation, social, engaged, velocity, quality]
• Develop from Cradle to Grave – rewards for tdd, automation from dev to prod (making life easier,
process improvements)

• Progress, Rules and Social impact–
• TDD (rules), Kanban (visual), CI build monitors, Card Wall (visual)
• Socialize – Yammer, Project Dashboards, Leaderboard (Jenkins CI Game Plugin)

42
Metrics and Rewards!
• An integrated view of the development efficiency can be derived from usual metrics all along • SVN Metrics
• JIRA Metrics
• Code review metrics
• CI Metrics
• Deployment Metrics

• Automated unit/acceptance test metrics

• Is there a tool (or a set of tools integrated) that pulls out and then co-relates this information to
derive meaningful metrics?

43
How developers are
paid – Virtual Currency
44

Courtesy - Web
Metrics and Rewards…
Description

Reward Points

Check-in and build passes (with unit tests)

1

One or more unit tests failed

-10

Compiler error (come on now)

-20

Big check-in caused build to remain in a broken
state for hours

-40

Code review (complexity, re-use, leaks, copypaste)

-40

OthersJIRA metrics
Stack Exchange like metrics (Forums, QnA, tech discovery)
Continuous Improvement metrics (e.g. Maven build – time, accuracy, adherence to standards, Deployment
Engine metrics)
Jenkins - https://wiki.jenkins-ci.org/display/JENKINS/The+Continuous+Integration+Game+plugin
45
CD Tools, Products and Solutions out there!
CD Tools Matrix (Continuously evolving)
Version
Control
(SCM)

Dependency
Mgmt

DB mgmt

Infrastructure
Mgmt

CI

Build
Automation

Test

Deployment
Automation

ALM

Subversion

Nexus

Liquibase

Puppet

Hudson

Maven

Junit/jMock
/Mockito/D
bunit

XebiaLabs –
Deployit

Jira

Git

Artifactory

Flyway

Chef

Jenkins

Ant

Selenium/W
ebdriver

uDeploy (IBM
UrbanCode)

Bugzilla

Mercurial

Bamboo

Gradle

infinitest

ElectricCloud
– Electric
Commander

QC

Accurev

Teamcity

Buildr

Fitnesse

RebelLabs –
LiveRebel

Go

Jbehave/Cuc
umber

47
48
Courtesy - Web
Coming up next…
QnA
Thanks!!!

Weitere ähnliche Inhalte

Was ist angesagt?

141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum RomaPeter Stevens
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product DevelopmentGary Pedretti
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBustersXebiaLabs
 
DriveWorks World 2016 - 13 lessons in 12 years
DriveWorks World 2016  - 13 lessons in 12 yearsDriveWorks World 2016  - 13 lessons in 12 years
DriveWorks World 2016 - 13 lessons in 12 yearsRazorleaf Corporation
 
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...XebiaLabs
 
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons LearnedEneko Jon Bilbao
 
Agile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewAgile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewMichael Sahota
 
Agile Project Management at The Washington Post
Agile Project Management at The Washington PostAgile Project Management at The Washington Post
Agile Project Management at The Washington PostDave Burke
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteGeoff Halprin
 
ALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldRoland Leibundgut
 
Limited WIP Meeting presentation - The Phoenix Project book review
Limited WIP Meeting presentation - The Phoenix Project book reviewLimited WIP Meeting presentation - The Phoenix Project book review
Limited WIP Meeting presentation - The Phoenix Project book reviewRudiger Wolf
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
VMWare Winnipeg Forum - 2011
VMWare Winnipeg Forum - 2011VMWare Winnipeg Forum - 2011
VMWare Winnipeg Forum - 2011asedha
 
Agile Adoption Story in LGE (Aps2010)
Agile Adoption Story in LGE (Aps2010)Agile Adoption Story in LGE (Aps2010)
Agile Adoption Story in LGE (Aps2010)Woogon Shim
 
Lightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachLightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachStephen Ritchie
 
Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - UXPA International
 

Was ist angesagt? (20)

141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma141015 Discovering Scrum at Scrum Roma
141015 Discovering Scrum at Scrum Roma
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBusters
 
DriveWorks World 2016 - 13 lessons in 12 years
DriveWorks World 2016  - 13 lessons in 12 yearsDriveWorks World 2016  - 13 lessons in 12 years
DriveWorks World 2016 - 13 lessons in 12 years
 
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
 
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons Learned
 
Computing DevOp Summit
Computing DevOp SummitComputing DevOp Summit
Computing DevOp Summit
 
Agile
AgileAgile
Agile
 
Agile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewAgile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft View
 
Agile Project Management at The Washington Post
Agile Project Management at The Washington PostAgile Project Management at The Washington Post
Agile Project Management at The Washington Post
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynote
 
ALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_world
 
Limited WIP Meeting presentation - The Phoenix Project book review
Limited WIP Meeting presentation - The Phoenix Project book reviewLimited WIP Meeting presentation - The Phoenix Project book review
Limited WIP Meeting presentation - The Phoenix Project book review
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
VMWare Winnipeg Forum - 2011
VMWare Winnipeg Forum - 2011VMWare Winnipeg Forum - 2011
VMWare Winnipeg Forum - 2011
 
Agile Adoption Story in LGE (Aps2010)
Agile Adoption Story in LGE (Aps2010)Agile Adoption Story in LGE (Aps2010)
Agile Adoption Story in LGE (Aps2010)
 
Lightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile ApproachLightweight Documentation: An Agile Approach
Lightweight Documentation: An Agile Approach
 
Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience -
 
Andriy bahlay
Andriy bahlay   Andriy bahlay
Andriy bahlay
 

Ähnlich wie ContinuousDelivery-101

To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...Jean-François Nguyen
 
Delivering the Dude: Continuous X
Delivering the Dude: Continuous XDelivering the Dude: Continuous X
Delivering the Dude: Continuous XBrent Pabst
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro - Database DevOps
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Steve Mercier
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimContinuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimDevOpsDays Tel Aviv
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationNils Hofmeister
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & TestQualitest
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservicesDynatrace
 
Threat Modeling All Day!
Threat Modeling All Day!Threat Modeling All Day!
Threat Modeling All Day!Steven Carlson
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsPerforce
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015Pavel Chunyayev
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015ITSpringBY
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016w2fong
 
Continuous Integration and Quality Development
Continuous Integration and Quality DevelopmentContinuous Integration and Quality Development
Continuous Integration and Quality DevelopmentGareth Davies
 

Ähnlich wie ContinuousDelivery-101 (20)

Key items for a digital enterprise
Key items for a digital enterpriseKey items for a digital enterprise
Key items for a digital enterprise
 
To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...
 
Delivering the Dude: Continuous X
Delivering the Dude: Continuous XDelivering the Dude: Continuous X
Delivering the Dude: Continuous X
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimContinuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even Haim
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
Automation and Technical Debt
Automation and Technical DebtAutomation and Technical Debt
Automation and Technical Debt
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & Test
 
Webinar: "In database automation we trust"
Webinar: "In database automation we trust"Webinar: "In database automation we trust"
Webinar: "In database automation we trust"
 
In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Threat Modeling All Day!
Threat Modeling All Day!Threat Modeling All Day!
Threat Modeling All Day!
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 
State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015State of continuous delivery in 2015 - Minsk 15-5-2015
State of continuous delivery in 2015 - Minsk 15-5-2015
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
Continuous Integration and Quality Development
Continuous Integration and Quality DevelopmentContinuous Integration and Quality Development
Continuous Integration and Quality Development
 

Kürzlich hochgeladen

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

ContinuousDelivery-101

  • 1. Webinar Series Continuous Delivery in the Enterprise Continuous Delivery 101
  • 3. Agenda • What is Continuous Delivery? • I thought I knew CI, Agile, Quality and DevOps! • Continuous development, integration and the ability to continuously release – The CD Pipeline • Key aspects and players • What’s my role in CD and why should I care? • Work, Gamified! • CD Tools, Products and Solutions out there! • Wrap-up: Case Studies, What’s Virtusa doing on CD? • Coming up next… 3
  • 4. What is Continuous Delivery?
  • 5. The Big Question - What does it take to get a feature/hotfix/patch to your customer? • What’s involved in doing a release? • How long does it take? • How many steps are involved? • How successful is the process? • How often do you do them? • Do you have “heroes”? • What would happen if a particular environment disappeared/melted down? • Do your environments match? • How quickly can you build an environment? • How hard is it to do a patch? A major release? 5
  • 8. Continuous Delivery • Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time. • Your software is deployable throughout its lifecycle • Your team prioritizes keeping the software deployable over working on new features • Anybody can get fast, automated feedback on the production readiness of their systems any time somebody makes a change to them • You can perform push-button deployments of any version of the software to any environment on demand Martin Fowler - http://martinfowler.com/bliki/ContinuousDelivery.html 8
  • 9. I thought I knew CI, Agile, Quality and DevOps!
  • 11. Audience Poll - 1 Who drives Continuous integration and delivery in your project? •DEV •Operations 11
  • 12. Audience Poll - 2 On average how frequently are changes integrated into the release branch/trunk? (not the developer feature/promo/task branch, but the main code line from which a release candidate is built) •daily •weekly •with each sprint •only once feature development is complete 12
  • 13. Audience Poll - 3 What latent code strategies have you used within the last 12 months? •None...SCM feature branching •Hidden code •Abstraction •Feature toggles 13
  • 14. Audience Poll - 4 Merge problems? •None – We don’t do multiple releases and our single release process has minimal merges whatsoever •We don’t do multiple releases but our single release process has merge issues •Multiple releases – Merge issues •Automated Merge process using SCM Streams and CI automation 14
  • 15. Quick Case Study Etsy (Online retailer): 22+ million members 800,000+ active shops 18+ million items currently for sale 400+ employees Business Problem - Our site is so successful, how can we move fast enough to keep up with feature demand? 15
  • 16. We’re pretty Agile – Aren’t We? *Etsy Scenario 16
  • 17. We’re developers and we can solve any problem! 17
  • 18. We own our stuff from cradle to grave! 18
  • 19. We can absorb change with minimal impact! 19
  • 20. We test our code – it always works in my local! 20
  • 21. We don’t work on weekends! 21
  • 22. We’re pretty Agile – Aren’t We? 22
  • 23. Etsy - They’re pretty Agile!!! 23
  • 24. Etsy - Continuous Deployment Math! • N = # of deploys • P = probability of site degradation • S = average severity of degradation • T = time to detect/resolve Expected Downtime = N*P*S*T 24
  • 25. Etsy - Release!!! N = # of deploys S = avg. severity of degradation ED = Expected Downtime P = prob. of degradation T = time to detect/resolve Before CD N=1 P = 0.5 S = 0.7 T = 100 After CD N = 250 P = 0.1 S = 0.05 T=5 E.D = 35 E.D = 6.25 25 *Arbitrary Numbers
  • 26. 26
  • 27. Continuous development, integration and the ability to continuously release – The CD Pipeline
  • 28. Fundamental Prerequisites! 28 Agile Tools Integration, Aggressive Automation, Measurable continuous improvements
  • 29. Design 3 inevitabilities we design for: • Things break, unexpectedly • What we’re building changes • We don’t get to start over 29
  • 30. Architectural Principles Don’t bet against the future. Our customers are humans. Simplicity always wins, in the end. Ambiguity kills momentum. Make failure cheap. Technical debt is an inevitable by-product of shipping code. Optimize for change. 30
  • 32. Configuration Management Version Everything!!! • Single Identifier • Dependencies • App Configurations • Data • Environments 32
  • 33. Continuous Integration (Build Pipeline) • • • • • • • • Check-in Daily Make Code Self Testing Commit to Trunk Automate the Build Keep the Build Fast Every Commit results in Build/Validate Test in Clone of Production Automate Deployments 33
  • 35. Testing Recommendations • Automated Acceptance Tests • • • • • Fast Feedback Reduce Tester workload Testers can do Exploratory Testing Regression Tests Requirements can be generated from Tests • Acceptance Test Approaches • Acceptance Test Driven Development (ATDD) • Behavior Driven Development (BDD) Given [some precondition] When [some event] Then [some result] 35
  • 39. What’s next for Agile? 2001-2012 2012 onwards… Continuous Integration, delivery, design, feedback Continuous play Courtesy – Thoughtworks 39
  • 40. So, what is Gamification? Gamification is integrating game thinking and design into activities to increase engagement, learning and fun. 40
  • 42. Gamified development! • Gamifying (Agile) Development – • Stories, Narratives, Spikes • Project initiation (iteration 0), technology discovery thru games • Hackathons • Gamify feature development [motivation, social, engaged, velocity, quality] • Develop from Cradle to Grave – rewards for tdd, automation from dev to prod (making life easier, process improvements) • Progress, Rules and Social impact– • TDD (rules), Kanban (visual), CI build monitors, Card Wall (visual) • Socialize – Yammer, Project Dashboards, Leaderboard (Jenkins CI Game Plugin) 42
  • 43. Metrics and Rewards! • An integrated view of the development efficiency can be derived from usual metrics all along • SVN Metrics • JIRA Metrics • Code review metrics • CI Metrics • Deployment Metrics • Automated unit/acceptance test metrics • Is there a tool (or a set of tools integrated) that pulls out and then co-relates this information to derive meaningful metrics? 43
  • 44. How developers are paid – Virtual Currency 44 Courtesy - Web
  • 45. Metrics and Rewards… Description Reward Points Check-in and build passes (with unit tests) 1 One or more unit tests failed -10 Compiler error (come on now) -20 Big check-in caused build to remain in a broken state for hours -40 Code review (complexity, re-use, leaks, copypaste) -40 OthersJIRA metrics Stack Exchange like metrics (Forums, QnA, tech discovery) Continuous Improvement metrics (e.g. Maven build – time, accuracy, adherence to standards, Deployment Engine metrics) Jenkins - https://wiki.jenkins-ci.org/display/JENKINS/The+Continuous+Integration+Game+plugin 45
  • 46. CD Tools, Products and Solutions out there!
  • 47. CD Tools Matrix (Continuously evolving) Version Control (SCM) Dependency Mgmt DB mgmt Infrastructure Mgmt CI Build Automation Test Deployment Automation ALM Subversion Nexus Liquibase Puppet Hudson Maven Junit/jMock /Mockito/D bunit XebiaLabs – Deployit Jira Git Artifactory Flyway Chef Jenkins Ant Selenium/W ebdriver uDeploy (IBM UrbanCode) Bugzilla Mercurial Bamboo Gradle infinitest ElectricCloud – Electric Commander QC Accurev Teamcity Buildr Fitnesse RebelLabs – LiveRebel Go Jbehave/Cuc umber 47

Hinweis der Redaktion

  1. “Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
  2. Key  Pain  Points: Painful releasesInability to predict delivery affecting business commitments Deployment to environmentsCode quality Environment configuration & management Expensive, time  consuming  manual  QA  (unable  to  build  lab) -Partial  Agile  implementation  (Scrum but no technical processes)  
  3. “Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013 Delivery vs. Release •Delivery: integrated, passing all stages of pipeline validation •Release: accessible by customers and market •Deliver continuously, release when business decides •Requires latent code strategy (inherently latent code, abstraction, feature toggles, etc.)
  4. “Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
  5. Throwing Code off the wall - QA testing and Deployment
  6. “Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
  7. “Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
  8. “Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
  9. “Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
  10. Discuss – CIAgileQualityDevOps
  11. Complex systems and change Distributed systems are inherently complex. The outcome of change in complex systems is hard to predict.The outcome of small, frequent, measurable changes are easier to predict, easier to recover from, and promote learning
  12. CD is more difficult to achieve in large, enterprise organizations due to unique challenges; some of them are – - Scale of parallel activity- Complexity of software and environment - Variance in skills/experience of teams/individuals across the organization - Variance in the ability to integrate “work in progress” across the organization - Often no CI across team boundaries
  13. Best Practices - Extreme Programming (XP)Fail a Build for Design BreachesFail a Build for Slow TestsFail a Build for Warnings & Code Style BreachesBuild Pipeline Practices –Build Once, Deploy ManyDeploy the Same Way to All EnvironmentsSmoke Test your DeploymentsDeploy into a Copy of ProductionEach Change should Propagate InstantlyIf any part fails, Stop the line
  14. Use Appropriate Technology – In-House Vs. External Deployment automation productsApp deployment - Scripting Approaches Jenkins driven deployment Script logs (ssh) into each box and runs deployment commands Script runs locally, each remote machine has deployment agent to execute script Package app using platform’s packaging technology (rpm, gems) and use infrastructure management tools to push new versions App syncs-up with an online store and automatically pulls latest updates (artifacts, db, properties)Database DeploymentsVersion your DatabaseEvolve Your Database Incrementally41Environment ManagementVersion your Application ConfigurationVersion your Operating System42
  15. CD is more difficult to achieve in large, enterprise organizations due to unique challenges; some of them are – - Scale of parallel activity- Complexity of software and environment - Variance in skills/experience of teams/individuals across the organization - Variance in the ability to integrate “work in progress” across the organization - Often no CI across team boundaries
  16. Why should we gamify work? Adapt work for incoming, younger workforce Intrinsic rewards are renewable resource Develop leadership in teams More-satisfying work = better productivity Develops people by pointing them forward to clear goals Fosters teamwork and accountability Key to greater innovation (through imagination)
  17. Dangers- You can’t just spawn a new project after failing Could depersonalize rather than personalize No one game can please all Gaming and misuse of metricsApproach-Take an agile approach (Increment, Iterate, Improve) Focus on the intrinsic first (extrinsic will come) Voluntary participation Give control and teams design their own games (and fail) Lightweight, both in implementation and tone (i.e., fun)
  18. The Development Game
  19. Jenkins CI Game Plugin –-10 points for breaking a build0 points for breaking a build that already was broken+1 points for doing a build with no failures (unstable builds gives no points)-1 points for each new test failures+1 points for each new test that passeshttp://www.badgeville.com/products/gamificationhttp://www.redcrittertracker.com/