2. What is Vagrant ?
A CLI-based tool for streamlining the use of VM environments
(creation, provisioning, usage, & decommissioning)
3. A "VM environment"?
Think of this as one or more VMs (based on a user-specified template) along
with networking and possible in-guest software customization.
Examples.
The classic "3 tier" web/app/DB topology.
Trying out new technologies (CoreOS and etcd cluster, Open vSwitch).
4. Use cases for Vagrant
Sharing VM environments with other Users.
Accelerating the creation of VM environments.
Automating software provisioning inside VM environments.
Providing a CLI for creating/destroying/accessing VM environments.
6. 1. Vagrant
☞ Written in Ruby
☞ Multi-platform (Windows, Linux, OS X)
☞ CLI (no GUI)
7. 2. Vagrant provider
Interfaces with back-end virtualization solution.
Vagrant comes with a provider for VirtualBox.
Provider for VMware desktop products (Fusion & Workstation) available for a
free.
Other providers available as open source projects.
8. 3. Vagrant box
Template used when creating VM environments in Vagrant.
Boxes are provider-specific.
Packer is a related product that can be used to help build Vagrant boxes.
9. 4. Vagrantfile
A text file (written with Ruby syntax) that describes the VM environment.
11. What is Docker?
A CLI tool for simplifying the use of Linux containers.
Docker is an open source engine that automates the deployment of any
application as a lightweight, portable and self-sufficient that will run virtually
anywhere.
Package your application into a standardized unit of software development.
12. Docker : Name
Provide a uniformed wrapper around a software package:
«Build, Ship and Run Any App, Anywhere»
Similar to shipping containers: The container is always the same, regardless of
the contents and thus fits on all trucks, cranes, ships, ...
14. Docker technology
libvirt: Platform Virtualization
LXC (LinuX Containers): Multiple isolated Linux systems (containers) on a
single host which is replace by LibContainers
Layered File System
15. Run Platforms
Various Linux distributions (Ubuntu, Fedora, RHEL, Centos, openSUSE, ...)
Cloud (Amazon EC2, Google Compute Engine, Rackspacem, Azure) 2016-12:
Microsoft announces plans to integrate Docker with next release of Windows
Server
16. Docker is the world’s leading software
containerization platform.
17. Docker Terminology
Persisted snapshot that can be run
images: List all local images
run: Create a container from an image and execute a command in it
tag: Tag an image
pull: Download image from repository ◦
rmi: Delete a local image This will also remove intermediate images if no
longer used
19. Dockerfile
Create images automatically using a build script: «Dockerfile»
Can be versioned in a version control system like Git or SVN, along with all
dependencies
Docker Hub can automatically build images based on dockerfiles on Github
21. Docker Use cases
Development Environment
Environments for Integration Tests
Quick evaluation of software
Microservices
Multi-Tenancy
Unified execution environment (dev test prod (local, VM, cloud, ...) e.g.
BookMyShow migrated their 3 servers to docker.
22. Future Scope
All IT companies are migrating their servers with docker.
Micro-service architecture
Serverless computing.
24. Conclusion
Containerization is the fastest, most resource effective, and most secure setup
we know to date and docker is drifting the IT world in more agile way to
achieved easy to create architecture.