Your SlideShare is downloading. ×
Automatisierungstechnologien fuer-die-infrastruktur-mit-Chef - EH2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Automatisierungstechnologien fuer-die-infrastruktur-mit-Chef - EH2011

957
views

Published on

The lecture I held on Easterhegg 2011

The lecture I held on Easterhegg 2011

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
957
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. About Wozu Automatisierung? Chef Examples Search DEMOAutomatisierungstechnologien f¨r die Infrastruktur u mit Chef Frederic Jaeckel (SoundCloud) 24. April 2011 Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 2. About Wozu Automatisierung? Chef Examples Search DEMOInhaltsverzeichnis 1 About 2 Wozu Automatisierung? 3 Chef Was ist Chef? Architektur Objekte Utilities 4 Examples Cookbooks Cookbooks Node Attributes Roles Data Bags 5 Search Search Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 3. About Wozu Automatisierung? Chef Examples Search DEMOAbout me (Dev)Op bei SoundCloud Zuvor im Security und Enterprise Umfeld t¨tig gewesen a Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 4. About Wozu Automatisierung? Chef Examples Search DEMOAbout me (Dev)Op bei SoundCloud Zuvor im Security und Enterprise Umfeld t¨tig gewesen a UNIX user/admin seit vielen Jahren Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 5. About Wozu Automatisierung? Chef Examples Search DEMOAbout me (Dev)Op bei SoundCloud Zuvor im Security und Enterprise Umfeld t¨tig gewesen a UNIX user/admin seit vielen Jahren Twitter: twitter.com/jaycieh SoundCloud: soundcloud.com/jaycieh Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 6. About Wozu Automatisierung? Chef Examples Search DEMOAbout me (Dev)Op bei SoundCloud Zuvor im Security und Enterprise Umfeld t¨tig gewesen a UNIX user/admin seit vielen Jahren Twitter: twitter.com/jaycieh SoundCloud: soundcloud.com/jaycieh Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 7. About Wozu Automatisierung? Chef Examples Search DEMOAbout SoundCloud Sharing Music Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 8. About Wozu Automatisierung? Chef Examples Search DEMOAbout SoundCloud Sharing Music Etwa 3 Millionen User Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 9. About Wozu Automatisierung? Chef Examples Search DEMOAbout SoundCloud Sharing Music Etwa 3 Millionen User Hauptsitz in Berlin Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 10. About Wozu Automatisierung? Chef Examples Search DEMOAbout SoundCloud Sharing Music Etwa 3 Millionen User Hauptsitz in Berlin Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 11. About Wozu Automatisierung? Chef Examples Search DEMOWozu Automatisierung? Konsistenz /etc/hosts, User Erstellung, Anpassen von config Variablen rapid development Hosts werden ferngesteuert Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 12. About Wozu Automatisierung? Chef Examples Search DEMOWozu Automatisierung? Konsistenz /etc/hosts, User Erstellung, Anpassen von config Variablen rapid development Hosts werden ferngesteuert Der SysOp wird zum DevOp Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 13. About Wozu Automatisierung? Chef Examples Search DEMOWozu Automatisierung? Konsistenz /etc/hosts, User Erstellung, Anpassen von config Variablen rapid development Hosts werden ferngesteuert Der SysOp wird zum DevOp Schnelleres Scaling Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 14. About Wozu Automatisierung? Chef Examples Search DEMOWozu Automatisierung? Konsistenz /etc/hosts, User Erstellung, Anpassen von config Variablen rapid development Hosts werden ferngesteuert Der SysOp wird zum DevOp Schnelleres Scaling Weniger Manpower Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 15. About Wozu Automatisierung? Chef Examples Search DEMOWozu Automatisierung? Konsistenz /etc/hosts, User Erstellung, Anpassen von config Variablen rapid development Hosts werden ferngesteuert Der SysOp wird zum DevOp Schnelleres Scaling Weniger Manpower Weniger Fehler Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 16. About Wozu Automatisierung? Chef Examples Search DEMOWozu Automatisierung? Konsistenz /etc/hosts, User Erstellung, Anpassen von config Variablen rapid development Hosts werden ferngesteuert Der SysOp wird zum DevOp Schnelleres Scaling Weniger Manpower Weniger Fehler Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 17. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOWas ist Chef? Config Management (Wie z.B. Puppet, CFengine.. etc.) Service Management (regeln vom Starten + Stoppen von services) Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 18. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOWas ist Chef? Config Management (Wie z.B. Puppet, CFengine.. etc.) Service Management (regeln vom Starten + Stoppen von services) Automatisierungs Management Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 19. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOWas ist Chef? Config Management (Wie z.B. Puppet, CFengine.. etc.) Service Management (regeln vom Starten + Stoppen von services) Automatisierungs Management Komplett in Ruby geschrieben (inklusive aller cookbooks) Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 20. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOWas ist Chef? Config Management (Wie z.B. Puppet, CFengine.. etc.) Service Management (regeln vom Starten + Stoppen von services) Automatisierungs Management Komplett in Ruby geschrieben (inklusive aller cookbooks) Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 21. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOChef Komponenten Ruby Merb Webserver (API + Web) RabbitMQ Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 22. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOChef Komponenten Ruby Merb Webserver (API + Web) RabbitMQ Solr Search Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 23. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOChef Komponenten Ruby Merb Webserver (API + Web) RabbitMQ Solr Search CouchDB Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 24. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOChef Komponenten Ruby Merb Webserver (API + Web) RabbitMQ Solr Search CouchDB Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 25. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMONodes, Clients, Data Bags und Utilities Nodes - sind Objekte, in dem Fall der Infrastruktur: Server Clients - definieren den Zugang zu Nodes, Attributen und Data Bags Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 26. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMONodes, Clients, Data Bags und Utilities Nodes - sind Objekte, in dem Fall der Infrastruktur: Server Clients - definieren den Zugang zu Nodes, Attributen und Data Bags Data Bags - beinhalten Daten die universell wiederverwendbar sind Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 27. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMONodes, Clients, Data Bags und Utilities Nodes - sind Objekte, in dem Fall der Infrastruktur: Server Clients - definieren den Zugang zu Nodes, Attributen und Data Bags Data Bags - beinhalten Daten die universell wiederverwendbar sind Utilities - stellen den Zugang zu der Management Infrastruktur her Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 28. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMONodes, Clients, Data Bags und Utilities Nodes - sind Objekte, in dem Fall der Infrastruktur: Server Clients - definieren den Zugang zu Nodes, Attributen und Data Bags Data Bags - beinhalten Daten die universell wiederverwendbar sind Utilities - stellen den Zugang zu der Management Infrastruktur her Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 29. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOUtilities Knife - CLI Programm zum Steuern von Chef Web Frontend - Ein Web frontend zum benutzen von Chef Zugang fuer Kunden, eingeschraenkter Zugriff zum Lesen Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 30. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOUtilities Knife - CLI Programm zum Steuern von Chef Web Frontend - Ein Web frontend zum benutzen von Chef Zugang fuer Kunden, eingeschraenkter Zugriff zum Lesen Shef - IRB console fuer Chef zum interaktiven Masseneditieren Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 31. About Wozu Automatisierung? Was ist Chef? Chef Architektur Examples Objekte Search Utilities DEMOUtilities Knife - CLI Programm zum Steuern von Chef Web Frontend - Ein Web frontend zum benutzen von Chef Zugang fuer Kunden, eingeschraenkter Zugriff zum Lesen Shef - IRB console fuer Chef zum interaktiven Masseneditieren Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 32. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMOCookbooks ls -lR sudo/ P r o j e c t s / system / cookbooks / sudo : t o t a l 24 d rw x r−x r−x 2 f r e d e r i c f r e d e r i c 4096 Nov 30 11:45 attributes −rw−r− −r− 1 f r e d e r i c f r e d e r i c 1801 − Mar 9 08:56 metadata . j s o n −rw−r− −r− 1 f r e d e r i c f r e d e r i c − 961 Dec 7 11:28 metadata . rb −rw−r− −r− 1 f r e d e r i c f r e d e r i c 1801 − Nov 30 11:45 README. md d rw x r−x r−x 2 f r e d e r i c f r e d e r i c 4096 Nov 30 11:45 recipes d rw x r−x r−x 3 f r e d e r i c f r e d e r i c 4096 Nov 30 11:45 templates P r o j e c t s / system / cookbooks / sudo / a t t r i b u t e s : total 4 −rw−r− −r− 1 f r e d e r i c f r e d e r i c 744 Nov 30 1 1 : 4 5 d e f a u l t . r b − P r o j e c t s / system / cookbooks / sudo / r e c i p e s : total 4 −rw−r− −r− 1 f r e d e r i c f r e d e r i c 906 Nov 30 1 1 : 4 5 d e f a u l t . r b − P r o j e c t s / system / cookbooks / sudo / t e m p l a t e s : total 4 d rw x r−x r−x 2 f r e d e r i c f r e d e r i c 4096 Feb 9 1 4 : 1 5 d e f a u l t P r o j e c t s / system / cookbooks / sudo / t e m p l a t e s / d e f a u l t : total 4 −rw−r− −r− 1 f r e d e r i c f r e d e r i c 780 Feb 9 1 4 : 1 5 s u d o e r s . e r b − Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 33. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMORecipes Ein einfaches Recipe: cat sudo/recipes/default.rb # # Cookbook Name : : s u d o # Recipe : : d e f a u l t # p a c k a g e ” s u d o ” do a c t i o n : upgrade end t e m p l a t e ” / e t c / s u d o e r s ” do source ” sudoers . erb ” mode 0644 end Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 34. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMORecipes Ein Recipe das Attributes nutzt: cat sudo/recipes/default.rb # ## Cookbook Name : : s u d o ## R e c i p e : : d e f a u l t ## # p a c k a g e ” s u d o ” do a c t i o n : upgrade end t e m p l a t e ” / e t c / s u d o e r s ” do source ” sudoers . erb ” mode 0644 variables ( : s u d o e r s g r o u p s = node [ : a u t h o r i z a t i o n ] [ : s u d o ] [ : g r o u p s ] , > : s u d o e r s u s e r s = node [ : a u t h o r i z a t i o n ] [ : s u d o ] [ : u s e r s ] > ) end Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 35. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMONode Attributes JSON drei Prioritaeten default die default variable normal ueberschreibt default override ueberschreibt alles Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 36. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMONode Attributes knife node show test.host.name.de { ”name ” : ” t e s t . h o s t . name . de ” , JSON ” j s o n c l a s s ” : ” C h e f : : Node ” , ” automatic ”: { drei Prioritaeten ” asset ”: { } default }, ” normal ” : { die default variable }, ” c h e f t y p e ” : ” node ” , normal ” default ”: { ueberschreibt default ” asset ”: { } override }, ” override ”: { ueberschreibt alles ” asset ”: { } }, ” r u n l i s t ”: [ ] } Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 37. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMONode Attributes knife node show test.host.name.de { ”name ” : ” t e s t . h o s t . name . de ” , JSON ” j s o n c l a s s ” : ” C h e f : : Node ” , ” automatic ”: { drei Prioritaeten ” asset ”: { } default }, ” normal ” : { die default variable }, ” c h e f t y p e ” : ” node ” , normal ” default ”: { ueberschreibt default ” asset ”: { } override }, ” override ”: { ueberschreibt alles ” asset ”: { } }, ” r u n l i s t ”: [ ] } Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 38. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMONode Attributes cat sudo/attributes/default.rb # # Cookbook Name : : s u d o # Attribute F i le : : sudoers # d e f a u l t [ : a u t h o r i z a t i o n ] [ : s u d o ] [ : g r o u p s ] = A r r a y . new d e f a u l t [ : a u t h o r i z a t i o n ] [ : s u d o ] [ : u s e r s ] = A r r a y . new Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 39. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMORoles Roles aggregieren Recipes und Attribute: cat roles/webserver.rb name ” w e b s e r v e r ” d e s c r i p t i o n ” Webserver ” r u n l i s t ” r e c i p e [ nginx : : d e f a u l t ]” , ” r e c i p e [ nginx : : monitor ]” , ” r e c i p e [ php : : d e f a u l t ] ” , ” r e c i p e [ mysuperwebapp ] ” default attributes ( ’ nagios ’ = {> ’ services ’ = {> ’ webserver ’ = { > ” Nginx ” = { ” check command”=>”c h e c k n g i n x ” } > } } }) Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 40. About Cookbooks Wozu Automatisierung? Cookbooks Chef Node Attributes Examples Roles Search Data Bags DEMOData Bags Speichern von Daten die Node uebergreifend verwendet werden knife data bag users frederic { foO@bar . com>”, ” nagios ”: { ” contact ”: { ” sms ” : ”123456789 @ e m a i l 2 s m s g a t e w a y . domain ” } }, ” s h e l l ” : ”/ u s r / b i n / z s h ” , ” s s h k e y s ” : ” s s h−r s a AAAAB3NzaC1yc2EAAAADAQABAAABAQDaq4CASUCsnEedaOxGCB4AsfS1DaNay/21 t } Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 41. About Wozu Automatisierung? Chef Search Examples Search DEMODie Suche in Chef Nach jedem Objekt in Chef kann gesucht werden: Nodes, Clients Roles, Recipes Attributes und vieles mehr Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 42. About Wozu Automatisierung? Chef Search Examples Search DEMODie Suche nach Dingen knife search node “model name:Intel*“ { ” total ”: 1 , ” start ”: 0 , ” rows ” : [ { ” r u n l i s t ”: [ ” r o l e [ base ]” , ” r o l e [1337 r o l e ]” , ” r e c i p e [ apache ] ” ], ” i d ” : ” t e s t . h o s t . name . de ” } ] } Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 43. About Wozu Automatisierung? Chef DEMO Examples Search DEMOSTOP! DEMO TIME! Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 44. About Wozu Automatisierung? Chef DEMO Examples Search DEMOWeiterfuehrende Links http://www.opscode.com/ http://wiki.opscode.com/display/chef/ http://www.ruby-lang.org/en/ http://blog.opscode.com/ Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u
  • 45. About Wozu Automatisierung? Chef DEMO Examples Search DEMOThe End Danke fuer die Aufmerksamkeit! Fragen? Frederic Jaeckel (SoundCloud) Automatisierungstechnologien f¨r die Infrastruktur mit Chef u