vagrant up, Issues down

platform as code for the research and learning environment

Austin Parker | @austinlparker for UAlbany Open Source Festival 2014

Setting the Stage

    Imagine this scenario

  • Large, multidisciplinary research project or learning environment
  • Participants and colleagues scattered across non-geographically contiguous areas
  • Non-standard configurations of computing resources

The Problem

How do we make sure everyone is working with the same tools?

The Solution

Infrastructure as Code

What is Infrastructure as Code?

  • Programmatically automate infrastructure tasks
  • Infrastructure - Hardware, Servers, Monitoring and Analytics Software, and more

What about tools, though?

A virtual server is nice and all, but we need more for our purposes

Introducing Platform As Code

  • Extend the IaC model to include development tools and libraries
  • Less support headaches, quickly onboard new contributors or learners
  • Customize to your specific needs - target specific versions and lock
  • Write Once, Run Anywhere - deploy locally or in the cloud

The Foundations of PaC

  • vagrant
    • Manage and provision virtualized development environments
    • Simple configuration, easy to share files between host and client OS
  • puppet
    • Flexible and customizable automation framework
    • Declarative, model-based approach to define the desired state of an environment

Getting Started

Download Vagrant at http://www.vagrantup.com/downloads.html

Find a Vagrantbox at https://vagrantcloud.com/discover/featured

Initial Setup


mkdir vagrant
cd vagrant
vagrant box add hashicorp/precise32
vagrant init

mkdir vagrant/manifests
touch vagrant/manifests/default.pp

Final Notes

  • Performance may be an issue, but you can deploy to the cloud
  • VMWare user? You're in luck.
  • Puppet and Vagrant are much deeper than what we've seen today

Questions?

Note: You can find the sample files used in this presentation at my github