0
Zu viele Köche verderbenden Brei…Kochschule für Devs und Ops mit Chef, Vagrant & Co                                       ...
Unser letztes Projekt…Ein typisches Java Projekt:•      Web Applikation                                                   ...
Unser letztes Projekt…Mit einer typischen Deployment Pipeline:           Lokal                                    DEV   TE...
Unser letztes Projekt…Und typischen Problemen:•      Alle Umgebungen sind unterschiedlich•      Keiner kennt die Unterschi...
Ein erster Lösungsansatz:Hey, wir bauen VMs!Das hilft schon mal weiter:•      Vorbereitete VMs für die Entwickler mit     ...
Ein erster Lösungsansatz:Hey, wir bauen VMs!Aber…•      Manuelles Management von VMs       ist schwierig (oder zumindest l...
Unsere Lösung:Wir skripten VMs!Warum Scripting?•      Leichtgewichtige Skripte statt fetter VMs       – Infrastruktur kann...
Willkommen in derDevOps Küche!Infrastruktur á la Carte                           DevOps mit Chef & Co                     ...
Unser Beispiel SzenarioZiel: einfache Infrastruktur automatisiert aufsetzen•      Zum Beispiel auf dem Entwickler PC•     ...
Zutat 1:Wir brauchen VMs                   DevOps mit Chef & Co                   Folie 11                   22. Januar 20...
Zutat 1: Wir brauchen VMsEnter VagrantWas ist Vagrant?•      Vagrant ist Automatisierung für VirtualBox•      Konfiguratio...
Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile
Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile                       Basebox
Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile                      App Server VM
Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile                      Datenbank VM
Zutat 1: Wir brauchen VMs – Interaktion mit Vagrant                    vagrant up
Zutat 1: Wir brauchen VMs – Interaktion mit Vagrant                    vagrant ssh
Zutat 1: Wir brauchen VMsEin Blick in die VirtualBox GUI                     Ist das die App Server VM?            Oder do...
Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail
Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail
Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail                 Name, CPUs, RAM, etc…
Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail                  vagrant reload
Zutat 1: Wir brauchen VMsKontrolle in der VirtualBox GUI                                                    Besser!       ...
Zutat 2:Provisionierung                  DevOps mit Chef & Co                  Folie 25                  22. Januar 2013  ...
Zutat 2: ProvisionierungZurück zu unserem SzenarioNackte VMs reichen nicht•      Auf der DB-VM brauchen wir eine Datenbank...
Zutat 2: ProvisionierungEnter ChefWas ist Chef?•      Chef ist Konfigurationsmanagement für Infrastruktur•      Installier...
Zutat 2: Provisionierung – PostgreSQL installieren
Zutat 2: Provisionierung – PostgreSQL installieren        Stelle den PostgreSQL Server bereit
Zutat 2: Provisionierung – PostgreSQL installieren                 Spezifische Konfiguration
vagrant up db
Was steht im PostgreSQL        Rezept?
Installiere das Package
Erzeuge die Konfig-Datei
Erzeuge die Konfig-Datei
Erzeuge die andere Konfig-Datei
Starte PostgreSQL als Service
Der Server ist auch selbst ein Client!
Zutat 2: Provisionierung – das gleiche mit Tomcat…
Zutat 2: Provisionierung – das gleiche mit Tomcat…             Stelle den Tomcat bereit
Zutat 2: Provisionierung – das gleiche mit Tomcat…             Tomcat Konfiguration
vagrant up web
Die Philosophie von ChefSpezifikation des Zielzustandes•      Idempotenz•      „Selbstheilung“DSL abstrahiert von systemsp...
Zutat 3:Kochbuchverwaltung                     DevOps mit Chef & Co                     Folie 46                     22. J...
Zutat 3: KochbuchverwaltungZurück zu unserem Szenario                                       Woher kommt eigentlich das    ...
Zutat 3: KochbuchverwaltungHier findet man Kochbücher!                                                    https://github.c...
Zutat 3: KochbuchverwaltungEnter LibrarianWas ist Librarian?•      Librarian bietet Dependency Management für Cookbooks•  ...
Zutat 3: KochbuchverwaltungEin einfaches CheffileCheffileDevOps mit Chef & Co | Torben Knerr, Klaus Alfert   22. Januar 20...
Zutat 3: Kochbuchverwaltung – ein einfaches CheffileLibrarian „installiert“ die Kochbücher
Zutat 4:Eigene Kochbücher                    DevOps mit Chef & Co                    Folie 52                    22. Janua...
Zutat 4: Eigene KochbücherZurück zu unserem SzenarioVMs mit Infrastruktur reichen nicht•      Wir brauchen ein DB-Schema u...
Zutat 4: Eigene KochbücherEnter KnifeMit Knife kann man Kochbücher erstellenDevOps mit Chef & Co | Torben Knerr, Klaus Alf...
Zutat 4: Eigene KochbücherDie Struktur des myapp KochbuchsEin Kochbuch, aber mit separaten Rezepten um dieDatenbank und We...
Zutat 4: Eigene KochbücherDie Struktur des myapp KochbuchsIn den Attributen werden Default-Werte definiert                ...
Zutat 4: Eigene KochbücherDie Struktur des myapp Kochbuchs•      myapp/attributes/db.rb•      myapp/attributes/web.rbDevOp...
Zutat 4: Eigene KochbücherDie Struktur des myapp KochbuchsIm „db“ Rezept wird PostgreSQL installiert, danndie Datenbank un...
Ohne PostgreSQL macht es keinen Sinn
Hilfreiche Resourcen dazunehmen
Zuerst den User anlegen
Die Datenbank erzeugen
Zutat 4: Eigene KochbücherIm Vagrantfile myapp::db anwendenVagrantfileDevOps mit Chef & Co | Torben Knerr, Klaus Alfert   ...
Zutat 4: Eigene KochbücherIm Vagrantfile myapp::db anwendenVagrantfile                                                    ...
vagrant provision db
Zutat 4: Eigene KochbücherErweitertes CheffileDevOps mit Chef & Co | Torben Knerr, Klaus Alfert   22. Januar 2013   Folie ...
Zutat 4: Eigene KochbücherDie Struktur des myapp KochbuchsIm „web“ Rezept wird Tomcat installiert, dieWebapp konfiguriert ...
Wir müssen Tomcat installieren
Hier liegt unser .war File
Datenbankkonfiguration
Applikation in Tomcat deployen
Zutat 4: Eigene KochbücherIm Vagrantfile myapp::web anwendenVagrantfileDevOps mit Chef & Co | Torben Knerr, Klaus Alfert  ...
Zutat 4: Eigene KochbücherIm Vagrantfile myapp::web anwendenVagrantfile                                                   ...
Zutat 4: Eigene KochbücherIm Vagrantfile myapp::web anwendenVagrantfile                                                   ...
vagrant provision web
Läuft unsere Anwendung denn nun?
Oder was auch immer                   gerade ist…Wir haben das Yabe Beispiel vom Play! Framework benutzt:http://www.playfr...
Die DevOps-Küche                   DevOps mit Chef & Co                   Folie 80                   22. Januar 2013      ...
Rekapitulation:Was haben wir bisher gemacht                         Zutat 1                    Wir brauchen VMs           ...
Was haben wir erreicht?Textuelle Spezifikation der Infrastruktur•      Keine Shell-Skripte, sondern Spezifikation des Ziel...
Wir haben nur an der Oberfläche geraspeltChef & Vagrant bieten noch sehr viel mehr•      Provisionierung in der Cloud oder...
Wenn Infrastruktur Code ist, dann mussInfrastruktur auch getestet werden!Lint Checking• foodcriticUnit-Level Testing• chef...
Guten Appetit!                                  Folien:    http://bit.ly/z_slideshare                                  Bei...
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vagrant & Co. (OOP2013)
Upcoming SlideShare
Loading in...5
×

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

851

Published on

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)

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
851
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Zu viele Köche verderbenden Brei…Kochschule für Devs und Ops mit Chef, Vagrant & Co Folie 1 22. Januar 2013 Torben Knerr, Klaus Alfert © Zühlke 2012
  2. 2. Unser letztes Projekt…Ein typisches Java Projekt:• Web Applikation Nginx• Datenbank• Memcached Tomcat Tomcat• Nginx GeoServer App• GeoServer Memcached DB Master DB SlaveCluster und Failover sind natürlich auch gefordert!DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 2 © Zühlke 2012
  3. 3. Unser letztes Projekt…Mit einer typischen Deployment Pipeline: Lokal DEV TEST PRODDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 3 © Zühlke 2012
  4. 4. 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 © Zühlke 2012
  5. 5. 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-KollegenDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 © Zühlke 2012
  6. 6. 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 © Zühlke 2012
  7. 7. Unsere Lösung:Wir skripten VMs!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!DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 8 © Zühlke 2012
  8. 8. Willkommen in derDevOps Küche!Infrastruktur á la Carte DevOps mit Chef & Co Folie 9 22. Januar 2013 Torben Knerr, Klaus Alfert © Zühlke 2012
  9. 9. Unser Beispiel SzenarioZiel: einfache Infrastruktur automatisiert aufsetzen• Zum Beispiel auf dem Entwickler PC• Separate VM für App Server und Datenbank• Jederzeit reproduzierbar („clean setup“) App Server VM Datenbank VM Tomcat PostgreSQL .warDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 10 © Zühlke 2012
  10. 10. Zutat 1:Wir brauchen VMs DevOps mit Chef & Co Folie 11 22. Januar 2013 Torben Knerr, Klaus Alfert © Zühlke 2012
  11. 11. Zutat 1: Wir brauchen VMsEnter VagrantWas 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.comDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 12 © Zühlke 2012
  12. 12. Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile
  13. 13. Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile Basebox
  14. 14. Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile App Server VM
  15. 15. Zutat 1: Wir brauchen VMs – ein einfaches Vagrantfile Datenbank VM
  16. 16. Zutat 1: Wir brauchen VMs – Interaktion mit Vagrant vagrant up
  17. 17. Zutat 1: Wir brauchen VMs – Interaktion mit Vagrant vagrant ssh
  18. 18. Zutat 1: Wir brauchen VMsEin Blick in die VirtualBox GUI Ist das die App Server VM? Oder doch die Datenbank VM?DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 19 © Zühlke 2012
  19. 19. Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail
  20. 20. Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail
  21. 21. Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail Name, CPUs, RAM, etc…
  22. 22. Zutat 1: Wir brauchen VMs – VM Konfiguration im Detail vagrant reload
  23. 23. Zutat 1: Wir brauchen VMsKontrolle in der VirtualBox GUI Besser! und die VM Parameter stimmen auch!DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 24 © Zühlke 2012
  24. 24. Zutat 2:Provisionierung DevOps mit Chef & Co Folie 25 22. Januar 2013 Torben Knerr, Klaus Alfert © Zühlke 2012
  25. 25. Zutat 2: ProvisionierungZurück zu unserem SzenarioNackte 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!DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 26 © Zühlke 2012
  26. 26. Zutat 2: ProvisionierungEnter ChefWas ist Chef?• Chef ist Konfigurationsmanagement für Infrastruktur• Installiert & konfiguriert Systeme von Grund auf• Bietet eine DSL um Infrastruktur auf einer angemessenen Abstraktionsebene zu beschreibenMehr dazu:• http://www.opscode.com/chef/ Vagrant unterstützt die Provisionierung von VMs via Chef!DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 27 © Zühlke 2012
  27. 27. Zutat 2: Provisionierung – PostgreSQL installieren
  28. 28. Zutat 2: Provisionierung – PostgreSQL installieren Stelle den PostgreSQL Server bereit
  29. 29. Zutat 2: Provisionierung – PostgreSQL installieren Spezifische Konfiguration
  30. 30. vagrant up db
  31. 31. Was steht im PostgreSQL Rezept?
  32. 32. Installiere das Package
  33. 33. Erzeuge die Konfig-Datei
  34. 34. Erzeuge die Konfig-Datei
  35. 35. Erzeuge die andere Konfig-Datei
  36. 36. Starte PostgreSQL als Service
  37. 37. Der Server ist auch selbst ein Client!
  38. 38. Zutat 2: Provisionierung – das gleiche mit Tomcat…
  39. 39. Zutat 2: Provisionierung – das gleiche mit Tomcat… Stelle den Tomcat bereit
  40. 40. Zutat 2: Provisionierung – das gleiche mit Tomcat… Tomcat Konfiguration
  41. 41. vagrant up web
  42. 42. Die Philosophie von ChefSpezifikation des Zielzustandes• Idempotenz• „Selbstheilung“DSL abstrahiert von systemspezifischen Details• Resourcen• Provider für das jeweilige SystemKüche als Namensgeber• Chef, Cookbook, Recipe, Knife, …DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 45 © Zühlke 2012
  43. 43. Zutat 3:Kochbuchverwaltung DevOps mit Chef & Co Folie 46 22. Januar 2013 Torben Knerr, Klaus Alfert © Zühlke 2012
  44. 44. Zutat 3: KochbuchverwaltungZurück zu unserem Szenario Woher kommt eigentlich das PostgreSQL Kochbuch / Rezept ???DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 47 © Zühlke 2012
  45. 45. Zutat 3: KochbuchverwaltungHier findet man Kochbücher! https://github.com/search?q=cookbookhttp://community.opscode.com/cookbooks/DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 48 © Zühlke 2012
  46. 46. Zutat 3: KochbuchverwaltungEnter LibrarianWas ist Librarian?• Librarian bietet Dependency Management für Cookbooks• Automatisiertes herunterladen und extrahierenAbhängigkeiten werden in einem Cheffile spezifiziert• Transitive Abhängigkeiten werden mit aufgelöst• Unter Berücksichtigung von Quellen und VersionenMehr dazu• https://github.com/applicationsonline/librarianDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 49 © Zühlke 2012
  47. 47. Zutat 3: KochbuchverwaltungEin einfaches CheffileCheffileDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 50 © Zühlke 2012
  48. 48. Zutat 3: Kochbuchverwaltung – ein einfaches CheffileLibrarian „installiert“ die Kochbücher
  49. 49. Zutat 4:Eigene Kochbücher DevOps mit Chef & Co Folie 52 22. Januar 2013 Torben Knerr, Klaus Alfert © Zühlke 2012
  50. 50. Zutat 4: Eigene KochbücherZurück zu unserem SzenarioVMs 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!DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 53 © Zühlke 2012
  51. 51. Zutat 4: Eigene KochbücherEnter KnifeMit Knife kann man Kochbücher erstellenDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 54 © Zühlke 2012
  52. 52. Zutat 4: Eigene KochbücherDie Struktur des myapp KochbuchsEin Kochbuch, aber mit separaten Rezepten um dieDatenbank und Webapp aufzusetzen db.rb web.rb attributes myapp db.rb default.rb recipes web.rbDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 55 © Zühlke 2012
  53. 53. Zutat 4: Eigene KochbücherDie Struktur des myapp KochbuchsIn den Attributen werden Default-Werte definiert db.rb web.rb attributes myapp db.rb default.rb recipes web.rbDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 56 © Zühlke 2012
  54. 54. Zutat 4: Eigene KochbücherDie Struktur des myapp Kochbuchs• myapp/attributes/db.rb• myapp/attributes/web.rbDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 57 © Zühlke 2012
  55. 55. Zutat 4: Eigene KochbücherDie Struktur des myapp KochbuchsIm „db“ Rezept wird PostgreSQL installiert, danndie Datenbank und der DB User angelegt db.rb web.rb attributes myapp db.rb default.rb recipes web.rbDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 58 © Zühlke 2012
  56. 56. Ohne PostgreSQL macht es keinen Sinn
  57. 57. Hilfreiche Resourcen dazunehmen
  58. 58. Zuerst den User anlegen
  59. 59. Die Datenbank erzeugen
  60. 60. Zutat 4: Eigene KochbücherIm Vagrantfile myapp::db anwendenVagrantfileDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 64 © Zühlke 2012
  61. 61. Zutat 4: Eigene KochbücherIm Vagrantfile myapp::db anwendenVagrantfile Statt postgresql::serverDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 65 © Zühlke 2012
  62. 62. vagrant provision db
  63. 63. Zutat 4: Eigene KochbücherErweitertes CheffileDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 67 © Zühlke 2012
  64. 64. Zutat 4: Eigene KochbücherDie Struktur des myapp KochbuchsIm „web“ Rezept wird Tomcat installiert, dieWebapp konfiguriert und im Tomcat deployed db.rb web.rb attributes myapp db.rb default.rb recipes web.rbDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 68 © Zühlke 2012
  65. 65. Wir müssen Tomcat installieren
  66. 66. Hier liegt unser .war File
  67. 67. Datenbankkonfiguration
  68. 68. Applikation in Tomcat deployen
  69. 69. Zutat 4: Eigene KochbücherIm Vagrantfile myapp::web anwendenVagrantfileDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 74 © Zühlke 2012
  70. 70. Zutat 4: Eigene KochbücherIm Vagrantfile myapp::web anwendenVagrantfile Statt dem tomcat RezeptDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 75 © Zühlke 2012
  71. 71. Zutat 4: Eigene KochbücherIm Vagrantfile myapp::web anwendenVagrantfile C Hier läuft die DatenbankDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 76 © Zühlke 2012
  72. 72. vagrant provision web
  73. 73. Läuft unsere Anwendung denn nun?
  74. 74. Oder was auch immer gerade ist…Wir haben das Yabe Beispiel vom Play! Framework benutzt:http://www.playframework.org/documentation/1.0/samples
  75. 75. Die DevOps-Küche DevOps mit Chef & Co Folie 80 22. Januar 2013 Torben Knerr, Klaus Alfert © Zühlke 2012
  76. 76. Rekapitulation:Was haben wir bisher gemacht Zutat 1 Wir brauchen VMs Zutat 2 Provisionierung + + Zutat 3 Kochbuchverwaltung Zutat 4 Eigene Kochbücher +DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 81 © Zühlke 2012
  77. 77. Was haben wir erreicht?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 InfrastrukturebeneDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 82 © Zühlke 2012
  78. 78. Wir haben nur an der Oberfläche geraspeltChef & 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 – EnvironmentsEine populäre Alternative zu Chef ist Puppet.• Bietet einen reinen DSL-Ansatz ohne Ruby.DevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 83 © Zühlke 2012
  79. 79. Wenn Infrastruktur Code ist, dann mussInfrastruktur auch getestet werden!Lint Checking• foodcriticUnit-Level Testing• chefspec• fauxhaiSmoke Tests (von Innen)• chef-minitest-handlerAcceptance Testing (von Außen)• cucumber-nagiosDevOps mit Chef & Co | Torben Knerr, Klaus Alfert 22. Januar 2013 Folie 84 © Zühlke 2012
  80. 80. Guten Appetit! Folien: http://bit.ly/z_slideshare Beispiele: https://github.com/tknerr/oop-chef-demoDr. Klaus AlfertEmail: klaus.alfert@zuehlke.comhttp://xing.to/alfertTorben KnerrEmail: torben.knerr@zuehlke.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×