Virtualized development - Sunshine PHP

1,969 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,969
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Virtualized development - Sunshine PHP

  1. 1. VIRTUALIZED DEVELOPMENT Juozas Kaziukėnas // juokaz.com // @juokaz
  2. 2. Juozas Kaziukėnas, LithuanianYou can call me JoeMore info http://juokaz.com
  3. 3. LOCAL DEV SETUP IS HARD
  4. 4. MIRROR PRODUCTION
  5. 5. IF THINGS WORK LOCALLY, THEY WILL WORK IN PRODUCTION*
  6. 6. REPLICATING BUGS
  7. 7. DATABASE SLICE
  8. 8. SETTING UP DEVENVIRONMENTS
  9. 9. TRICKY
  10. 10. TIME CONSUMING
  11. 11. EVERYTHING STILL BREAKS
  12. 12. NEED TO AUTOMATE
  13. 13. SHELL SCRIPTS ARE NOT A SOLUTION
  14. 14. BRAINFUCK
  15. 15. CHEF OR PUPPET
  16. 16. PUPPET
  17. 17. RECIPES DESCRIBING A SERVER
  18. 18. PUPPET EXAMPLE$php = ["php5","php5-xdebug"]package { $php: ensure => "installed" }
  19. 19. PUPPET EXAMPLE$php = ["php5","php5-xdebug"]package { $php: ensure => "installed" }package { "apache2": ensure => present,}
  20. 20. PUPPET EXAMPLE$php = ["php5","php5-xdebug"]package { $php: ensure => "installed" }package { "apache2": ensure => present,}service { "apache2": ensure => running, enable => true, require => Package[apache2], subscribe => [File["/etc/apache2/mods-enabled/rewrite.load"], File["/etc/apache2/sites-available/default"]],}
  21. 21. PUPPET EXAMPLEfile { "/etc/apache2/sites-available/default": ensure => present, source => "/vagrant/manifests/default",}
  22. 22. PUPPET EXAMPLEfile { "/etc/apache2/sites-available/default": ensure => present, source => "/vagrant/manifests/default",}exec { "install_phpunit": command => "/usr/bin/pear install pear.phpunit.de/PHPUnit", require => [Package[php-pear], Exec[/usr/bin/pear config-set auto_discover 1]], creates => "/usr/bin/phpunit"}
  23. 23. WHAT TO USE LOCALLY
  24. 24. NEED A VM?
  25. 25. THE COOLEST THING I LEARNED LAST YEAR
  26. 26. BECAUSE IM LAZY
  27. 27. VAGRANT
  28. 28. VAGRANTNounA person without a settled home or regular workwho wanders from place to place and lives bybegging.
  29. 29. TOOL TO BUILD A LOCAL CLOUD
  30. 30.   BUILDING VMS
  31. 31. RUBYGEM FOR MANAGING VIRTUAL MACHINES
  32. 32. IMPROVE DEVELOPMENT
  33. 33. MADE DEVELOPERS VERY HAPPY
  34. 34. MADE HIRING VERY EASY
  35. 35. MADE COMPLICATEDDEVELOPMENT EASY
  36. 36. NO LOCAL MACHINE MESSING UP 
  37. 37. SETUP NOW
  38. 38. INSTALL VAGRANT
  39. 39. GIT CLONE REPO
  40. 40. VAGRANT UP
  41. 41.   PREDICTABLE, STABLE AND MANAGEABLE
  42. 42. VAGRANT
  43. 43. BASEBOX
  44. 44. PORT FORWARDING
  45. 45. SHARED FOLDERS
  46. 46. NO NEED TO DEPLOY
  47. 47. FEELS LOCAL
  48. 48. VAGRANT SSH
  49. 49. LOCAL CLOUD
  50. 50. VERSION CONTROL
  51. 51. SHARE VMS
  52. 52. DEMO!!!
  53. 53. THANKS

×