Course: Introduction to Versioning Environments With Vagrant

A few weeks ago I shared a presentation about Partitioning and automating development machines. Check out the post for a synopsis of how you can improve your development workflow.

This summer I authored a course with Pluralsight to help you get started. The course walks you through the basics of getting started with Vagrant to create reproducible, virtual environments. It’s designed for you to follow along with hands on examples:

  • You’ll take Vagrant for a spin to get a feel for using the tool.
  • You’ll incorporate Vagrant into a web development workflow with an example of hosting an nginx website.
  • You’ll learn how to version the definition of your environments through your version control system.
  • You’ll learn how to mesh a development workflow with a production release process with an example of developing your own hubot. You’ll also learn how to release your hubot to the cloud using Amazon Web Services.
  • You’ll learn how to work with virtual Windows environments. The first example demonstrates how to test releasing a .NET application with Web Deploy. The second example shows how to create and test scripts to configure Windows environments with PowerShell. The second example shows that these techniques are great for system administration, not just development.
  • Last, you’ll see how to use Vagrant to support local development databases with an example of using MongoDB. Local development databases help keep developers from stepping on each other’s toes, but traditionally can be a burden to setup.

All along the way I share benefits, talk about trade-offs, and provide further avenues of exploration.

Enjoy!

Introduction to Versioning Environments With Vagrant