OSX vs Windows vs Your Favorite Linux Distro, Textmate vs Eclipse vs VIM. There are some technology wars that will never end, but the benefits of a consistent development environment can often come at their expense. Enter Vagrant, a tool for building and distributing virtualized development environments. In this session, I'll do an introduction to Vagrant and how it can harness the power of Chef. Finally, I'll walk through how we are using it at Wharton to build more consistent local development environments for two very unrelated technologies: ColdFusion and PHP/WordPress.
Managing your infrastructure with configuration management tools like Chef melds the practices of development and operations together. This workshop will focus on a development practice - Test Driven Development - and how that method can be applied to managing your Rails infrastructure and deployments. You will learn how to: Analyze your application and define your infrastructure needs (databases, load balancers, etc.), define unique infrastructure requirements for Rails applications (i.e. asset pipeline), capture your requirements in tests using Test Kitchen, ServerSpec, and other frameworks
Level-up your Chef skills by learning about these areas of Chef: * Attribute Precedence - Role, environment, cookbook, data bag? Which attribute value will be used in my chef run? Walk through an example that will show you which value gets applied in your chef run. * Encrypted Databags - Chef 0.10 brought us encrypted databags. We'll look at how to create and use databags and how to keep them up-to-date in your repository. * LWRP - What is a LWRP? How and why do you create one? We'll look at a couple of sample LWRPs and learn how to build a simple one. * Error Handlers - Demystify exception and report handlers by writing a simple one and seeing examples of how they work in the wild. * Capistrano and Chef - Take a quick look at why and how to integrate Chef search into your Capistrano configuration to make deploying your Rails apps even easier.