About Me • Python developer • Love Ops • Run the Pyramid Meetup in London • Defender of Postgres, RDMS and SQL • Hack with Haskell, Erlang, Rust in my spare time on twitter : @rachbelaid
What Self-contained means? • No dependency required to run • State Less • Simplify shipping code to ship more often • the Holy Grail of deployment Running an application like a binary
Why Self-Contained? • Easy to deploy. Easy like a binary? • Easy to test/run • Component base architecture • Continuous delivery • Functional programming of deployment
Is Configuration Management the answer? • Repetitive • No rollback • Not always deterministic (distro, updates, …) • Tendency to create a monolithic platform • Often too slow Great, but :
What is docker The docker project offers higher-level tools, working together, which are built on top of some Linux kernel features. It’s providing an additional layer of abstraction and automation of operating system–level virtualization on Linux.
What is docker • Framework / Toolkit to create containers • Platform to build distributed app and link them together • Build application container which run everywhere • Faster than normal VM and more convenient
Docker goal The goal is to help developers and system administrators port applications - with all of their dependencies conjointly - and get them running across systems and machines - headache free.
Enter Packer • Packer is a tool for creating identical machine images for multiple platforms from a single source configuration • Packer can help you build Docker containers * • Allow to transition and experiment with docker container • Glue between Configuration management and Docker *not on MacOS / Win
Environment setup Vagrant.configure("2") do |config| config.vm.box = "ubuntu/trusty64" config.vm.provision "docker" do |d| end end To get a VM ready to use! vagrant up && vagrant ssh wget https://dl.bintray.com/mitchellh/packer/ packer_0.7.1_linux_amd64.zip ! unzip packer_0.7.1_linux_amd64.zip -d ~/packer export PATH=$PATH:~/packer/
Who is using/supporting Docker • Google, Microsoft, Amazon, Red Hat, Digital Ocean, • Real Projects using it : New Relics, Circle Ci, .. • Exciting projects: Panamax, Fig, ClusterHq • Loads of Millions $$$ • Production ready (ish)!!
What are the benefits • Integrate Easily in CI to do Continuous Delivery • Move to an archicteture using Microservices / SOA • Access to great tools to build cluster & distributed system :
Mesos / CoreOS / Mesosphere • Isolation and Sandboxing • Great to limit CPU / IO / Memory resources (DOS, QOS, PAAS)