3. Digital Pioneers
• „ist eine börsennotierte Beteiligungsgesellschaft“
• entwickelt eine Handvoll Startup-Prototypen pro Jahr
• Prototyp wird von einem Team von ~5 Personen entwickelt
• „irgendwas mit Web“ - PHP, Ruby, Mobile
• Mit neuer Technik experimentieren
Erfahrungswerte auch für Beteiligungen
3
4. Klassische Entwicklungsumgebung
• VMware, VirtualBox, Parallels
Mutiert irgendwie rum
• XAMPP & Co
Entwickler-OS reflektiert nicht Produktion
• Entwickler-Server
Unterwegs arbeiten? Updates? Sync? Shared?
4
6. Chef(*) to the rescue!
„Chef is an open-source systems integration framework built
specifically for automating the cloud. Because it combines the
fundamental elements of configuration management and service
oriented architectures with the full power of Ruby, Chef makes it
easy to create an elegant, fully automated infrastructure.“
http://www.opscode.com/chef/
(*) Alternativ: Puppet. 6
7. Chef Features
• Administration als Ruby-Codemodule („Cookbooks“)
nur einfaches Ruby-Subset relevant
• Sensitive Credentials externalisierbar
Cookbooks problemlos öffentlich sichtbar
• Automatisiert, Reproduzierbar, Skalierbar, Versionierbar.
7
8. Vagrant
• Chef-Setup in Virtualbox ausführen
• Konfiguration in einem Textfile
• Installiert VM, führt anschliessend Chef-Scripte aus
8
9. „Demo“
fh$ vagrant up
[default] Importing base box 'lucid64'...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 80 => 8080 (adapter 1)
[default] -- 27017 => 27017 (adapter 1)
Hallo nodejs :-)
[default] Creating shared folders metadata...
[default] Booting VM...
[default] VM booted and ready for use!
[default] Mounting shared folders...
[default] Running provisioner: Vagrant::Provisioners::ChefSolo...
[default] Generating chef JSON and uploading...
[default] Running chef-solo...
(...)
[Tue, 12 Jun 2012 15:53:46 +0200] INFO: Chef Run complete in 1435.381366 seconds
[Tue, 12 Jun 2012 15:53:46 +0200] INFO: Running report handlers
[Tue, 12 Jun 2012 15:53:46 +0200] INFO: Report handlers complete
fh-dp:vagrant fh$ vagrant ssh
Linux lucid64 2.6.32-33-server #70-Ubuntu SMP
Ubuntu 10.04.3 LTS
Welcome to the Ubuntu Server!
vagrant@lucid64:~$
9
15. Work in progress
• Jenkins Tests in Vagrantbox
• Directory-Sharing bei Vagrant: Wahl zwischen Pest und Cholera
vboxfs ist doof. nfs auch.
• xdebug hakelig
• Dokumentation teilweise spärlich
• Interaktion von aussen mit der Vagrantbox nervig
vagrant ssh -c ‘sudo sudo -u www-data ant phpunit‘
15
16. Sinnvoll?
• Einarbeitungszeit minimal
• Hemmschwelle „Umgebungsreset“ klein
• Gleicher Stand in allen Projekten
• Änderungen am Systemsetup extrem einfach umsetzbar
• Live-Infrastruktur-Setup in 15 Minuten runderneuert
Auto-Heal!
16