86
© Zühlke 2012 Torben Knerr, Klaus Alfert Zu viele Köche verderben den Brei… Kochschule für Devs und Ops mit Chef, Vagrant & Co 22. Januar 2013 Folie 1

Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

  • Upload
    zuehlke

  • View
    833

  • Download
    8

Embed Size (px)

DESCRIPTION

Zu viele Köche verderben den Brei - Kochschule für Devs und Ops Chef, Knife, Vagrant und Veewee dürfen in keiner modernen DevOps Küche fehlen. Diese Werkzeuge sowie die Kernkonzepte von Chef sind die Hauptzutaten für unseren Vortrag. Anhand unserer Projekterfahrungen zeigen wir Ihnen wie Sie bestehende Rezepte aus der Community verwenden und nach Ihrem Geschmack verfeinern. Damit haben Sie das grundlegende Handwerkszeug, um ganze Systemlandschaften per Knopfdruck verlässlich und reproduzierbar aufzusetzen - sei es in der Cloud, in Ihrer eigenen Testumgebung, oder auf dem Entwickler-PC. Happy Cooking! Zielpublikum: Architekten, Entwickler, Projektleiter, Administratoren Vortrag von Klaus Alfert und Torben Knerr auf der OOP 2013 in München (22. Januar)

Citation preview

Page 1: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Torben Knerr, Klaus Alfert

Zu viele Köche verderben den Brei… Kochschule für Devs und Ops mit Chef, Vagrant & Co

22. Januar 2013 Folie 1

Page 2: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Ein typisches Java Projekt:

• Web Applikation

• Datenbank

• Memcached

• Nginx

• GeoServer

Cluster und Failover sind natürlich auch gefordert!

Unser letztes Projekt…

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

Nginx

Memcached

Tomcat Tomcat

DB Master

DB Slave

GeoServer App

22. Januar 2013 Folie 2

Page 3: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Unser letztes Projekt…

Mit einer typischen Deployment Pipeline:

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

Lokal DEV TEST PROD

22. Januar 2013 Folie 3

Page 4: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Unser letztes Projekt…

Und typischen Problemen:

• Alle Umgebungen sind unterschiedlich

• Keiner kennt die Unterschiede so richtig

• Neue Entwickler brauchen 3 Tage bis die Umgebung lokal läuft

• Komplexere Szenarien sind lokal nicht testbar

• Lange Feedback-Zyklen in „shared“ Umgebungen (DEV)

• Unterschiedliche Ansprechpartner für Netz / OS / DB /…

• Und wie immer…

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 4

Page 5: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Page 6: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Ein erster Lösungsansatz: Hey, wir bauen VMs!

Das hilft schon mal weiter:

• Vorbereitete VMs für die Entwickler mit Tomcat, Datenbank, Nginx, etc…

• Mit viel Liebe von Hand gefertigt

• Das Standardvorgehen bei unseren Embedded-Kollegen

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013

Page 7: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Ein erster Lösungsansatz: Hey, wir bauen VMs!

Aber…

• Manuelles Management von VMs ist schwierig (oder zumindest lästig)

• Prozesstreue ist von großer Bedeutung

• Wie versioniert man eigentlich eine 40GB große VM? In Subversion?

• Funktioniert lokal auf Entwickler PCs, aber unpassend für zentrale Infrastruktur

• Wie parametriert man solche VMs?

Fazit: hilft, aber geht nicht weit genug!

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 7

Page 8: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Warum Scripting?

• Leichtgewichtige Skripte statt fetter VMs – Infrastruktur kann versioniert werden

• Umgebungen können reproduzierbar aufgesetzt werden – Möglichst wenig manuelle Tätigkeiten – Ausgangsbasis für „saubere“ Deployments

• Umgebungen werden explizit designed – Entstehen nicht zufällig – Werden explizit als ausführbare Spezifikation beschrieben

Wir haben Kontrolle über unsere Umgebung!

Unsere Lösung: Wir skripten VMs!

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 8

Page 9: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

DevOps mit Chef & Co

Torben Knerr, Klaus Alfert

Willkommen in der DevOps Küche! Infrastruktur á la Carte

22. Januar 2013 Folie 9

Page 10: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Ziel: einfache Infrastruktur automatisiert aufsetzen

• Zum Beispiel auf dem Entwickler PC

• Separate VM für App Server und Datenbank

• Jederzeit reproduzierbar („clean setup“)

Unser Beispiel Szenario

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

App Server VM

Tomcat

Datenbank VM

PostgreSQL

.war

22. Januar 2013 Folie 10

Page 11: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

DevOps mit Chef & Co

Torben Knerr, Klaus Alfert

Zutat 1: Wir brauchen VMs

22. Januar 2013 Folie 11

Page 12: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 1: Wir brauchen VMs Enter Vagrant Was ist Vagrant?

• Vagrant ist Automatisierung für VirtualBox

• Konfiguration der VMs wird in ein Vagrantfile ausgelagert

• Einfache Befehle zum steuern der VMs: – vagrant up – vagrant ssh – vagrant halt – …

• http://vagrantup.com

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 12

Page 13: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile

Page 14: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile

Basebox

Page 15: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile

App Server VM

Page 16: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile

Datenbank VM

Page 17: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – Interaktion mit Vagrant

vagrant up

Page 18: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – Interaktion mit Vagrant

vagrant ssh

Page 19: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 1: Wir brauchen VMs Ein Blick in die VirtualBox GUI

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

Ist das die App Server VM? Oder doch die Datenbank VM?

22. Januar 2013 Folie 19

Page 20: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail

Page 21: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail

Page 22: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail

Name, CPUs, RAM, etc…

Page 23: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail

vagrant reload

Page 24: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 1: Wir brauchen VMs Kontrolle in der VirtualBox GUI

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 24

und die VM Parameter stimmen auch!

Besser!

Page 25: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

DevOps mit Chef & Co

Torben Knerr, Klaus Alfert

Zutat 2: Provisionierung

22. Januar 2013 Folie 25

Page 26: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 2: Provisionierung Zurück zu unserem Szenario

Nackte VMs reichen nicht

• Auf der DB-VM brauchen wir eine Datenbank z.B. PostgreSQL

• Auf dem App-VM brauchen wir einen Tomcat

Installation und Konfiguration dieser Software kann Chef übernehmen!

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 26

Page 27: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 2: Provisionierung Enter Chef

Was ist Chef?

• Chef ist Konfigurationsmanagement für Infrastruktur

• Installiert & konfiguriert Systeme von Grund auf

• Bietet eine DSL um Infrastruktur auf einer angemessenen Abstraktionsebene zu beschreiben

Mehr dazu:

• http://www.opscode.com/chef/

Vagrant unterstützt die Provisionierung von VMs via Chef!

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 27

Page 28: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 2: Provisionierung – PostgreSQL installieren

Page 29: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 2: Provisionierung – PostgreSQL installieren

Stelle den PostgreSQL Server bereit

Page 30: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 2: Provisionierung – PostgreSQL installieren

Spezifische Konfiguration

Page 31: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

vagrant up db

Page 32: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Was steht im PostgreSQL Rezept?

Page 33: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Page 34: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Installiere das Package

Page 35: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Erzeuge die Konfig-Datei

Page 36: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Erzeuge die Konfig-Datei

Page 37: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Erzeuge die andere Konfig-Datei

Page 38: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Starte PostgreSQL als Service

Page 39: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Der Server ist auch selbst ein Client!

Page 40: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Page 41: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 2: Provisionierung – das gleiche mit Tomcat…

Page 42: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 2: Provisionierung – das gleiche mit Tomcat…

Stelle den Tomcat bereit

Page 43: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 2: Provisionierung – das gleiche mit Tomcat…

Tomcat Konfiguration

Page 44: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

vagrant up web

Page 45: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Die Philosophie von Chef

Spezifikation des Zielzustandes

• Idempotenz

• „Selbstheilung“

DSL abstrahiert von systemspezifischen Details

• Resourcen

• Provider für das jeweilige System

Küche als Namensgeber

• Chef, Cookbook, Recipe, Knife, … 22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 45

Page 46: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

DevOps mit Chef & Co

Torben Knerr, Klaus Alfert

Zutat 3: Kochbuchverwaltung

22. Januar 2013 Folie 46

Page 47: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 3: Kochbuchverwaltung Zurück zu unserem Szenario

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

Woher kommt eigentlich das PostgreSQL Kochbuch / Rezept ???

Folie 47

Page 48: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 3: Kochbuchverwaltung Hier findet man Kochbücher!

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

http://community.opscode.com/cookbooks/

https://github.com/search?q=cookbook

Folie 48

Page 49: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 3: Kochbuchverwaltung Enter Librarian

Was ist Librarian?

• Librarian bietet Dependency Management für Cookbooks

• Automatisiertes herunterladen und extrahieren

Abhängigkeiten werden in einem Cheffile spezifiziert

• Transitive Abhängigkeiten werden mit aufgelöst

• Unter Berücksichtigung von Quellen und Versionen

Mehr dazu

• https://github.com/applicationsonline/librarian

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 49

Page 50: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 3: Kochbuchverwaltung Ein einfaches Cheffile

Cheffile

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 50

Page 51: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zutat 3: Kochbuchverwaltung – ein einfaches Cheffile

Librarian „installiert“ die Kochbücher

Page 52: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

DevOps mit Chef & Co

Torben Knerr, Klaus Alfert

Zutat 4: Eigene Kochbücher

22. Januar 2013 Folie 52

Page 53: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Zurück zu unserem Szenario

VMs mit Infrastruktur reichen nicht

• Wir brauchen ein DB-Schema und eine DB-User für unsere Anwendung

• Das WAR-File für unsere Anwendung muss im Tomcat deployed werden

Dafür gibt es kein wiederverwendbares Kochbuch, das wir einfach nutzen können!

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 53

Page 54: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Mit Knife kann man Kochbücher erstellen

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 54

Zutat 4: Eigene Kochbücher Enter Knife

Page 55: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Die Struktur des myapp Kochbuchs

Ein Kochbuch, aber mit separaten Rezepten um die Datenbank und Webapp aufzusetzen

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 55

myapp

attributes

recipes

db.rb

web.rb

db.rb

default.rb

web.rb

Page 56: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Die Struktur des myapp Kochbuchs

In den Attributen werden Default-Werte definiert

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

myapp

attributes

recipes

db.rb

web.rb

db.rb

default.rb

web.rb

Folie 56

Page 57: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Die Struktur des myapp Kochbuchs

• myapp/attributes/db.rb

• myapp/attributes/web.rb

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 57

Page 58: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Die Struktur des myapp Kochbuchs

Im „db“ Rezept wird PostgreSQL installiert, dann die Datenbank und der DB User angelegt

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

myapp

attributes

recipes

db.rb

web.rb

db.rb

default.rb

web.rb

Folie 58

Page 59: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Page 60: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Ohne PostgreSQL macht es keinen Sinn

Page 61: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Hilfreiche Resourcen dazunehmen

Page 62: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Zuerst den User anlegen

Page 63: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Die Datenbank erzeugen

Page 64: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Im Vagrantfile myapp::db anwenden

Vagrantfile

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 64

Page 65: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Im Vagrantfile myapp::db anwenden

Vagrantfile

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

Statt postgresql::server

Folie 65

Page 66: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

vagrant provision db

Page 67: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Erweitertes Cheffile

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 67

Page 68: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Die Struktur des myapp Kochbuchs

Im „web“ Rezept wird Tomcat installiert, die Webapp konfiguriert und im Tomcat deployed

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

myapp

attributes

recipes

db.rb

web.rb

db.rb

default.rb

web.rb

Folie 68

Page 69: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Page 70: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Wir müssen Tomcat installieren

Page 71: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Hier liegt unser .war File

Page 72: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Datenbankkonfiguration

Page 73: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Applikation in Tomcat deployen

Page 74: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Im Vagrantfile myapp::web anwenden

Vagrantfile

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 74

Page 75: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Im Vagrantfile myapp::web anwenden

Vagrantfile

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 75

Statt dem tomcat Rezept

Page 76: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Zutat 4: Eigene Kochbücher Im Vagrantfile myapp::web anwenden

Vagrantfile

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

C

Folie 76

Hier läuft die Datenbank

Page 77: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

vagrant provision web

Page 78: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Läuft unsere Anwendung denn nun?

Page 79: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Oder was auch immer gerade ist… Wir haben das Yabe Beispiel vom Play! Framework benutzt: http://www.playframework.org/documentation/1.0/samples

Page 80: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

DevOps mit Chef & Co

Torben Knerr, Klaus Alfert

Die DevOps-Küche

22. Januar 2013 Folie 80

Page 81: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Rekapitulation: Was haben wir bisher gemacht

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013

Zutat 1 Wir brauchen VMs

Zutat 2 Provisionierung

Zutat 3 Kochbuchverwaltung

Zutat 4 Eigene Kochbücher

+

Folie 81

+

+

Page 82: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Textuelle Spezifikation der Infrastruktur

• Keine Shell-Skripte, sondern Spezifikation des Zielzustandes

• Knackig kurz, aber nicht kryptisch

• SCM-freundlich: Kilobyte statt Gigabyte

• Komplexe Infrastruktur steht auf Knopfdruck bereit

• Immer wieder ausführbar und wiederholbar

• Wiederverwendbarkeit auf Infrastrukturebene

Was haben wir erreicht?

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 82

Page 83: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Wir haben nur an der Oberfläche geraspelt

Chef & Vagrant bieten noch sehr viel mehr

• Provisionierung in der Cloud oder ihrer Virtualisierungsumgebung

• Erweiterungsmöglichkeiten der DSL dank Ruby – Eigene Resourcen und Provider – Programmierung innerhalb der Rezepte

• Chef-Server – Rechte-Management – Search – Environments

Eine populäre Alternative zu Chef ist Puppet.

• Bietet einen reinen DSL-Ansatz ohne Ruby.

22. Januar 2013 DevOps mit Chef & Co | Torben Knerr, Klaus Alfert Folie 83

Page 84: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

© Zühlke 2012

Wenn Infrastruktur Code ist, dann muss Infrastruktur auch getestet werden!

DevOps mit Chef & Co | Torben Knerr, Klaus Alfert

Lint Checking

• foodcritic

Unit-Level Testing

• chefspec

• fauxhai

Smoke Tests (von Innen)

• chef-minitest-handler

Acceptance Testing (von Außen)

• cucumber-nagios

22. Januar 2013 Folie 84

Page 85: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Page 86: Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)

Dr. Klaus Alfert Email: [email protected] http://xing.to/alfert

Torben Knerr Email: [email protected]

Guten Appetit! Folien: http://bit.ly/z_slideshare Beispiele: https://github.com/tknerr/oop-chef-demo