WordCamp Montréal: Professional WordPress Deployment
At WordCamp Montréal 2013, Rami Sayar talked about moving from a developed product to a deployed one. Slides. Here are my notes:
- High-availability, very reliable, being maintained and kept up-to-date continuously.
- Managed releases - they’re tested, and it’s clear what changes are being sent out.
- Only a select few can access production and deploy there.
- Uses a consistent, versioned, automated software stack so that software is guaranteed to work across environments.
- Uses automated deployment to go quickly, without downtime.
- Software is auditable, with quality logs dating far back.
“World-class frontends need world-class backends”
- Developer operations (devops) has to be everywhere throughout development.
- Check out ProWP.org for devops resources.
- Use submodules to track and manage histories separately.
- Don’t clone WordPress, fork it then use it as the upstream repo. This allows you to get new changes from WordPress as they come.
Vagrant/Packer.io for machine images
- Vagrant is a tool to describe a virtual machine.
- Vagrantpress is an Ubuntu Vagrant machine which is already setup with WordPress included.
- Packer.io allows building identical cross-platform images.
- Chef and Puppet are two similar tools to allow for configuration file deployment.
- Chef is better for multi-server deployments (as it requires a lead server which others get config instructions from), whilst Puppet is better for single-server or a very limited number of servers.
- WP-CLI allows for the creation and control of WordPress installations using the command line.
- For open-source projects, use a tool such as Travis CI or Jenkins for testing.
- New Relic is a good tool for server monitoring, while Nagios is a good open source alternative.
- When performing host migrations, employ a code freeze as well as a content freeze (at least, do so for staging).
- memcached + batcache are a powerful combination for caching.
- The Automattic Developer plugin provides tons of great plugins for development purposes.
Published on the .
By Lucas Cherkewski.