Top Banner
Michael Jerger www.DomainDrivenArchitecture.org TestDrivenDevOps_0_5 21/11/16 / Seite 1 Test-Driven DevOps Michael Jerger
42

ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Jun 02, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 1

Test-Driven DevOps

Michael Jerger

Page 2: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 2

Agenda

Vorstellung

Testing für Developer

Herausforderung Operations

Ansatzpunkte für agile DevOps

Testen in dda-pallet

Page 3: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 3

Wer spricht? - meissa GmbH

Fokus: DevOps, Maintainer von dda-pallet

Sitz Reutlingen, SW-Entwicklung Java & Uni Tübingen

Arbeiten dezentral, d.h. 80% Remote-Arbeit

Zusammenarbeit auf Augenhöhe

https://www.meissa-gmbh.de

Page 4: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 4

DomainDrivenArchitecture?

Kollaborative Architektur, OpenSource

Zusammenarbeit aus AG-IT-Architektur Stuttgart & Meetup IT-Architektur Süd

Inspiriert durch DomainDrivenDesign von E.Evans

https://www.DomainDrivenArchitecture.org

Page 5: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 5

Agenda

Vorstellung

Testing für Developer

Herausforderung Operations

Ansatzpunkte für agile DevOps

Testen in dda-pallet

Page 6: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 6

Testarten für Dev

Page 7: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 7

Agenda

Vorstellung

Testing für Developer

Herausforderung Operations

Ansatzpunkte für agile DevOps

Testen in dda-pallet

Page 8: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 8

naiv?

Naiv landen wir komplett in Infrastruktur Integration!

Page 9: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 9

Ops = viel State

Installierte Betriebssystem, Software

System-Konfiguration

Update-Zustand

Installierte Applikationen und deren Zustand

Logfiles und deren Nutzung

Page 10: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 10

State verbessern

State isolieren

Container

CM State managen

Dockerhost

ZabbixServer

Maria DB

Page 11: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 11

Ops = Heterogene Technik

Unix / Windows/ *sh / Powershell

Perl / PHP / C / Java / Python / Ruby / GO / Lisp / JavaScript

Make / ant / mvn / gradle / lein / grunt

Config von HW Firewall / Router / VPN

Config von Applikationen

Page 12: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 12

Heterogenität verbessern

Trennung: Konventions- vs. System-Module

httpd {  :limits {:server­limit 150            :max­clients 150}  :jk­configuration {:jkStripSession "On"                     :jkWatchdogInterval 120}  :vhosts    {:default     {:domain­name "localhost.localdomain"     :listening­port "443"     :server­admin­email "admin@localdomain"     :maintainance­page­content        ["<h1>Maintainance Mode</h1>"]     :mod­jk {:port "8009"              :host "127.0.0.1"              :worker "mod_jk_www"              :maintain­timout­sec 90              :socket­connect­timeout­ms 62000}   }}

System:

Page 13: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 13

Heterogenität verbessern

Trennung v. Konvention & System

target {  :name  „monitoring“  :app   :zabbix  :stage :prod}

httpd {  :limits {:server­limit 150            :max­clients 150}  :jk­configuration {:jkStripSession "On"                     :jkWatchdogInterval 120}  :vhosts    {:default     {:domain­name "localhost.localdomain"     :listening­port "443"     :server­admin­email "admin@localdomain"     :maintainance­page­content        ["<h1>Maintainance Mode</h1>"]     :mod­jk {:port "8009"              :host "127.0.0.1"              :worker "mod_jk_www"              :maintain­timout­sec 90              :socket­connect­timeout­ms 62000}   }}

Konvention: System:

Page 14: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 14

Ops = Infrastructure

Netzwerk, Firewall, Routing

Integration in Ops Services

Repositories: Linux-Packages, Software-Artefakte, Web-Downloads

Security: Krypto-Keys & Credentials

Page 15: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 15

Infrastructure verbessern

Immer wieder dasselbe

automatisiert & getestettun ...

Page 16: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 16

Agenda

Vorstellung

Testing für Developer

Herausforderung Operations

Ansatzpunkte für agile DevOps

Testen in dda-pallet

Page 17: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 17

CM - Unittest

Page 18: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 18

Fkt. Integrationstest

Page 19: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 19

ServerSpec

describe port(80) do  it { should be_listening }end

Page 20: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 20

Integrationstest

Local - Whitebox

Page 21: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 21

Integrationstest

Remote - Whitebox

Page 22: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 22

Integrationstest

Remote - Blackbox

Page 23: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 23

Agenda

Vorstellung

Testing für Developer

Herausforderung Operations

Ansatzpunkte für agile DevOps

Testen in dda-pallet

Page 24: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 24

dda-pallet für puppet-KennerRuby

Go

Rake

Puppet

Kitchen

Vagrant

ServerSpec

Packer

terraform

Clojure

Lein

dda-pallet

Page 25: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 25

Konzepte: Kommunikation

Page 26: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 26

Bash AbstraktionNennt sich in Pallet: Stevedore

Schleifen

Funktionen

Variablen

(script (doseq [x ["a" "b" "c"]] (println @x)))

for x in a b c; do echo ${x}done

(script (defn foo [x y] ("bar" x)))

script function foo() { x=$1 y=$2 bar x}

(let [tmp "/tmp"] (script ("ls" ~tmp)))

ls /tmp

Page 27: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 27

… it's Clojure, stupid ...Compiliert auf die jvm oder JavaScript

Funktionen, Typen, Interfaces, erweiterte Vererbung, ...

Validierung (Typisierung mit schema)

Module, Artefakte, Build (lein vgl. mvn)

Test First, Unit-Tests

Debugging, Codevervollständigung, REPL ...

Page 28: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 28

Recap: Test Kontext

Page 29: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 29

System-Adapter: File Inhalt

=> (vhost/vhost­conf­default­redirect­to­https­only      :domain­name "meissa­gmbh.de"     :server­admin­email "admin@meissa­gmbh.de")["<VirtualHost *:80>" "  ServerName meissa­gmbh.de" "  ServerAdmin admin@meissa­gmbh.de" "  " "  ErrorLog \"/var/log/apache2/error.log\"" "  LogLevel warn" "  CustomLog \"/var/log/apache2/access.log\" combined" "  " "  RewriteEngine on" "  RewriteCond %{HTTPS} !on" "  RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]" "  " "</VirtualHost>"]

REPL

https://github.com/DomainDrivenArchitecture/dda-httpd-crate/blob/master/test/org/domaindrivenarchitecture/pallet/crate/httpd/vhost_multi_test.clj

Page 31: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 31

Konvention

(def archiva­config  {:fqdn "artifacts.meissa­gmbh.de"   :smtp­mail­host "mail­server"   :smtp­mail­user "mail­account"   :smtp­mail­password "mail­pwd"})

=> (sut/archiva­httpd­config archiva­config){:limits {:server­limit 150, :max­clients 150}, :jk­configuration {:jkStripSession "On",  :jkWatchdogInterval 120}, :vhosts {:default  {:domain­name   "artifacts.meissa­gmbh.de",   :listening­port "443",   :server­admin­email   "[email protected]­gmbh.de",   :maintainance­page­content   ["<h1>Webserver Maintainance Mode</h1>"],   :mod­jk   {:port "8009",    :host "127.0.0.1",    :worker "mod_jk_www",    :maintain­timout­sec 90,    :socket­connect­timeout­ms 62000},   :cert­letsencrypt   {:letsencrypt­mail    "[email protected]­gmbh.de"}}}}

REPL

Page 32: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 32

Konvention: Unit-Test failed

REPL

(deftest test­convention []  (testing     "httpd convention test"    (is (=          {:limits ...,           :vhosts           {:default            {:domain­name             "artyfacts.meissa­gmbh.de",             ...},             :cert­letsencrypt             {:letsencrypt­mail              "[email protected]­gmbh.de"}}}}          (sut/archiva­httpd­config archiva­config)          ))    ))

=> (run­tests)

Testing de.meissa­gmbh.pallet.crate.archiva.app­test

FAIL in (test­convention) (web_test.clj:19)httpd convention testExpected: ...  Actual: ...    diff: ­ {:vhosts             {:default {:domain­name "artyfacts.meissa­gmbh.de"}}}          + {:vhosts             {:default {:domain­name "artifacts.meissa­gmbh.de"}}}

Ran 1 tests containing 1 assertions.1 failures, 0 errors.{:test 1, :pass 0, :fail 1, :error 0, :type :summary}

(run­tests)

Page 33: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 33

Konvention: Unit Test fixed

REPL

(deftest test­convention []  (testing     "httpd convention test"    (is (=          {:limits ...,           :vhosts           {:default            {:domain­name             "artifacts.meissa­gmbh.de",             ...},             :cert­letsencrypt             {:letsencrypt­mail              "[email protected]­gmbh.de"}}}}          (sut/archiva­httpd­config archiva­config)          ))    ))

=> (run­tests)

Testing de.meissa­gmbh.pallet.crate.archiva.app­test

Ran 1 tests containing 1 assertions.0 failures, 0 errors.{:test 1, :pass 1, :fail 0, :error 0, :type :summary}

(run­tests)

Page 34: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 34

Image: Integrationstest

Page 35: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 35

Image: Resource on target

(defn define-resources-netstat [] (define-resource-from-script

res-id-open-ports "netstat -tulpen"))

Proto Recv­Q Send­Q Local Address           Foreign Address         State       User       Inode       PID/Program nametcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          9807        1001/sshd       tcp6       0      0 :::80                   :::*                    LISTEN      0          44161       4135/apache2    tcp6       0      0 :::4369                 :::*                    LISTEN      108        33687       27416/epmd      

Page 36: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 36

Image: skip first line on CI

(rest netstat-resource)

=> (rest netstat-resource)("tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 9807 1001/sshd" "tcp6 0 0 :::80 :::* LISTEN 0 44161 4135/apache2" "tcp6 0 0 :::4369 :::* LISTEN 108 33687 27416/epmd ")

REPL

Page 37: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 37

Image: parse on CI

(clojure.string/split "tcp6 0 0 :::80 :::* LISTEN 0 44161 4135/apache2" #"\s+|/")

REPL

=> (clojure.string/split "tcp6 0 0 :::80 :::* LISTEN 0 44161 4135/apache2" #"\s+|/")["tcp6" "0" "0" ":::80" ":::*" "LISTEN" "0" "44161" "4135" "apache2"]

Page 38: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 38

Image: assign names

(map #(zipmap [:proto :recv-q :send-q :local-adress :foreign-adress :state :user :inode :pid :process-name] (parse-netstat netstat-resource)))

REPL

...{:foreign-adress ":::*", :local-adress ":::80", :recv-q "0", :inode "44161", :state "LISTEN", :process-name "apache2", :proto "tcp6", :pid "4135", :send-q "0", :user "0"}...

Page 39: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 39

Image: apache listen?(and (= (:state named-netastat-line) "LISTEN") (= (:process-name named-netastat-line) "apache2") (some? (re-matches (re-pattern (str ".+:" 80)) (:local-address named-netastat-line))))

REPL

=> (and (= (:state named-netastat-line) "LISTEN") (= (:process-name named-netastat-line) "apache2") (some? (re-matches (re-pattern (str ".+:" 80)) (:local-address named-netastat-line))))true

Page 40: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 40

Instance creation

Statt Continous Integration testet nun das

provisionierende System

Page 41: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 41

Fazit

Respekt: Dev und Ops unterscheiden sich ...

Fail Fast: Ist auch für DevOps möglich

Es gibt effiziente Testmöglichkeiten

Page 42: ConfigManagement mit Pallet - XP Days · 2017-05-19 · Stuttgart & Meetup IT-Architektur Süd Inspiriert durch DomainDrivenDesign von E.Evans ... Testarten für Dev. Michael Jerger

Michael Jergerwww.DomainDrivenArchitecture.org

TestDrivenDevOps_0_521/11/16 / Seite 42

Kontakt

[email protected]

https://www.DomainDrivenArchitecture.org

Offenes PairProgramming b. Agile Ventures

http://www.agileventures.org/projects/dda-pallet