Volatile Environments with Virtualization Technologies 1 iCSC2016, Anastasios Andronidis, Imperial College London Volatile Environments with Virtualization Technologies Anastasios Andronidis Imperial College London Inverted CERN School of Computing, 29 February – 2 March 2016
Volatile Environments with Virtualization Technologies 2 iCSC2016, Anastasios Andronidis, Imperial College London About Me PhD in N-Version Execution GRID, IT and CMS OpenStack Kubernetes Project
Volatile Environments with Virtualization Technologies 3 iCSC2016, Anastasios Andronidis, Imperial College London Outline Problems during developing, testing and setup Vagrant + Demos! Docker + Demos too!
Volatile Environments with Virtualization Technologies 4 iCSC2016, Anastasios Andronidis, Imperial College London This is going to be a technical session with a lot of examples!
Volatile Environments with Virtualization Technologies 5 iCSC2016, Anastasios Andronidis, Imperial College London Motivation (aka problems) Three kinds of problems (IMHO): Project switching Project transferring Project testing
Volatile Environments with Virtualization Technologies 6 iCSC2016, Anastasios Andronidis, Imperial College London Project switching Dependencies make sure they don’t conflict with something you have Requirements Sorry your platform is not supported! Interlinking components Start the DB and Server (plz no port conflicts!)
Volatile Environments with Virtualization Technologies 7 iCSC2016, Anastasios Andronidis, Imperial College London Project transferring Sharing with a friend Sharing with a team Sharing with the world Deploy in production
Volatile Environments with Virtualization Technologies 8 iCSC2016, Anastasios Andronidis, Imperial College London Project testing Various configurations This option and this option and this option should fail Different components MySQL + MariaDB + Postgresql Different topologies M-M, M-S, what about this ActiveMQ…
Volatile Environments with Virtualization Technologies 9 iCSC2016, Anastasios Andronidis, Imperial College London Local VM lifecycle Download a VM image Configure resources: RAM, CPUs, network connections, and shared folders Boot the VM and install OS Install additional software User’s configuration
Volatile Environments with Virtualization Technologies 10 iCSC2016, Anastasios Andronidis, Imperial College London History of Vagrant Initial release: March 8, 2010, 5 years ago Mitchell Hashimoto and John Bender HashiCorp
Volatile Environments with Virtualization Technologies 11 iCSC2016, Anastasios Andronidis, Imperial College London What Is Vagrant? Simplifies the workflow necessary to run VMs locally Offers a very simple CLI Supports: VirtualBox, VMWare, and Hyper-V… Supports: Ansible, Chef, Puppet, and Salt Distribute and share virtual environments
Volatile Environments with Virtualization Technologies 12 iCSC2016, Anastasios Andronidis, Imperial College London Demo 1 Basic commands vagrant init && vagrant up Shared folders nginx server vagrant share
Volatile Environments with Virtualization Technologies 13 iCSC2016, Anastasios Andronidis, Imperial College London Demo 2 Various web projects Port forwarding
Volatile Environments with Virtualization Technologies 14 iCSC2016, Anastasios Andronidis, Imperial College London Demo 3 Multiple VMs Private networking Redis Server-Client Benchmark!
Volatile Environments with Virtualization Technologies 15 iCSC2016, Anastasios Andronidis, Imperial College London Further Reading Provisioners! Plugins
Volatile Environments with Virtualization Technologies 16 iCSC2016, Anastasios Andronidis, Imperial College London Enter Docker
Volatile Environments with Virtualization Technologies 17 iCSC2016, Anastasios Andronidis, Imperial College London History of Docker Initial release: 13 March 2013, 2 years ago Solomon Hykes dotCloud, now: Docker, Inc.
Volatile Environments with Virtualization Technologies 18 iCSC2016, Anastasios Andronidis, Imperial College London Extra features from VMs Fast Small memory footprint It’s disposable
Volatile Environments with Virtualization Technologies 19 iCSC2016, Anastasios Andronidis, Imperial College London Demo 1 LXC example chroot on steroids
Volatile Environments with Virtualization Technologies 20 iCSC2016, Anastasios Andronidis, Imperial College London Demo 2 Redis docker tunnels
Volatile Environments with Virtualization Technologies 21 iCSC2016, Anastasios Andronidis, Imperial College London Further Reading Vagrant Docker Provisioner
Volatile Environments with Virtualization Technologies 22 iCSC2016, Anastasios Andronidis, Imperial College London Recap Use the virtualization! Helps you to keep track of development Helps you to share your work Keeps complexity and overhead low Enforces good practices Special treatment == You done something wrong (usually)
Volatile Environments with Virtualization Technologies 23 iCSC2016, Anastasios Andronidis, Imperial College London Some Personal Thoughts Dockfile/Vagrantfile vs the build? Users vs Developers ??? Think about Reproducibility? Open source code + Open source environment? This topic should become a course Question?