DevOps und Continuous Delivery
Von Release Automation bis zur Feedbackschleife
Matthias Zieger
codecentric AG
Codecentric AG
2
Genutzte operative Modelle verhindern Geschwindigkeit
OPSDEVBUSINESS
DevOpsWas verbirgt sich hinter diesem Begriff?
Sie wollen DevOps verstehen ?
Just read the <beep> manual …
… oder dieses
Buch lesen …
http://itrevolution.com/books/phoenix-project-devops-book/
DevOps =
10 Releases pro
Zeiteinheit x ?
DevOps in a nutshell
DevOps = BIZ_DEV_QA_OPS
Betrieb & FeedbackPlanung
Entwicklung &Test
Bereitstellung
• Systemdenken
• Kultur der Experimente
und des ständigen
Lernens
• Verstärkte Feedback-
Schleifen
http://itrevolution.com/the-three-ways-
principles-underpinning-devops/
Der Weg zu DevOps
• Minimierung der Zykluszeiten – kleiner, dafür öfter
• Ganzheitliche Sicht der Dinge
• Keine Fehler weitergeben
• Nur an wenigen Punkten gleichzeitig arbeiten
• Systeme und Organisationen robust gegen Änderungen
machen
OpsDevBusiness IT value chain Customer
Holistic optimization
Systemdenken
• Zwei Dinge sind extrem wichtig:
• Experimente und Risiken zulassen – aus Erfolgen und Fehlern lernen
• Nur Wiederholung und Übung macht den Meister
• 20% der Zeit für Innovationen einplanen !
• Verbesserungen willkommmen heißen !
OpsDevBusiness IT value chain Customer
Kultur der Experimente und des Lernens schaffen
• Schnelles Feeback von rechts nach links in allen Phasen
• Qualität von Anfang an – Bewusstsein und Wissen über
Qualität
• Gemeinsame Ziele für Dev und Ops
• Hoher Automatisierungsgrad (Build, Deploy, Run, Test)
• Wert für den Kunden messen
OpsDevBusiness IT value chain Customer
Feebackschleifen verstärken
1. Managebarkeit
2. Robustheit der Architektur
3. Transparenz
4. Dokumentation
Die Herausforderungen
DevOps und Continuous Delivery
16
Continuous Delivery Steps
Co
nti
nu
ou
s D
eli
very
„no more Visio“ - Orchestrierung der CD Pipeline
Cha
ng
e
Time
# Deployments / T
# B
ug
sC
ost
# Deployments
Time
Pro
fit
Inve
sm
.
PuppetGit, Jenkins, Nexus,
Maven
Fitnesse, Selenium,
Xebium, NGrinder
T
PA
O
FULLY AUTOMATED SOFTWARE DELIVERY and RELEASE MANAGEMENT PROCESS
CONTINUOUS
INTEGRATIONAUTOMATED
TEST
AUTOMATED
PROVISIONING
• Improve quality
• Increase
predictability
XLDeploy
AUTOMATED
DEPLOYMENT
• Release insight
• Reduce release time
• Reduce errors
• Less downtime
• Cost reduction
• Improve reliability
• Repeatable
• Reduce Cost
• Increase speed
• Reduce costs
• Increase speed
• Reduce risk
• Reduce Cost
ARCHITECTURE
AGILE
PROCESS
• Deliver fast
• Deliver often
• Do the right things
CONTINUOUS DELIVERY:
“REMOVE WASTE FROM YOUR SOFTWARE DELIVERY PROCESS"
Chef, Puppet,
SystemCenter
Bestandteile einer CD-Pipeline
Tools für jeden Einsatzzweck
Demo: Pipeline in a Box Container
21
DevOps erfordert
Organisationsänderungen
OpsDev IT value chain
Busi
ness
cap
ab
ilities
Sp
eci
alis
t te
am
(e.g
., p
rod
uct
manag
er)
Sp
eci
alis
t te
am
(e.g
., U
X e
xpert
)
Sp
eci
alis
t te
am
(e.g
., d
eve
lop
er)
Sp
eci
alis
t te
am
(e.g
., Q
A e
xpert
)
Sp
eci
alis
t te
am
(e.g
., sy
s ad
min
)
Sp
eci
alis
t te
am
(e.g
., D
BA
)
…
Traditional IT organization
OpsDev IT value chain
Busi
ness
cap
ab
ilities
Cross-functional product team
…
DevOps IT organization
Cross-functional product team
Cross-functional product team
Cross-functional product team
OpsDev IT value chain
Busi
ness
cap
ab
ilities
Cross-functional product team
…
DevOps IT organization (optimized)
Cross-functional product team
Cross-functional product team
Cross-functional product team
Pla
tfo
rm t
eam
API
Zusammenfassung
DevOps – Kultureller Wandel
Software Craftmanship – Handwerkliches können in Dev und Ops
Anwendungen vorbereiten bzgl.
Schnitt der Module
Technische Schulden
Testabdeckung (TDD, BDD, Lasttests)
Reaktive Systeme
CD Toolchain optimieren, umbauen und erweitern
Ständige Änderungen einplanen
Fragen ? Diskussion, Anregungen