SlideShare a Scribd company logo
Continuous Integration (CI)
& Continuous Delivery (CD)
Rethink your software Delivery
EMEA PUG Challenge, 06-10-
2016
Joost van der Griendt
Who are we?
Flusso
• One of biggest OpenEdge consultancy firms in NL
• Progress technologies,
• Open Source (Java & ServiceMix, etc),
• Web Apps (Angular2, various app platforms)
• OutSystems
• CI/CD Consultancy
Who are we?
Joost van der Griendt
Java Developer since 2005, Automation Engineer since
2009
Flusso since 2011, currently CI/CD Consultant at ABN
AMRO
Overview
• What is CI/CD
• Why CI/CD
• Advanced concepts
• How can you implement it
4
Not discussed
• Automated tests & Test Pyramid
• Self testing code
• Trunk Based Development
• Branching strategies
• Engineering Effectiveness
5
Software Lifecycle & CI/CD
• How quickly can you get a single line of code into
production?
• Can you do this on a repeatable and reliable basis?
• Different for new product or an existing product?
6
Continuous Integration
“CI is a practice where members of a team integrate their
work frequently, preferably daily - leading to multiple
integrations per day. Each integration is verified by an
automated build (including tests) to detect errors as quickly
as possible.” – Martin Fowler
7
Continuous Delivery
"[CD] is an approach in which teams ensure that every
change to the system is releasable, and that we can release
any version at the push of a button. CD aims to make
releases boring, so we can deliver frequently and get fast
feedback on what users care about.“ – Thought Works
8
How do CI and CD relate
9
Build IntegrateCode Release DeployTest Operate
Agile Development
Continuous Integration
Continuous Delivery
Continuous Deployment
DevOps
Why Continuously Deliver
10
Key Principles
11
•The smaller the changes, the easier it is to integratethem
•Everyone is always up-to-date and you test the end result
Integrate Early & Often
•Automate repetitive and mundane tasks; let humans focus on what they do best
•If it hurts, do it more often, make tough tasks boring by doing them over and over
Automate
•Every change should be shippable to live, not live is no value
•Verify automatically it meets all requirements
Build Quality In
•We work on a Product/Value together, anything good or bad impacts all
•Enables "Boy Scout Rule“ & continuously improve the product
Shared Responsibility
•Work with metrics and facts, gather them at every step and use as input for the next iteration
•Make improvement of the Product and Build Pipeline core task of everyone
Continuous Feedback
Advanced Concepts
• Infrastructure As Code
• Configuration As Code
• Pipelines (as code)
• Maturity Model
12
Infrastructure As Code
“The enabling idea of infrastructure as code is that the systems and
devices which are used to run software can be treated as if they,
themselves are code.” - Kief Morris
13
Configuration As Code
Manual commands Hoard knowledge Manage items
individually
Write
documentation
Change Production
directly
Make it a
definition
Version everything Use Templates Live documentation Changes through
stages
14
“A deployment pipeline is a way to deal with this by breaking up your build into
stages.
Each stage provides increasing confidence, usually at the cost of extra time.
Early stages can find most problems yielding faster feedback, while later stages
provide slower and more through probing.
Deployment pipelines are a central part of ContinuousDelivery.” - Martin Fowler
15
Pipeline as Code
16
Rome wasn’t built in a day
• It’s about People, Process & Technology
• It’s hard, really hard to do
• Conway’s Law
• Use a maturity model
• Identify low hanging fruit
17
18
Deploy 10x a day
• Can you?
• Are you confident about it?
• Tell your team that tomorrow you will deploy 10 changes into
production!
19
20
Do’s & Don’ts
Don’t
• form a CD team
• task one department to create a CD flow
• automate inside a CD tool
• add tools first, change the people/process later
from Victor Farcic
21
Do’s & Don’ts
Do
• form a multifunctional and autonomous team capable of delivering a service
• include someone with CD experience inside the team
• choose an easy target
• trust the team
• short iterations
from Victor Farcic
22
23
Flusso & CI/CD
24
Download this presentation at:
www.flusso.nl/pug16-cicd/
Resources
• http://vfarcic.github.io/continuous-deployment-best-
practices/index.html#/cover
• http://www.gigamonkeys.com/flowers/
• https://medium.com/@aboodman/in-march-2011-i-drafted-an-article-
explaining-how-the-team-responsible-for-google-chrome-ships-
c479ba623a1b#.vmhahnczd
• https://www.thoughtworks.com/insights/blog/enabling-trunk-based-
development-deployment-pipelines
• https://www.thoughtworks.com/insights/blog/demystifying-conways-law
25
References
• http://www.stellarin.com/services/outsourced-development
• https://www.infoq.com/articles/Continuous-Delivery-Maturity-Model
26

More Related Content

What's hot (20)

PPTX
CI/CD Best Practices for Your DevOps Journey
DevOps.com
 
PPTX
CI/CD Overview
An Nguyen
 
PPTX
Transforming Organizations with CI/CD
Cprime
 
PDF
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Edureka!
 
ODP
Devops Devops Devops
Kris Buytaert
 
PPT
CI and CD with Jenkins
Martin Málek
 
PPTX
Introduction to DevOps
Matthew David
 
PPTX
DevOps 101 - an Introduction to DevOps
Red Gate Software
 
PPTX
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 
PPTX
Introduction to devops
UtpalenduChakrobortt1
 
PPTX
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
PDF
DevOps introduction
Sridhara T V
 
PPTX
DevOps Overview
Sagar Mody
 
PDF
intro to DevOps
Mujahed Al-Tahle
 
PPTX
Introduction to DevOps
Hawkman Academy
 
PDF
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
Edureka!
 
PDF
DevOps & SRE at Google Scale
Kaushik Bhattacharya
 
PDF
DevOps Best Practices
Giragadurai Vallirajan
 
PPTX
Automation Testing
Sun Technlogies
 
CI/CD Best Practices for Your DevOps Journey
DevOps.com
 
CI/CD Overview
An Nguyen
 
Transforming Organizations with CI/CD
Cprime
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
Edureka!
 
Devops Devops Devops
Kris Buytaert
 
CI and CD with Jenkins
Martin Málek
 
Introduction to DevOps
Matthew David
 
DevOps 101 - an Introduction to DevOps
Red Gate Software
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 
Introduction to devops
UtpalenduChakrobortt1
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
DevOps introduction
Sridhara T V
 
DevOps Overview
Sagar Mody
 
intro to DevOps
Mujahed Al-Tahle
 
Introduction to DevOps
Hawkman Academy
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
Edureka!
 
DevOps & SRE at Google Scale
Kaushik Bhattacharya
 
DevOps Best Practices
Giragadurai Vallirajan
 
Automation Testing
Sun Technlogies
 

Viewers also liked (7)

PDF
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Robert McDermott
 
PDF
Cd syd
Michael Neale
 
PPTX
PUG Challenge 2016 - The nativescript pug app challenge
Bronco Oostermeyer
 
PDF
Summit 16: CI/CD and DevOps
OPNFV
 
PPTX
Agile Release Planning
Adnan Aziz
 
PDF
Tracking and improving software quality with SonarQube
Patroklos Papapetrou (Pat)
 
PDF
Continuous Delivery
Jez Humble
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Robert McDermott
 
PUG Challenge 2016 - The nativescript pug app challenge
Bronco Oostermeyer
 
Summit 16: CI/CD and DevOps
OPNFV
 
Agile Release Planning
Adnan Aziz
 
Tracking and improving software quality with SonarQube
Patroklos Papapetrou (Pat)
 
Continuous Delivery
Jez Humble
 
Ad

Similar to Flusso Continuous Integration & Continuous Delivery (20)

PPTX
ContinuousDelivery-101
Kishore Bhatia
 
PDF
Continuous Everything
Andrea Tino
 
PDF
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
WSO2
 
PPTX
Continuous Delivery Overview
Luca Minudel
 
PPT
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
Burns Sheehan
 
PPTX
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
Derk-Jan de Grood
 
PDF
CI CD Pipeline Interview Questions PDF By ScholarHat
Scholarhat
 
PPTX
CI / CD pipeline presentation of SE.pptx
mazanali7145
 
PDF
Constant Contact SF's Road to CD
Solano Labs
 
PPTX
DevOps: Age Of CI/CD
MoogleLabs default
 
PPTX
CICD Pipeline - AWS Azure
Ratan Das
 
PDF
Continuous Delivery for people who do not write code - Matthew Skelton - Conflux
Matthew Skelton
 
PDF
How To Implement Continuous Integration And Delivery In Software Development.pdf
Integrated IT Solutions
 
PDF
We thought we were doing continuous delivery and then...
Suzie Prince
 
PPTX
Implementing-Continuous-Integration-and-Deployment-CICD-Pipelines.pptx
significantdirt
 
PDF
Let's release it - an intro to Continuous Delivery
rouanw
 
PPTX
Continuous integration, delivery & deployment
Martijn van der Kamp
 
PPTX
Tester’s considerations when moving towards successful CI/CD
Derk-Jan de Grood
 
PDF
Continuous, continuous, continuous
Michele Orselli
 
PPTX
CI, CD -Tools to integrate without manual intervention
ajayrajaganeshkayala
 
ContinuousDelivery-101
Kishore Bhatia
 
Continuous Everything
Andrea Tino
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
WSO2
 
Continuous Delivery Overview
Luca Minudel
 
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
Burns Sheehan
 
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
Derk-Jan de Grood
 
CI CD Pipeline Interview Questions PDF By ScholarHat
Scholarhat
 
CI / CD pipeline presentation of SE.pptx
mazanali7145
 
Constant Contact SF's Road to CD
Solano Labs
 
DevOps: Age Of CI/CD
MoogleLabs default
 
CICD Pipeline - AWS Azure
Ratan Das
 
Continuous Delivery for people who do not write code - Matthew Skelton - Conflux
Matthew Skelton
 
How To Implement Continuous Integration And Delivery In Software Development.pdf
Integrated IT Solutions
 
We thought we were doing continuous delivery and then...
Suzie Prince
 
Implementing-Continuous-Integration-and-Deployment-CICD-Pipelines.pptx
significantdirt
 
Let's release it - an intro to Continuous Delivery
rouanw
 
Continuous integration, delivery & deployment
Martijn van der Kamp
 
Tester’s considerations when moving towards successful CI/CD
Derk-Jan de Grood
 
Continuous, continuous, continuous
Michele Orselli
 
CI, CD -Tools to integrate without manual intervention
ajayrajaganeshkayala
 
Ad

Recently uploaded (20)

PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
Tally software_Introduction_Presentation
AditiBansal54083
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 

Flusso Continuous Integration & Continuous Delivery

  • 1. Continuous Integration (CI) & Continuous Delivery (CD) Rethink your software Delivery EMEA PUG Challenge, 06-10- 2016 Joost van der Griendt
  • 2. Who are we? Flusso • One of biggest OpenEdge consultancy firms in NL • Progress technologies, • Open Source (Java & ServiceMix, etc), • Web Apps (Angular2, various app platforms) • OutSystems • CI/CD Consultancy
  • 3. Who are we? Joost van der Griendt Java Developer since 2005, Automation Engineer since 2009 Flusso since 2011, currently CI/CD Consultant at ABN AMRO
  • 4. Overview • What is CI/CD • Why CI/CD • Advanced concepts • How can you implement it 4
  • 5. Not discussed • Automated tests & Test Pyramid • Self testing code • Trunk Based Development • Branching strategies • Engineering Effectiveness 5
  • 6. Software Lifecycle & CI/CD • How quickly can you get a single line of code into production? • Can you do this on a repeatable and reliable basis? • Different for new product or an existing product? 6
  • 7. Continuous Integration “CI is a practice where members of a team integrate their work frequently, preferably daily - leading to multiple integrations per day. Each integration is verified by an automated build (including tests) to detect errors as quickly as possible.” – Martin Fowler 7
  • 8. Continuous Delivery "[CD] is an approach in which teams ensure that every change to the system is releasable, and that we can release any version at the push of a button. CD aims to make releases boring, so we can deliver frequently and get fast feedback on what users care about.“ – Thought Works 8
  • 9. How do CI and CD relate 9 Build IntegrateCode Release DeployTest Operate Agile Development Continuous Integration Continuous Delivery Continuous Deployment DevOps
  • 11. Key Principles 11 •The smaller the changes, the easier it is to integratethem •Everyone is always up-to-date and you test the end result Integrate Early & Often •Automate repetitive and mundane tasks; let humans focus on what they do best •If it hurts, do it more often, make tough tasks boring by doing them over and over Automate •Every change should be shippable to live, not live is no value •Verify automatically it meets all requirements Build Quality In •We work on a Product/Value together, anything good or bad impacts all •Enables "Boy Scout Rule“ & continuously improve the product Shared Responsibility •Work with metrics and facts, gather them at every step and use as input for the next iteration •Make improvement of the Product and Build Pipeline core task of everyone Continuous Feedback
  • 12. Advanced Concepts • Infrastructure As Code • Configuration As Code • Pipelines (as code) • Maturity Model 12
  • 13. Infrastructure As Code “The enabling idea of infrastructure as code is that the systems and devices which are used to run software can be treated as if they, themselves are code.” - Kief Morris 13
  • 14. Configuration As Code Manual commands Hoard knowledge Manage items individually Write documentation Change Production directly Make it a definition Version everything Use Templates Live documentation Changes through stages 14
  • 15. “A deployment pipeline is a way to deal with this by breaking up your build into stages. Each stage provides increasing confidence, usually at the cost of extra time. Early stages can find most problems yielding faster feedback, while later stages provide slower and more through probing. Deployment pipelines are a central part of ContinuousDelivery.” - Martin Fowler 15 Pipeline as Code
  • 16. 16
  • 17. Rome wasn’t built in a day • It’s about People, Process & Technology • It’s hard, really hard to do • Conway’s Law • Use a maturity model • Identify low hanging fruit 17
  • 18. 18
  • 19. Deploy 10x a day • Can you? • Are you confident about it? • Tell your team that tomorrow you will deploy 10 changes into production! 19
  • 20. 20
  • 21. Do’s & Don’ts Don’t • form a CD team • task one department to create a CD flow • automate inside a CD tool • add tools first, change the people/process later from Victor Farcic 21
  • 22. Do’s & Don’ts Do • form a multifunctional and autonomous team capable of delivering a service • include someone with CD experience inside the team • choose an easy target • trust the team • short iterations from Victor Farcic 22
  • 23. 23
  • 24. Flusso & CI/CD 24 Download this presentation at: www.flusso.nl/pug16-cicd/
  • 25. Resources • http://vfarcic.github.io/continuous-deployment-best- practices/index.html#/cover • http://www.gigamonkeys.com/flowers/ • https://medium.com/@aboodman/in-march-2011-i-drafted-an-article- explaining-how-the-team-responsible-for-google-chrome-ships- c479ba623a1b#.vmhahnczd • https://www.thoughtworks.com/insights/blog/enabling-trunk-based- development-deployment-pipelines • https://www.thoughtworks.com/insights/blog/demystifying-conways-law 25