Slide 1

Slide 1 text

Introduction to Vagrant and Docker

Slide 2

Slide 2 text

WHAT IS VAGRANT? •  Tool to build complete development environment •  Sandboxed in a virtual machine

Slide 3

Slide 3 text

WHY VAGRANT? •  Provides similar development environment across team / project •  Reduce development environment setup time •  Increases production / development parity •  Reduce “it works in my machine” issue

Slide 4

Slide 4 text

PROVIDERS •  Provides virtualized machines for dev envinronment •  Oracle Virtualbox (default) •  AWS •  VMWare

Slide 5

Slide 5 text

CONFIGURATION •  Plain text file (Vagrantfile) •  Ruby DSL •  Provisioning Tools : Shell, Puppet, Chef, Salt, Ansible •  Can use similar provisioning with production •  Can be shared and versioned in Source Control

Slide 6

Slide 6 text

WHAT IS DOCKER? •  Open source engine •  Automates deployment applications into container •  Use same linux kernel with host’s

Slide 7

Slide 7 text

WHY DOCKER? •  Configure Once, Run Anywhere •  Multiple docker in a single machine •  Rapid scaling and deployment •  Provide standardize environment in development, staging, and production

Slide 8

Slide 8 text

CONFIGURATION •  Simple plain text file ( Dockerfile ) •  Can be shared and versioned •  Docker Hub

Slide 9

Slide 9 text

DOCKER VS VAGRANT •  Not Apple to Apple •  Docker can run inside Vagrant •  Vagrant allow us to install all we need for development purposes e.g. OS, apps, etc. •  Docker allow us to run self-contained applications with assured libraries and dependencies.