SlideShare a Scribd company logo
1 of 30
Download to read offline
copyright 2015 Trainologic LTD
From Zero to
Continuous Delivery
2 copyright 2015 Trainologic LTD
• Continuous Delivery (CD) is a hot topic these days.
• Considered as a silver bullet for DevOps teams.
• In this session we’ll:
• Describe the Deployment Pipeline.
• Overview the tools.
• Describe best-practices.
Continuous Delivery
2
From Zero to Continuous Delivery
3 copyright 2015 Trainologic LTD
• The goals:
• Find bugs earlier
• Improve time-to-market
• Reduce manual work
• Dashboard (Monitoring)
Continuous Delivery
3
From Zero to Continuous Delivery
4 copyright 2015 Trainologic LTD
The Pipeline
4
From Zero to Continuous Delivery
Code
Committed
CI
Integration
Test
Deploy to
Staging
UAT
Deploy to
Prod
5 copyright 2015 Trainologic LTD
• The developers are responsible for writing Unit and
Integration tests (and the code of-course).
• And they commit their changes into the SCM.
• The SCM is a crucial tool in the process!
• (Branches, Labels, Diffs)
It All Starts From…
5
From Zero to Continuous Delivery
6 copyright 2015 Trainologic LTD
• Only hand-written code and configuration files should
reside in your SCM.
• Never store anything that is binary or generated there!
• Try to choose a tool which provides hooks that can
notify external applications on commits.
Important Practices (SCM)
6
From Zero to Continuous Delivery
7 copyright 2015 Trainologic LTD
• A good Continuous Integration
(CI) process stands at the
heart of a good CD pipeline.
• Your CI tool should start its
work (job) when it was
notified by the SCM over a
commit. (polling is also an
option).
The Beast (CI)
7
From Zero to Continuous Delivery
8 copyright 2015 Trainologic LTD
CI
8
From Zero to Continuous Delivery
9 copyright 2015 Trainologic LTD
• Your CI Tool should (in first phase):
• Compile your code and tests (if needed).
• Run Unit tests
• Run Static Code Analysis.
• Package
• Run Integration Tests
• Deploy to Binary Repository.
The “classic” CI Role
9
From Zero to Continuous Delivery
1
0
copyright 2015 Trainologic LTD
• Often, you’ll want to have several CI machines.
• For running resource intensive tests (load, security,
gui).
• Can be also used to parallelize tests.
Several CI Machines
10
From Zero to Continuous Delivery
1
1
copyright 2015 Trainologic LTD
• Never, ever, run the build with tests disabled!
• Failure of build should notify the committing developers.
• Build should be fast! (unit-tests).
• Build results should be visible to everyone.
Important Practices (CI)
11
From Zero to Continuous Delivery
1
2
copyright 2015 Trainologic LTD
• Very important to minimize the technical debt!
• There are many tools in the market: FindBugs, Sonar,
PMD, CheckStyle.
• It is important to take the time and adjust the rules of
these tools.
• It is important to minimize the noise (false positives) as
it will result in ignoring the reports.
• Fail the build if code quality is poor!
Code Quality
12
From Zero to Continuous Delivery
1
3
copyright 2015 Trainologic LTD
Code Quality
13
From Zero to Continuous Delivery
1
4
copyright 2015 Trainologic LTD
• Integration tests are very important.
• Keep the tests self-contained:
• Deploy the artifact to the container
• Initialize the DB
• Test
• Undeploy and clear after you’re done.
Integration Tests
14
From Zero to Continuous Delivery
1
5
copyright 2015 Trainologic LTD
• Holds the ‘artifacts’ of the build.
• Everything should be either in the SCM (hand-written
files) or in the binary repository (build artifacts).
• Everything should be versioned.
The Binary Repository
15
From Zero to Continuous Delivery
1
6
copyright 2015 Trainologic LTD
• Never, ever, allow for overriding release artifacts.
• Only the CI (automated) user should be allowed to
deploy a release artifact.
• Every artifact has to be linked to a SCM label!
• Make it HA (without it everything is down).
Important Practices (Repository)
16
From Zero to Continuous Delivery
1
7
copyright 2015 Trainologic LTD
• When moving towards CD, your CI process should also
start the distribution into the staging machines.
• CM tool is a must.
• Especially for cluster environments.
• Deployables should only be taken from the binary
repository!
CI and CD
17
From Zero to Continuous Delivery
1
8
copyright 2015 Trainologic LTD
• The ‘enabler’ of the CD.
• Main concern: sync the environments with the master
configuration!
The CM Tool
18
From Zero to Continuous Delivery
1
9
copyright 2015 Trainologic LTD
• Responsible mainly for:
• Orchestration
• Configuration Synchronization
• Deployments
CM Tools
19
From Zero to Continuous Delivery
2
0
copyright 2015 Trainologic LTD
Puppet – Deploy Web App
20
From Zero to Continuous Delivery
tomcat::war { 'sample.war':
catalina_base => '/opt/apache-tomcat/tomcat8',
war_source => '/opt/apps/bankapp.war',
}
2
1
copyright 2015 Trainologic LTD
• The Staging environment must be the same as the
production one.
• Everything that can be tested automatically should be in
the process.
• What about manual tests?
Staging
21
From Zero to Continuous Delivery
2
2
copyright 2015 Trainologic LTD
• User Acceptance Tests are an important part of a good
CD.
• Especially in a complex product.
UAT
22
From Zero to Continuous Delivery
2
3
copyright 2015 Trainologic LTD
• UAT is usually done by SME (Subject Matter Experts).
• Gather as much automated feedback as possible.
• Manual feedback should be gathered using a user-
friendly tool.
UAT
23
From Zero to Continuous Delivery
2
4
copyright 2015 Trainologic LTD
• In order to avoid multiple branches, you should use
feature toggles.
• “Just ‘if’s in your code”.
• Allowing for developers to even commit unfinished code.
• Can be a simple boolean, or even an enum or list.
• Now we can do a real ‘daily commit’.
Feature Toggles
24
From Zero to Continuous Delivery
2
5
copyright 2015 Trainologic LTD
• Everything should be monitored!
Monitoring
25
From Zero to Continuous Delivery
2
6
copyright 2015 Trainologic LTD
• You should monitor:
• System Resources (CPU, Memory, Paging,…)
• Container Resources (e.g.: Docker)
• Technology specifics (e.g.: GC)
• KPIs
• Logs
• Save aggregated output for baseline comparison.
Monitor
26
From Zero to Continuous Delivery
2
7
copyright 2015 Trainologic LTD
• Log monitoring is crucial.
• Not only for the application.
• Also for DBs, Mail Servers and Application Containers.
• There are tools that enable real-time log monitoring.
• E.g.:
• Logstash+ElasticSearch+Kibana+Graphite
Logging
27
From Zero to Continuous Delivery
2
8
copyright 2015 Trainologic LTD
• You can add a CD dashboard to Jenkins:
Dashboard
28
From Zero to Continuous Delivery
2
9
copyright 2015 Trainologic LTD
• Well, CD not necessarily the last step.
• Now that we have a trustable-deployable artifact, we
can optionally do continuous deployment.
• Again, we’ll use the CM tools to deploy to the production
machines.
• Keep in mind to monitor everything and rollback on
need!
The End (is near?)
29
From Zero to Continuous Delivery
3
0
copyright 2015 Trainologic LTD
• CD is important.
• But it must be done right.
• Not only tools (which are important).
• But mainly tests (unit, integration, regression, load,
performance, security, acceptance,…).
• Invest in Developers and DevOps culture!
END
30
From Zero to Continuous Delivery

More Related Content

What's hot

iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
Ievgenii Katsan
 
Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4
Aswin Kumar
 
Continuous Quality: What DevOps Means for QA
Continuous Quality: What DevOps Means for QAContinuous Quality: What DevOps Means for QA
Continuous Quality: What DevOps Means for QA
Jeff Sussna
 

What's hot (20)

DevOps – the future of Agile – why, what, how? Agile Israel 2014
DevOps – the future of Agile – why, what, how? Agile Israel 2014DevOps – the future of Agile – why, what, how? Agile Israel 2014
DevOps – the future of Agile – why, what, how? Agile Israel 2014
 
DevOps: Retooling the End-to-End IT Model
DevOps: Retooling the End-to-End IT ModelDevOps: Retooling the End-to-End IT Model
DevOps: Retooling the End-to-End IT Model
 
DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?
 
XebiaLabs Enterprise DevOps
XebiaLabs Enterprise DevOpsXebiaLabs Enterprise DevOps
XebiaLabs Enterprise DevOps
 
DevOps Transition Strategies
DevOps Transition StrategiesDevOps Transition Strategies
DevOps Transition Strategies
 
10 Business Advantages of DevOps
10 Business Advantages of DevOps10 Business Advantages of DevOps
10 Business Advantages of DevOps
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
 
DOES15 - Sherry Chang - Intel’s Journey to Large Scale DevOps Transformation
DOES15 - Sherry Chang - Intel’s Journey to Large Scale DevOps Transformation DOES15 - Sherry Chang - Intel’s Journey to Large Scale DevOps Transformation
DOES15 - Sherry Chang - Intel’s Journey to Large Scale DevOps Transformation
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4Blueprinting DevOps for Digital Transformation_v4
Blueprinting DevOps for Digital Transformation_v4
 
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
 
What business benefits from DevOps 2014
What business benefits from DevOps 2014What business benefits from DevOps 2014
What business benefits from DevOps 2014
 
DOES16 London - Benjamin Wootton - Lessons from 50 Enterprise DevOps Transfor...
DOES16 London - Benjamin Wootton - Lessons from 50 Enterprise DevOps Transfor...DOES16 London - Benjamin Wootton - Lessons from 50 Enterprise DevOps Transfor...
DOES16 London - Benjamin Wootton - Lessons from 50 Enterprise DevOps Transfor...
 
DevOps: Benefits & Future Trends
DevOps: Benefits & Future TrendsDevOps: Benefits & Future Trends
DevOps: Benefits & Future Trends
 
Continuous Quality: What DevOps Means for QA
Continuous Quality: What DevOps Means for QAContinuous Quality: What DevOps Means for QA
Continuous Quality: What DevOps Means for QA
 
Software G Forces
Software G ForcesSoftware G Forces
Software G Forces
 
Evolution of the DevOps Quality Management Office
Evolution of the DevOps Quality Management OfficeEvolution of the DevOps Quality Management Office
Evolution of the DevOps Quality Management Office
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devops
 
DevOps Transformation - technical and organizational goals
DevOps Transformation - technical and organizational goalsDevOps Transformation - technical and organizational goals
DevOps Transformation - technical and organizational goals
 

Viewers also liked

DevOps: IT Operations as a Strategic Weapon
DevOps: IT Operations as a Strategic WeaponDevOps: IT Operations as a Strategic Weapon
DevOps: IT Operations as a Strategic Weapon
dev2ops
 
Road to DevOps ROI
Road to DevOps ROIRoad to DevOps ROI
Road to DevOps ROI
Cloudmunch
 

Viewers also liked (16)

he 7 habits of Highly Effective Organization that Embraced DevOps - Oded Tamir
he 7 habits of Highly Effective Organization that Embraced DevOps - Oded Tamirhe 7 habits of Highly Effective Organization that Embraced DevOps - Oded Tamir
he 7 habits of Highly Effective Organization that Embraced DevOps - Oded Tamir
 
Enabling Enterprises Adopt DevOps
Enabling Enterprises Adopt DevOpsEnabling Enterprises Adopt DevOps
Enabling Enterprises Adopt DevOps
 
DevOps: IT Operations as a Strategic Weapon
DevOps: IT Operations as a Strategic WeaponDevOps: IT Operations as a Strategic Weapon
DevOps: IT Operations as a Strategic Weapon
 
Monitoring Attack Surface to Secure DevOps Pipelines
Monitoring Attack Surface to Secure DevOps PipelinesMonitoring Attack Surface to Secure DevOps Pipelines
Monitoring Attack Surface to Secure DevOps Pipelines
 
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...
Next Generation IT Delivery - What it means to deliver atthe speed of the Dig...
 
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
 
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly DistributedDevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
 
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
 
Building DevOps culture from bottom up
Building DevOps culture from bottom upBuilding DevOps culture from bottom up
Building DevOps culture from bottom up
 
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...
DevOps Paradox: Going Faster Brings Higher Quality, Lower Costs, & Better Out...
 
About Motivation in DevOps Culture
About Motivation in DevOps CultureAbout Motivation in DevOps Culture
About Motivation in DevOps Culture
 
Achieving Secure DevOps: Overcoming the Risks of Modern Service Delivery
Achieving Secure DevOps: Overcoming the Risks of Modern Service DeliveryAchieving Secure DevOps: Overcoming the Risks of Modern Service Delivery
Achieving Secure DevOps: Overcoming the Risks of Modern Service Delivery
 
Road to DevOps ROI
Road to DevOps ROIRoad to DevOps ROI
Road to DevOps ROI
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
Making the business case for DevOps
Making the business case for DevOpsMaking the business case for DevOps
Making the business case for DevOps
 
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a StartupMinimum Viable Architecture -- Good Enough is Good Enough in a Startup
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
 

Similar to from 0 to continuous delivery in 30 minutes

Similar to from 0 to continuous delivery in 30 minutes (20)

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
Implementing Continuous Integration to Improve Software Quality
Implementing Continuous Integration to Improve Software QualityImplementing Continuous Integration to Improve Software Quality
Implementing Continuous Integration to Improve Software Quality
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
The NRB Group mainframe day 2021 - DevOps on Z - Jerome Klimm - Benoit Ebner
The NRB Group mainframe day 2021 - DevOps on Z - Jerome Klimm - Benoit EbnerThe NRB Group mainframe day 2021 - DevOps on Z - Jerome Klimm - Benoit Ebner
The NRB Group mainframe day 2021 - DevOps on Z - Jerome Klimm - Benoit Ebner
 
Automation at Philips Healthcare
Automation at Philips HealthcareAutomation at Philips Healthcare
Automation at Philips Healthcare
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual intervention
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
Continuous Delivery process
Continuous Delivery processContinuous Delivery process
Continuous Delivery process
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneySimplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
 

More from AgileSparks

More from AgileSparks (20)

What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner
 
Distributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithDistributed Teams by Kevin Goldsmith
Distributed Teams by Kevin Goldsmith
 
A Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiA Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi Gostynski
 
Jira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamJira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-Noam
 
Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman
 
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
 
Honest Experimentation by Jonathan Bertfield
 Honest Experimentation by Jonathan Bertfield Honest Experimentation by Jonathan Bertfield
Honest Experimentation by Jonathan Bertfield
 
Pango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloPango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv Kalo
 
ClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny Duek
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
 
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
 
Real Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshReal Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat Enosh
 
True Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegTrue Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper Boeg
 
Homo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelHomo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior Frenkel
 
Intel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraIntel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen Ezra
 
Leading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldLeading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan Bertfield
 
Organization architecture autonomy and accountability
Organization architecture autonomy and accountability Organization architecture autonomy and accountability
Organization architecture autonomy and accountability
 
Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017
 
The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017
 

Recently uploaded

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

from 0 to continuous delivery in 30 minutes

  • 1. copyright 2015 Trainologic LTD From Zero to Continuous Delivery
  • 2. 2 copyright 2015 Trainologic LTD • Continuous Delivery (CD) is a hot topic these days. • Considered as a silver bullet for DevOps teams. • In this session we’ll: • Describe the Deployment Pipeline. • Overview the tools. • Describe best-practices. Continuous Delivery 2 From Zero to Continuous Delivery
  • 3. 3 copyright 2015 Trainologic LTD • The goals: • Find bugs earlier • Improve time-to-market • Reduce manual work • Dashboard (Monitoring) Continuous Delivery 3 From Zero to Continuous Delivery
  • 4. 4 copyright 2015 Trainologic LTD The Pipeline 4 From Zero to Continuous Delivery Code Committed CI Integration Test Deploy to Staging UAT Deploy to Prod
  • 5. 5 copyright 2015 Trainologic LTD • The developers are responsible for writing Unit and Integration tests (and the code of-course). • And they commit their changes into the SCM. • The SCM is a crucial tool in the process! • (Branches, Labels, Diffs) It All Starts From… 5 From Zero to Continuous Delivery
  • 6. 6 copyright 2015 Trainologic LTD • Only hand-written code and configuration files should reside in your SCM. • Never store anything that is binary or generated there! • Try to choose a tool which provides hooks that can notify external applications on commits. Important Practices (SCM) 6 From Zero to Continuous Delivery
  • 7. 7 copyright 2015 Trainologic LTD • A good Continuous Integration (CI) process stands at the heart of a good CD pipeline. • Your CI tool should start its work (job) when it was notified by the SCM over a commit. (polling is also an option). The Beast (CI) 7 From Zero to Continuous Delivery
  • 8. 8 copyright 2015 Trainologic LTD CI 8 From Zero to Continuous Delivery
  • 9. 9 copyright 2015 Trainologic LTD • Your CI Tool should (in first phase): • Compile your code and tests (if needed). • Run Unit tests • Run Static Code Analysis. • Package • Run Integration Tests • Deploy to Binary Repository. The “classic” CI Role 9 From Zero to Continuous Delivery
  • 10. 1 0 copyright 2015 Trainologic LTD • Often, you’ll want to have several CI machines. • For running resource intensive tests (load, security, gui). • Can be also used to parallelize tests. Several CI Machines 10 From Zero to Continuous Delivery
  • 11. 1 1 copyright 2015 Trainologic LTD • Never, ever, run the build with tests disabled! • Failure of build should notify the committing developers. • Build should be fast! (unit-tests). • Build results should be visible to everyone. Important Practices (CI) 11 From Zero to Continuous Delivery
  • 12. 1 2 copyright 2015 Trainologic LTD • Very important to minimize the technical debt! • There are many tools in the market: FindBugs, Sonar, PMD, CheckStyle. • It is important to take the time and adjust the rules of these tools. • It is important to minimize the noise (false positives) as it will result in ignoring the reports. • Fail the build if code quality is poor! Code Quality 12 From Zero to Continuous Delivery
  • 13. 1 3 copyright 2015 Trainologic LTD Code Quality 13 From Zero to Continuous Delivery
  • 14. 1 4 copyright 2015 Trainologic LTD • Integration tests are very important. • Keep the tests self-contained: • Deploy the artifact to the container • Initialize the DB • Test • Undeploy and clear after you’re done. Integration Tests 14 From Zero to Continuous Delivery
  • 15. 1 5 copyright 2015 Trainologic LTD • Holds the ‘artifacts’ of the build. • Everything should be either in the SCM (hand-written files) or in the binary repository (build artifacts). • Everything should be versioned. The Binary Repository 15 From Zero to Continuous Delivery
  • 16. 1 6 copyright 2015 Trainologic LTD • Never, ever, allow for overriding release artifacts. • Only the CI (automated) user should be allowed to deploy a release artifact. • Every artifact has to be linked to a SCM label! • Make it HA (without it everything is down). Important Practices (Repository) 16 From Zero to Continuous Delivery
  • 17. 1 7 copyright 2015 Trainologic LTD • When moving towards CD, your CI process should also start the distribution into the staging machines. • CM tool is a must. • Especially for cluster environments. • Deployables should only be taken from the binary repository! CI and CD 17 From Zero to Continuous Delivery
  • 18. 1 8 copyright 2015 Trainologic LTD • The ‘enabler’ of the CD. • Main concern: sync the environments with the master configuration! The CM Tool 18 From Zero to Continuous Delivery
  • 19. 1 9 copyright 2015 Trainologic LTD • Responsible mainly for: • Orchestration • Configuration Synchronization • Deployments CM Tools 19 From Zero to Continuous Delivery
  • 20. 2 0 copyright 2015 Trainologic LTD Puppet – Deploy Web App 20 From Zero to Continuous Delivery tomcat::war { 'sample.war': catalina_base => '/opt/apache-tomcat/tomcat8', war_source => '/opt/apps/bankapp.war', }
  • 21. 2 1 copyright 2015 Trainologic LTD • The Staging environment must be the same as the production one. • Everything that can be tested automatically should be in the process. • What about manual tests? Staging 21 From Zero to Continuous Delivery
  • 22. 2 2 copyright 2015 Trainologic LTD • User Acceptance Tests are an important part of a good CD. • Especially in a complex product. UAT 22 From Zero to Continuous Delivery
  • 23. 2 3 copyright 2015 Trainologic LTD • UAT is usually done by SME (Subject Matter Experts). • Gather as much automated feedback as possible. • Manual feedback should be gathered using a user- friendly tool. UAT 23 From Zero to Continuous Delivery
  • 24. 2 4 copyright 2015 Trainologic LTD • In order to avoid multiple branches, you should use feature toggles. • “Just ‘if’s in your code”. • Allowing for developers to even commit unfinished code. • Can be a simple boolean, or even an enum or list. • Now we can do a real ‘daily commit’. Feature Toggles 24 From Zero to Continuous Delivery
  • 25. 2 5 copyright 2015 Trainologic LTD • Everything should be monitored! Monitoring 25 From Zero to Continuous Delivery
  • 26. 2 6 copyright 2015 Trainologic LTD • You should monitor: • System Resources (CPU, Memory, Paging,…) • Container Resources (e.g.: Docker) • Technology specifics (e.g.: GC) • KPIs • Logs • Save aggregated output for baseline comparison. Monitor 26 From Zero to Continuous Delivery
  • 27. 2 7 copyright 2015 Trainologic LTD • Log monitoring is crucial. • Not only for the application. • Also for DBs, Mail Servers and Application Containers. • There are tools that enable real-time log monitoring. • E.g.: • Logstash+ElasticSearch+Kibana+Graphite Logging 27 From Zero to Continuous Delivery
  • 28. 2 8 copyright 2015 Trainologic LTD • You can add a CD dashboard to Jenkins: Dashboard 28 From Zero to Continuous Delivery
  • 29. 2 9 copyright 2015 Trainologic LTD • Well, CD not necessarily the last step. • Now that we have a trustable-deployable artifact, we can optionally do continuous deployment. • Again, we’ll use the CM tools to deploy to the production machines. • Keep in mind to monitor everything and rollback on need! The End (is near?) 29 From Zero to Continuous Delivery
  • 30. 3 0 copyright 2015 Trainologic LTD • CD is important. • But it must be done right. • Not only tools (which are important). • But mainly tests (unit, integration, regression, load, performance, security, acceptance,…). • Invest in Developers and DevOps culture! END 30 From Zero to Continuous Delivery