Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Virtualisation - Vagrant and Docker

Virtualisation - Vagrant and Docker

I don't know much about it, but I do know enough to think it's the future of web development. History, comparisons, examples and talking points.

James Ford

March 09, 2016
Tweet

More Decks by James Ford

Other Decks in Programming

Transcript

  1. Virtualisation I don’t know much about it, but I know

    enough to think it’s the future of web development.
  2. The Problem … Even if you do find documentation, it’s

    inaccurate, out of date, and incomplete. You copy some files here and there. You install a programming language or two. You run a random shell script. You fiddle with environment variables. [...] of course, some of the requirements from one project conflict with the requirements of another project. Before you know it, you’re spending hours reading about RVM and RBEnv so you can run multiple versions of Ruby, you’re fighting with strange errors with C header files… “ ” Yevgeniy (Jim) Brikman - Atomic Squirrel
  3. In 30 seconds... Virtual machines are like emulators: • Mirror

    your Live environment • Isolated from host machine • Shareable • Cross-platform
  4. How Vagrant works • Compressed file system archive (Box file)

    • Text-based configuration file (Vagrantfile) • Vagrant CLI • Pre-built Box file library
  5. How Docker works • Partial file system archives (Images) •

    Text-based configuration file (Dockerfile) • Docker CLI, Docker Compose CLI • Container Repository
  6. Similarities • Virtual machines running in VMware • Can easily

    mean working with huge binary files • Multiple machines with networking • Local and remote environments • Existing repositories of starter images
  7. Differences • Docker uses incremental images in builds • Multi-machine

    setup in Docker is easier • Docker advises it is ‘Not Production ready’
  8. What VMs could mean • Death to ‘It works on

    my machine’ • Say ‘No!’ to intangible dependencies • Banish the OS incompatibilities • Minimise setup and onboarding times
  9. The Moon Shot • The same Virtual Machine images in

    use on Local, Dev, Live and everything in-between • Scalable Solution