Your SlideShare is downloading. ×
The future of the php development environment
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

The future of the php development environment


Published on

The future of the php development environment. Talk given at the PHP London UK 2013

The future of the php development environment. Talk given at the PHP London UK 2013

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. The Future of the PHP Development Environment
  • 2. About the Speaker• Originally from Cape Town South Africa been living and working in London for 6 years.• Developing with PHP on the lamp stack since 2002.• Currently work at Comic Relief on their scalable fundraising platform.• Follow me on twitter @jeremyquinton
  • 3. Red Nose Day is back 15th March 2013 so look out for it
  • 4. The Future of the PHP Development Environment
  • 5. This talk contains Ruby
  • 6. The Past
  • 8. How does a newbie install php?
  • 9. Some solutions HomebrewPackage Manager onLinux APT, YUM ETC
  • 10. EcoSystem around the Lamp Stack has changed drastically Linux/Windows/Mac OSX Apache MySQL PHP PHP has over 150 extensions Cassandra Varnish Memcache Redis Nginx ZeroMQ CouchDB RabbitMQ MongoDB Gearman This is not a exhaustive list
  • 11. The concept of a production snowflake in many ways can be applied to ourdevelopment environments -
  • 12. Spot the difference
  • 13. Spot the difference is similar to Dev/Prod Parity Concept“Keep development, staging, and production as similar as possible” -
  • 14. Summary of Past and Present problems Setting up the modern dev environment, which has many moving, parts isnt straightforward Uniqueness Switching between projects with different dependancies is difficult Local dev environments differ significantly from production
  • 15. The Present: A solution to these problems $ vagrant up @mitchellh creator and maintainer of vagrant
  • 16. What is the Vagrant Idea/Concept?“A tool to transparently manage all the complex parts of modern developmentwithin a virtual environment without affecting the everyday workflow of thedeveloper too much.” - http:/ Provider - Vagrant Provisioner virtualisation
  • 17. Basic Vagrant Workflow How vagrant worksOnce Configured one command to bring up your development environment. $ vagrant upTo access the virtual machine via ssh $ vagrant sshWhen you finished work for the day $ vagrant haltWhen you done with the dev environment $ vagrant destroy [vn-name]Provision the virtual environment $ vagrant provision
  • 18. Vagrant command line optionsOpen source project written in Ruby, a command line tool. Supported on most majoroperating systems.
  • 19. How vagrant worksVagrant instance is managed with Vagrantfile which is Ruby syntax.28 configuration options.
  • 20. Three methods to create a box file Three methods create a box fileDownload a box file from http://www.vagrant.esUsing the instructions off http://vagrantup.comVeeWee
  • 21. Vagrant config file continued...
  • 22. Chef - a provisioner
  • 23. Basic Chef Solo configuration
  • 24. Quick Recap Provider - virtualisationVagrantfile Provisioner
  • 25. Visualisation of a vagrant workflow Windows Developer VCS Mac Osx Developer VagrantFile Linux Developer Chef Solo Scripts 1. vagrant add box box_name 2. vagrant up 3. vagrant provision Deployment tool Staging Production
  • 26. Multi VM Environments
  • 27. Multi VM Environments Accurately modeling a separate web and database server within the same development environment. Modeling a cluster of machines, and how they behave together. Testing a load balancer configuration, or the effects of “unplugging” a machine.
  • 28. The Future
  • 29. New Vagrant Providers Vagrant 1.1 - Released end of Feb $ vagrant up --provider=aws
  • 30. Collaboration is everything
  • 31. Vagrant 1.1plugin system is completely re-written
  • 32. DemoDownload Virtualbox 4.1.22 vagrant package or install via ruby gems to /etc/hostsGet the projectgit clone vagrant_demovagrant up --no-provisionvagrant provisionBrowse to
  • 33. Feedback
  • 34. Questions?
  • 35. Technical resources • • • • •
  • 36. Image Sources