Transcript
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


Recommended