Successfully reported this slideshow.

Config managament for development environments

12

Share

Loading in …3
×
1 of 45
1 of 45

Config managament for development environments

12

Share

Download to read offline

Discussion, advise and code for using techniques like configuration management and virtualisation for managing local development environments.

Talk given at FOSDEM 2011 in the Configuration and Systems Management room.

Discussion, advise and code for using techniques like configuration management and virtualisation for managing local development environments.

Talk given at FOSDEM 2011 in the Configuration and Systems Management room.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Config managament for development environments

  1. 1. Configuration Management for Development Environments FOSDEM 6th February 2011 gareth rushgrove | morethanseven.net http://www.flickr.com/photos/doistrakh/3448860299
  2. 2. morethanseven.net Gareth Rushgrove gareth rushgrove | morethanseven.net
  3. 3. freeagentcentral.com Work at FreeAgent gareth rushgrove | morethanseven.net
  4. 4. devopsweekly.com gareth rushgrove | morethanseven.net
  5. 5. Problems gareth rushgrove | morethanseven.net http://www.flickr.com/photos/arttravel_nz/4178520218
  6. 6. 1. Not all developers want to be sysadmins gareth rushgrove | morethanseven.net http://www.flickr.com/photos/samagnew/3179259502/
  7. 7. 2. New employees gareth rushgrove | morethanseven.net http://www.flickr.com/photos/gregwake/4927118859
  8. 8. 3. Works on my machine gareth rushgrove | morethanseven.net
  9. 9. 4. Running a full stack locally gareth rushgrove | morethanseven.net http://www.flickr.com/photos/donaldmacleod/5216044050
  10. 10. 5. Service based architectures gareth rushgrove | morethanseven.net http://www.flickr.com/photos/thesuttonfamily/2663990050
  11. 11. Solutions gareth rushgrove | morethanseven.net http://www.flickr.com/photos/exalthim/3597210568
  12. 12. 1. Virtualisation gareth rushgrove | morethanseven.net http://www.flickr.com/photos/robdray/4805444111
  13. 13. VirtualBox gareth rushgrove | morethanseven.net
  14. 14. VMware gareth rushgrove | morethanseven.net
  15. 15. Virtualisation needs powerful hardware gareth rushgrove | morethanseven.net http://www.flickr.com/photos/martinoc/477335951
  16. 16. What about editing code? gareth rushgrove | morethanseven.net http://www.flickr.com/photos/monkeyc/3496523476
  17. 17. Shared Folders or NFS gareth rushgrove | morethanseven.net http://www.flickr.com/photos/konajra/5202442920
  18. 18. Doubledown
  19. 19. Vim gareth rushgrove | morethanseven.net
  20. 20. To the Cloud gareth rushgrove | morethanseven.net http://www.flickr.com/photos/monkeyc/3496521334
  21. 21. Amazon EC2 gareth rushgrove | morethanseven.net
  22. 22. Rackspace Cloud gareth rushgrove | morethanseven.net
  23. 23. Private Clouds gareth rushgrove | morethanseven.net
  24. 24. devstructure.com Devstructure gareth rushgrove | morethanseven.net
  25. 25. 2. Local configuration management gareth rushgrove | morethanseven.net http://www.flickr.com/photos/popcorncx/3516880947
  26. 26. Chef solo gareth rushgrove | morethanseven.net
  27. 27. Puppet standalone gareth rushgrove | morethanseven.net
  28. 28. vagrantup.com Vagrant gareth rushgrove | morethanseven.net
  29. 29. - Automated virtual machine creation using Oracle’s VirtualBox - Automated provisioning of virtual environments using Chef or Puppet - Full SSH access to created environments - Assign a static IP to your VM, accessible from your machine - Forward ports to the host machine - Shared folders allows you to continue using your own editor - Package environments into distributable boxes - Completely tear down environment when you’re done - Easily rebuild a complete environment with a single command What is Vagrant? gareth rushgrove | morethanseven.net
  30. 30. $ gem install vagrant $ vagrant box add lucid32 http://.../lucid32.box $ vagrant init $ vagrant up Vagrant up gareth rushgrove | morethanseven.net
  31. 31. Vagrant::Config.run do |config| config.vm.box = "lucid32" end Vagrantfile gareth rushgrove | morethanseven.net
  32. 32. Vagrant::Config.run do |config| config.vm.forward_port("web", 80, 8080) config.vm.forward_port("ftp", 21, 4567) config.vm.forward_port("ssh", 22, 2222, :auto => true) end Port forwarding gareth rushgrove | morethanseven.net
  33. 33. Vagrant::Config.run do |config| config.vm.share_folder("folder", "/guest", "../host") end Shared folders gareth rushgrove | morethanseven.net
  34. 34. Vagrant::Config.run do |config| config.vm.define :web do |web_config| web_config.vm.box = "web" web_config.vm.forward_port("http", 80, 8080) end config.vm.define :db do |db_config| db_config.vm.box = "db" db_config.vm.forward_port("db", 3306, 3306) end end Multiple VMs gareth rushgrove | morethanseven.net
  35. 35. Vagrant::Config.run do |config| config.vm.provision :puppet do |puppet| puppet.manifests_path = "puppetmanifests" puppet.manifest_file = "newbox.pp" end end Vagrant provisioning with Puppet gareth rushgrove | morethanseven.net
  36. 36. Vagrant::Config.run do |config| config.vm.provision :chef_solo do |chef| chef.roles_path = "roles" chef.add_role("vm") end end Vagrant provisioning with Chef gareth rushgrove | morethanseven.net
  37. 37. Vagrant::Config.run do |config| config.vm.provision :chef_solo do |chef| chef.recipe_url = "http://github.com/cookbooks.tar.gz" chef.add_recipe "garethr" chef.cookbooks_path = [:vm, "cookbooks"] chef.json.merge!({ :garethr => { :ohmyzsh => "https://github.com/.../oh-my-zsh.git", :dotvim => "https://github.com/garethr/dotvim.git" }}) end end Remote Tar File gareth rushgrove | morethanseven.net
  38. 38. Base boxes gareth rushgrove | morethanseven.net http://www.flickr.com/photos/s3a/4710416678
  39. 39. VeeWee gareth rushgrove | morethanseven.net
  40. 40. Conclusions gareth rushgrove | morethanseven.net http://www.flickr.com/photos/exalthim/1783760822 ttp://www.flickr.com/photos/moonboots/40371626
  41. 41. 1. Executable documentation gareth rushgrove | morethanseven.net http://www.flickr.com/photos/s__i/1016532054
  42. 42. 2. Early testing of recipes or manifests gareth rushgrove | morethanseven.net http://www.flickr.com/photos/matthewgriff/3981894124
  43. 43. 3. Shared language between dev and ops gareth rushgrove | morethanseven.net http://www.flickr.com/photos/matthias17/756090070
  44. 44. FOSDEM11 Extra month free for FreeAgent gareth rushgrove | morethanseven.net
  45. 45. Questions? gareth rushgrove | morethanseven.net http://flickr.com/photos/psd/102332391/

×