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?
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