DevOps @ DrupalCon Portland: What I Learned
DrupalCon Portland was held at the Oregon Convention Centre from May 20 - 24, 2013. I found out I was going in place of a coworker who could not make it about 5 days ahead of time. What a ride! Without much time to prepare my schedule, equipment, or fun adventures while on the West coast, I packed a laptop, some socks, and shot off for whatever might await me...
It was daunting at first - a busy week chock full of amazing talks, great opportunities to learn and discuss and socialize - all in front of me without a lot of run-up time. But I would say I made the best of it! As OpenConcept's primary Systems Administrator I was keen to meet up with other SysAdmins to discuss their hosting situations as well as their various approaches to DevOps. The general rhetoric of those Drupal shops who do run their own servers seemed to be that the SysAdmins were back home chained to their desks in the basement... I also received a great piece of advice: Since all of the major DrupalCon talks are video recorded, one should not fret about missing them in person. In fact the best use of your time at a conference with 3,500 like-minded individuals is to network with them, connect over coffee, and discuss in person what successes and troubles you have had and anticipate in the future.
So I started to focus my efforts on making some firm decisions about what is most important in our development team discussions at OpenConcept when we are actively working on sites together. There were quite a number of excellent DevOps talks organized, but some of the best experience I gained was through these personal connections and at social events beyond the scope of the conference itself. We have been busy at OpenConcept integrating new development structures and methodologies, but reassurance is nice, and sometimes a fellow developer knows a best practice or a known pitfall. Discovery of these winning and losing conditions can be an arduous process, and although there are collaborative outlets for online discussion, nothing will set you on the right track as easily as a fiifteen minute face-to-face with someone who has already done exactly what you're planning to do.
Validation of some of the ideas OpenConcept already had on the go was fantastic. We are standardizing our development systems using Vagrant, ensuring common configuration with Chef, and working towards a Continuous Delivery framework, which will allow more frequent and easier deployments to allow us to respond more quickly to our clients' needs. Of course there are many competing technologies all the time in the Open Source world. There is no specific need to use Chef as Puppet is a perfectly viable alternative. What criteria should be used when comparing apples to apples? Puppet's great, but many of the DevOps folks I chatted with are deploying with Chef, so if that's where Drupal DevOps has more support available, that's the route we'll take.
Of course everyone hosting Drupal 7.x sites should be using APC and Memcache! A front-side cache like Varnish can be a bad thing if there's no one else using it, and Varnish is being used extensively in the Drupal community. It was great to know for sure, over just a few short days, that OpenConcept is doing the right things. For those systems we have not yet implemented at least we know we're going in the right direction - With the rest of the Drupal community ahead of us, behind us, and all around for us to help and support and nurture one another!
(BTW: That's me with the hair!)