Advanced Virtualization
- Vagrant
- Docker
Mr. Mohan Pawar
Mr. Richard Joseph
What is Vagrant ?
A CLI-based tool for streamlining the use of VM environments
(creation, provisioning, usage, & decommissioning)
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).
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.
What are the components of
Vagrant?
1. Vagrant
☞ Written in Ruby
☞ Multi-platform (Windows, Linux, OS X)
☞ CLI (no GUI)
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.
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.
4. Vagrantfile
A text file (written with Ruby syntax) that describes the VM environment.
Vagrant Demo Time !
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.
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, ...
Virtual Machine vs Docker
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
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
Docker is the world’s leading software
containerization platform.
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
Images vs Container as Class vs Object
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
Hands - On Lab Time...!
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.
Future Scope
All IT companies are migrating their servers with docker.
Micro-service architecture
Serverless computing.
Docker Vs
Vagrant
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.
Thank You.

Vagrant and docker

  • 1.
    Advanced Virtualization - Vagrant -Docker Mr. Mohan Pawar Mr. Richard Joseph
  • 2.
    What is Vagrant? A CLI-based tool for streamlining the use of VM environments (creation, provisioning, usage, & decommissioning)
  • 3.
    A "VM environment"? Thinkof 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 forVagrant 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.
  • 5.
    What are thecomponents of Vagrant?
  • 6.
    1. Vagrant ☞ Writtenin Ruby ☞ Multi-platform (Windows, Linux, OS X) ☞ CLI (no GUI)
  • 7.
    2. Vagrant provider Interfaceswith 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 Templateused 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 textfile (written with Ruby syntax) that describes the VM environment.
  • 10.
  • 11.
    What is Docker? ACLI 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 Providea 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, ...
  • 13.
  • 14.
    Docker technology libvirt: PlatformVirtualization LXC (LinuX Containers): Multiple isolated Linux systems (containers) on a single host which is replace by LibContainers Layered File System
  • 15.
    Run Platforms Various Linuxdistributions (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 theworld’s leading software containerization platform.
  • 17.
    Docker Terminology Persisted snapshotthat 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
  • 18.
    Images vs Containeras Class vs Object
  • 19.
    Dockerfile Create images automaticallyusing 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
  • 20.
    Hands - OnLab Time...!
  • 21.
    Docker Use cases DevelopmentEnvironment 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 ITcompanies are migrating their servers with docker. Micro-service architecture Serverless computing.
  • 23.
  • 24.
    Conclusion Containerization is thefastest, 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.
  • 25.