SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Continuous Delivery bis zum Go-Live
Testgetriebenes Arbeiten im Betrieb

Andreas Schmidt

© 2013 Cassini Consulting
@aschmidt75
Cassini Consulting
Management- und
Technologieberatung
>130 Mitarbeiter an 6 Standorten

Agile Methoden & SW-Entwicklung
IT-Betrieb und –Prozesse

@cassinigmbh
Infrastructure
Infrastructure
IS
code
Applikations-Deployment
innerhalb der

Leitplanken
der Infrastruktur
Die „Straße in die Produktion“ kann lang sein.

Entwicklungsumgebung

Integrationsumgebung

Testumgebung

Produktionsnahe
Referenzumgebung

Live-System
http://devopsreactions.tumblr.com/post/41776196984/first-test

14.11.20 -
Hauptspeicher und Filesystemgrößen
Konnektivität zwischen Systemen
Routen und Firewallregeln
Effekte bei Skalierung

Sicherheitspolicies
... uvm ...
Coda Hale, „Metrics, Metrics Everywhere“ http://bit.ly/PjGYRi 2:28
Wie könnte es aussehen?
Wie könnte es aussehen?

Möglichst geringe

Cycle Time
Wie könnte es aussehen?

Ein Team stellt auf

einheitliche
Art und Weise
Infrastruktur bereit
Wie könnte es aussehen?

Umgebungen

gemeinsam
definieren
Wie könnte es aussehen?

Gemeinsame

testbare
Spezifikation
Was
kann getestet werden?
Ausstattung wie Anzahl CPUs, Speichergrößen,
Betriebssysteme
Art und Umfang von Dateisystemen
Korrekte Netzwerkeinstellungen (IP-Adressen,
Netzmasken, Routen)

Verfügbarkeit von Backendsystemen (Ping)
Dateien und Verzeichnisse liegen mit korrekten
Rechten vor
Features sind eingeschaltet (selinux, Firewall, ...)
...uvm
Virtualisierung

Konfigurationsmanagement

Infrastruktur
testen
Virtualisierung
Containerization
Cycle
Time
Der

Container
ersetzt die VM
http://karlgrz.com/testing-salt-states-rapidly-with-docker/
https://twitter.com/docker/status/397854039125143552
+
Einfach in der Nutzung
Sehr schnelles Feedback

Virtualisierung ist state-of-theart im Entwicklungsbereich.

Vieles ist konfigurierbar,
aber nicht alles.
Konfigurationsmanagement
chef

chefspec
Puppet

Rspec-puppet
+
Die Konfigurations-Codebasis
lässt sich umfassend testen.
Größere Sicherheit bei
Refactorings (Regressionstests)
In Build- und Deploychain
integrierbar.

Spec und Code auf
ähnlichem Abstraktionsniveau.

Test reflektiert den Soll-,
aber nicht notwendigerweise den Ist-Zustand.
Infrastruktur
testen
Servers
pec

serverspec.org
github.com/serverspec/serverspec
facts
+
Viele Aspekte testbar.
Näher an der Realität
geht’s nicht.
Spec beschreibt das
Zielsystem im Ergebniszustand.

Spec ist teilweise aber
umgebungsspezifisch.
Spec liegt auf
Implementierungsniveau.
facts
context
vagrant

erzeugen

Host
Konfigurationsmanagement (Server/Repository)

rspec-puppet

test
puppet code

provisionieren

vagrant

erzeugen

Host
puppet
Konfigurationsmanagement (Server/Repository)

rspec-puppet

test
puppet code

chefspec

test
chef code

provisionieren

vagrant

erzeugen

Host
puppet

chef
Konfigurationsmanagement (Server/Repository)

rspec-puppet

chefspec

test
puppet code

test
chef code

provisionieren

vagrant

erzeugen

Host
puppet

chef

OS-Fakten (facter | ohai | Shell)

test
serverspec
Konfigurationsmanagement (Server/Repository)

rspec-puppet

chefspec

test
puppet code

test
chef code

provisionieren

vagrant

erzeugen

Host
puppet

chef

OS-Fakten (facter | ohai | Shell)

test
serverspec

test
infrastructure-by-story
Virtualisierung und
Containerization

Erzeuge Instanzen on-the-fly.
Provisioniere mit einem KM-Werkzeug.
Senke die Cycle-Time zum Test.
Virtualisierung und
Containerization

Erzeuge Instanzen on-the-fly.
Provisioniere mit einem KM-Werkzeug.
Senke die Cycle-Time zum Test.

Konfigurationsmanagement

Teste den KM-Code. Stelle sicher, dass der
Code das tut was er soll.
Build things right.
Virtualisierung und
Containerization

Erzeuge Instanzen on-the-fly.
Provisioniere mit einem KM-Werkzeug.
Senke die Cycle-Time zum Test.

Konfigurationsmanagement

Teste den KM-Code. Stelle sicher, dass der
Code das tut was er soll.
Build things right.

Werkzeuge zum
Infrastrukturtest und
Infrastruktur-Stories

Beschreibe Infrastrukturaspekte von
Instanzen. Teste die laufenden Instanzen.
Build things right.
Build the right things.
Warum

testgetriebene
Infrastruktur?
Testgetriebene
Umgebungen sind

selbstbeschreibend
Fähigkeit zu

Regressionstests
Geringere

Cycle time
=
Höhere

Geschwindigkeit
Formale Audits und
Abnahmen werden

vereinfacht
Bessere Kommunikation
zwischen

Dev
&

Ops
Links / Ressourcen

Coda Hale, „Metrics, Metrics Everywhere“ http://bit.ly/PjGYRi 2:28
Vagrant
Docker

www.vagrantup.com
www.docker.io

Puppet
Rspec-puppet

www.puppetlabs.com
http://rspec-puppet.com/ | https://github.com/rodjek/rspec-puppet

Chef
Chefspec

http://www.opscode.com/chef/
https://github.com/acrmp/chefspec

Serverspec

www.serverspec.org

Infrastructure-by-story

| https://github.com/serverspec/serverspec

https://github.com/aschmidt75/infrastructure-by-story
Cassini Consulting
Niederlassung Düsseldorf
Andreas Schmidt
Alle Angaben basieren auf dem derzeitigen Kenntnisstand. Änderungen vorbehalten.
Bennigsen-Platz 1
40474 Düsseldorf
Deutschland
andreas.schmidt@cassini.de
visit www.cassini.de

Dieses Dokument von Cassini Consulting ist ausschließlich für den Adressaten bzw.
Auftraggeber bestimmt. Es bleibt bis zur einer ausdrücklichen Übertragung von
Nutzungsrechten Eigentum von Cassini.
Jede Bearbeitung, Verwertung, Vervielfältigung und/oder gewerbsmäßige Verbreitung
des Werkes ist nur mit Einverständnis von Cassini zulässig.

Weitere ähnliche Inhalte

Ähnlich wie Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb

Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Ralf Sigmund
 
Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.
David Schneider
 

Ähnlich wie Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb (20)

Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-Pipeline
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
Agile Bodensee - Introducing Continuous Delivery
Agile Bodensee - Introducing Continuous DeliveryAgile Bodensee - Introducing Continuous Delivery
Agile Bodensee - Introducing Continuous Delivery
 
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
Das eigene Test Lab, für jeden! (CeBIT-Edition mit Demo-Videos)
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
Presentation bp7 - citrix xen desktop
Presentation   bp7 - citrix xen desktopPresentation   bp7 - citrix xen desktop
Presentation bp7 - citrix xen desktop
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
 
Erweitern sie ihr Data Center mit Cloud Services
Erweitern sie ihr Data Center mit Cloud ServicesErweitern sie ihr Data Center mit Cloud Services
Erweitern sie ihr Data Center mit Cloud Services
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
 
Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.
 

Mehr von Andreas Schmidt (6)

Dockerffm meetup 20150113_networking
Dockerffm meetup 20150113_networkingDockerffm meetup 20150113_networking
Dockerffm meetup 20150113_networking
 
OSDC2014: Testing Server Infrastructure with #serverspec
OSDC2014: Testing Server Infrastructure with #serverspecOSDC2014: Testing Server Infrastructure with #serverspec
OSDC2014: Testing Server Infrastructure with #serverspec
 
JAX 2013: Feedback aus der Produktion. Ein Blick in den DevOps-Baukasten
JAX 2013: Feedback aus der Produktion. Ein Blick in den DevOps-BaukastenJAX 2013: Feedback aus der Produktion. Ein Blick in den DevOps-Baukasten
JAX 2013: Feedback aus der Produktion. Ein Blick in den DevOps-Baukasten
 
Berlin Devops: Managing systems with Marionette Collective
Berlin Devops: Managing systems with Marionette CollectiveBerlin Devops: Managing systems with Marionette Collective
Berlin Devops: Managing systems with Marionette Collective
 
OSDC 2012: Aufbau und Einsatz von Marionette Collective
OSDC 2012: Aufbau und Einsatz von Marionette CollectiveOSDC 2012: Aufbau und Einsatz von Marionette Collective
OSDC 2012: Aufbau und Einsatz von Marionette Collective
 
FFG2012: Parallelisierte Administration mit Marionette Collective
FFG2012: Parallelisierte Administration mit Marionette CollectiveFFG2012: Parallelisierte Administration mit Marionette Collective
FFG2012: Parallelisierte Administration mit Marionette Collective
 

Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb