On 17th January the engineering team at here at thetrainline.com hosted a meetup of the London Continuous Delivery group at our offices in central London. About 50 group members were joined by 15 or so staff from thetrainline in a discussion led by Andy Hawkins from Opscode, originators of infrastructure automation tool Chef. We saw a demo of Chef working with ThoughtWorks GO to build EC2 instances, and there were interesting discussions on auto-scaling and organisational change.
Update: podcast now available…
The podcast of the meetup is now here:
At thetrainline.com, we’ve been using Chef since September 2012 to automate more and more parts of our infrastructure. Perhaps half the people attending were also using Chef to manage aspects of their infrastructure, so Andy gave a whistle-stop tour of Chef for those who were new to it. We then went into a demo showing how Chef (or other similar tools such as Puppet, CFEngine, etc.) fit into a tool chain for building and provisioning cloud-based servers.
We started the demo in Eclipse, made a change to a simple website’s .jsp page, then committed/pushed to Github, which triggered a pipeline in GO to build and provision an EC2 instance with the updated code. We were a bit unfortunate with the timing, as Amazon’s US-EAST region (where the demo provisioned the server) was having some technical issues that day, but we eventually managed to get an end-to-end run and saw the EC2 instance stand up with the new version of the website deployed and working.
There was useful discussion of the various merits of Roles, Environments and Data Bags within Chef (there is no “right” way to do things), along with some useful insights from Dave Nolan at LonelyPlanet.com and others about auto-scaling (essentially: never automatically auto-scale, as Bad Things can happen; get a human to press the “auto-scale” button when needed).
We recorded the meetup and we’re working on a podcast, which we’ll post here once it’s ready.