SlideShare una empresa de Scribd logo
1 de 43
Menschen. Innovationen. Lösungen.
Michael Stähler
Auf dem Weg von
Continuous Integration (CI)
zu Continuous Delivery (CD)
Wie die Ideen hinter CD-Prinzipien den Weg weisen können
Michael Stähler
 Software Architekt, Coach, Entwickler
Fokus Themen
 Software Architektur
 Java Technologien, Java EE, Spring
 Continuous Delivery
michael.staehler@opitz-consulting.com
@fred4jupiter
https://github.com/fred4jupiter
http://de.slideshare.net/opitzconsulting
Mission
Wir entwickeln gemeinsam mit allen Branchen
Lösungen, die dazu führen, dass sich diese
Organisationen besser entwickeln als ihr
Wettbewerb.
Unsere Dienstleistung erfolgt partnerschaftlich
und ist auf eine langjährige Zusammenarbeit
angelegt.
Leistungsangebot
Application Lifecycle Management
IT-Beratung
Business-Lösungen
Managed Services
Training und Coaching
IT-Trends
Märkte
Branchenübergreifend
Über 600 Kunden
29%
Industrie / Versorger /
Telekommunikation
29%
Handel / Logistik /
Dienstleistungen
42%
Öffentliche Auftraggeber / Banken und
Versicherungen / Vereine und Verbände
Eckdaten
Gründung 1990
400 Mitarbeiter
9 Standorte
Agenda
Abgrenzung CI von CD
CD-Prinzipien und -Praktiken
Themenschwerpunkte im CD-Umfeld
Fazit
ABGRENZUNG CI VON CD
Continuous Integration
Source Control
Build
Testing
Development
trigger on
commit
commit
TestReport
Continuous Integration
 schnelles Feedback auf Sourcecode-Änderungen
 Prinzip: „integrate early and often“
 (mind.) einmal am Tag einchecken
Definition of Done:
Completed in Development and Test
Continuous Delivery
 schnelles Feedback ob Anwendung „einsatzbereit“
für Produktion
 Deployment: finale Stage von Continuous Integration
 Software ist jederzeit in deploybarem Zustand
Definition of Done:
Completed in Development and Test
Available in Production
Continuous Delivery
Sammlung von Techniken,
Prozessen und Werkzeugen,
um den Prozess der
Softwareauslieferung zu verbessern
agiles Manifest
„Unsere höchste Priorität ist es,
den Kunden durch frühe und
kontinuierliche Auslieferung wertvoller
Software zufrieden zu stellen.“
Quelle: http://agilemanifesto.org/iso/de/principles.html
1. Agile Manifest
Warum CD? - Ziele
 Fortführung agiler Entwicklungspraktiken bis zur
Produktion
 kürzere Time-To-Market
o Fachbereich oder Management wollen häufiger
Produkte am Markt platzieren
 Qualität der Softwareauslieferung verbessern
Warum CD?
“How long does it take to deploy one line of
code to production?” Mary und Tom Poppendieck, 2006
Metriken: Lead Time vs. Cycle Time
Zeit
Online
Lead Time (Sicht des „Kunden“; SLA)
Cycle Time
Ticket created Begin of work going online
Warum CD? - häufige Probleme
 Lead Time bzw. Cycle Time dauert zu lange
o Continuous Delivery fokussiert auf Cycle Time
 „Letzte Meile“ ist besonders „schmerzhaft“
 schlechte Zusammenarbeit zwischen den
Abteilungen
CD-PRINZIPIEN UND -PRAKTIKEN
CD-Prinzipien
Erstmals im Buch
„Continous Delivery“ von
Jez Humble und David Farley
definiert.
Addison-Wesley, 2010
Von CD-Prinzipien leiten lassen…
Prinzipien Praktiken
Topics
(Themenschwerpunkte)
Umsetzung, Tools
CD-Prinzipien
Repeatable, reliable Release-
/ Deploy-Process
Automate everything!
If somethings painful, do it
more often
Keep everything in
source control
Done means “released”
Build quality in!
Everybody has responsible for
the release process.
Improve continuously
CD-Praktiken
Build binaries only once
Same mechanism to deploy to
every environment
Smoke test your deployment
If anything fails, stop the line!
Topics
Cloud, Virtualisierung
Log-Management /
Monitoring
Automatisierung
Konfigurationsmanagement
Self-Service-Operations
James Betteley, 8 Principles of Continuous Delivery: https://dzone.com/articles/8-principles-continuous, 2011
CD-Pipeline
DevOps
THEMENSCHWERPUNKTE CD
Automatisierung
Quelle: https://en.fotolia.com/id/70489116
Automatisierung
Deployment Checklist:
Unit Tests starten
Build taggen
Dateien kopieren
Package, Release
FTP Transfer auf Server
Jobs, Server restarten
Deployment Jobs:
Test Deploy
Stage Deploy
Prod Deploy
Automatisierung
 ermöglicht zuverlässiges, wiederholbares Release-
und Deployment-Management
 Umgebungen gleich halten (reproduzierbar)
 „Infrastructure as Code“
 mittlerweile viele (gute) Tools verfügbar
CD-Pipeline
Quelle: https://www.flickr.com/photos/31237410@N00/283508072/sizes/l/
CD-Pipeline
Manueller Start
Commit Stage
Automated
Acceptance Test
Stage
Manual QA
Testing
UAT
Capacity & Load
Testing
Production
Quality
Gate
Value Stream
Quality
Gate
Quality
Gate
Quality
Gate
Zeit
Klassische Releases
Continuous Delivery
“If something is painful, do it more often!“
CD-Pipeline
Beispiel: Jenkins
• build-pipeline-plugin
• delivery-pipeline-plugin
Plugins:
CD-Pipeline
Beispiel: Thoughtworks GO
CD-Pipeline
 schafft Transparenz im Release- und Deployprozess
 Qualitätssicherung durch Quality-Gates
 Feedback-Zyklus mit jeder Stage
 Test von Funktionalitäts-, Sicherheits- und
Performance-Aspekten
Konfigurationsmanagement
Quelle: https://farm3.staticflickr.com/2487/4178277860_3bcc6e9715_b_d.jpg
Konfigurationsmanagement
 ein Binär-Artefakt für alle Umgebungen
o dynamische Konfiguration zur Laufzeit
 Applikation mit Laufzeitumgebung „bündeln“
o z.B. Spring Boot, Payara Micro, RPM, Docker-Container …
 eine Versionsnummer pro Pipeline-Build
 Datenbankschemamigration
 Feature Toggles / Feature Flags
o z.B.
Self-Service-Operations
Quelle: https://farm3.staticflickr.com/2823/12183409234_59e797bfc2_o_d.jpg
Self-Service-Operations
 Deployment, Releasemanagement per „Button-Click“
o Deploye in alle Umgebungen auf die gleiche Weise
 Features: Dashboard, Job Scheduling, Remote Execution
 Smoke-Test nach Deployment
 Rechtemanagement
 Auditing: Historie mittels Activity-Log
o Wer hat wann welche Version deployt?
Self-Service-Operations
Quelle: http://rundeck.org/images/Rundeck-JobExecution.png
Quelle: https://en.fotolia.com/id/92642700
DevOps
DevOps
WallofConfusion
Entwicklung Betrieb
Wir müssen neue
Anforderungen
umsetzen!
Wir müssen Stabilität
gewährleisten!
DevOps
 Fokus auf das gesamte System definiert die Ziele
o jeder ist verantwortlich für den Auslieferungsprozess
(DEV, QA, OPS…)
o MicroServices: Querschnitts-Teams, „You build it, you run it“
 Entwicklerteam mit Ops-Beteiligung
o oder Ops-Team mit Entwicklerbeteiligung
 Betrieb frühzeitig in Entwicklung einbeziehen
o Wartungskosten: ca. 2- bis 4-fache der Entwicklungskosten *
* http://archiv.iwi.uni-hannover.de/cms/images/stories/upload/lv/wisem0809/SQM/WRT.pdf
Log-Management /Monitoring
Quelle: https://farm7.staticflickr.com/6238/6266640101_ddc8fc52d9_b_d.jpg
Log-Management/Monitoring
 viele Anwendungen, viele Logs, viele Server
o zentraler Zugang hilfreich (z.B. über Dashboard)
 Prod-Logs überwachen, korrelieren, durchsuchen
 Feedback aus Produktion bereits in Entwicklung
 einheitliches Format (z.B. GELF)
Cloud, Virtualisierung
Quelle: https://farm6.staticflickr.com/5303/5781222217_490879de04_b_d.jpg
Cloud (PaaS), Virtualisierung
 ermöglicht schnelle Bereitstellung von Test-/Prod-Umgebungen
(on-demand)
 einfache, dynamische Skalierung
 Software muss nicht an Umgebung angepasst werden
o Umgebung wird an Software angepasst bzw. dafür erstellt
 Containerization
o angepasste Umgebung für die Anwendung
o ideal für MicroService-Architekturen
 Build-Agents in Docker-Umgebung
FAZIT
Fazit
Continuous Delivery ist Fortführung von CI
Automatisierung ist Enabler für CD
CD für jedes Unternehmen wichtig
Es gibt nicht das eine CD-Tool
Bildquelle / URL
Fragen?
Herzlichen Dank für
Ihre Aufmerksamkeit!

Más contenido relacionado

Más de OPITZ CONSULTING Deutschland

OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungOPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOPITZ CONSULTING Deutschland
 
Oracle-Lizenzierung bei Virtualisierung und in der Cloud
Oracle-Lizenzierung bei Virtualisierung und in der CloudOracle-Lizenzierung bei Virtualisierung und in der Cloud
Oracle-Lizenzierung bei Virtualisierung und in der CloudOPITZ CONSULTING Deutschland
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...OPITZ CONSULTING Deutschland
 
Handlungsoptionen bei der Modernisierung von Legacy-Systemen
Handlungsoptionen bei der Modernisierung von Legacy-SystemenHandlungsoptionen bei der Modernisierung von Legacy-Systemen
Handlungsoptionen bei der Modernisierung von Legacy-SystemenOPITZ CONSULTING Deutschland
 

Más de OPITZ CONSULTING Deutschland (20)

10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
 
OC|Weekly Talk Remote Design Thinking
OC|Weekly Talk Remote Design ThinkingOC|Weekly Talk Remote Design Thinking
OC|Weekly Talk Remote Design Thinking
 
OC|Webcast Smart Innovation am 7. April 2020
OC|Webcast Smart Innovation am 7. April 2020OC|Webcast Smart Innovation am 7. April 2020
OC|Webcast Smart Innovation am 7. April 2020
 
2020 oracle lizenznews
2020 oracle lizenznews2020 oracle lizenznews
2020 oracle lizenznews
 
Oracle-Lizenzierung bei Virtualisierung und in der Cloud
Oracle-Lizenzierung bei Virtualisierung und in der CloudOracle-Lizenzierung bei Virtualisierung und in der Cloud
Oracle-Lizenzierung bei Virtualisierung und in der Cloud
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
 
Handlungsoptionen bei der Modernisierung von Legacy-Systemen
Handlungsoptionen bei der Modernisierung von Legacy-SystemenHandlungsoptionen bei der Modernisierung von Legacy-Systemen
Handlungsoptionen bei der Modernisierung von Legacy-Systemen
 

Auf dem Weg von Continuous Integration zu Continuous Delivery