Slide 1

Slide 1 text

Panamax: Docker Management for Humans Develop locally, Deploy to remote clustered infrastructures 1 Rupak Ganguly Technical Director at CenturyLink Labs Atlanta Ruby Meetup, Nov. 12th, 2014 v0.2.7

Slide 2

Slide 2 text

Rupak Ganguly Work at CenturyLink Labs, Panamax core team who am i 2 Past worked at HP Cloud Services. OpenStack enthusiast and contributor. Open-source advocate and contributor. Rubyist, API aficionado, cloud savvy. Fan of all things virtualization and containerization. Follow me @rupakg or find out more at about.me/rupakg

Slide 3

Slide 3 text

3 Recap: What is Docker? An open platform for building, shipping and running distributed applications inside containers. The platform consists of: The Docker Engine: a portable, lightweight runtime and packaging tool. It is the CLI that we interact with. The Docker Hub: A public/private registry for docker images, supporting sharing, and automatic builds. If it works on your machine, it will work anywhere. ensures repeatability removes dependency hell

Slide 4

Slide 4 text

A containerized Docker application, with an intuitive UI, for orchestrating multi-container micro-service architected applications. What is Panamax? 4 100% open source project, by CenturyLink Panamax provides: a Development Workflow for orchestrating apps a Deployment plugin architecture to deploy remotely an easy-to-use, intuitive user interface drag-and-drop orchestration one-click deployment to remote clusters search integration with Private Registries an open-source Docker App Marketplace

Slide 5

Slide 5 text

5 Why Panamax? Docker might be the next generation of virtual machines, but right now they are very hard to adopt. Docker Management for Humans Eases end users into building containerized apps using Docker, by ‘transparently insulating’ them Enables saving applications as templates, and sharing them using GitHub repositories Allows quick prototyping of complex apps by linking various services One-click deployment of applications from templates to remote Kubernetes or CoreOS/Fleet clusters

Slide 6

Slide 6 text

Portability Develop locally and deploy remotely to clustered platforms Loosely coupled Easy composition of micro-services based applications Collaboration Templates make it easy to share and collaborate Management Manage applications, services, images from a single UI Transparency Open-source code encourages contribution and involvement from the community Why do developers care? 6

Slide 7

Slide 7 text

7 Get Panamax Requirements VirtualBox 4.2 or higher Vagrant 1.6 or higher Installation $ brew install http://download.panamax.io/installer/brew/panamax.rb $ panamax init

Slide 8

Slide 8 text

8 Panamax New Features Added management and search of Private Registries Added management of Remote Deployment Targets Added capability to deploy applications to Remote targets Revised Performance Metrics with cAdvisor Revamped Application Service Details UI Added display of ‘docker run’ command for services Added support for showing ‘docker inspect’ for services Added support for Mounting Volumes (—-volumes-from) Added support for updating Github token And lots of bug fixes! See the Changelog for more detailed information.

Slide 9

Slide 9 text

9 Application Template Marketplace Share containerized applications via Panamax templates. Recreate apps instantly using the official public templates shared by Panamax, or, by using the templates shared by your friends. http://locomotive_cms.ngrok.com/ http://localhost:9080/

Slide 10

Slide 10 text

10 Panamax Demo

Slide 11

Slide 11 text

11 Remote Deployment Manage Remote Deployment Targets Deploy applications to Remote clustered infrastructures Search for a Template and Deploy to a Remote Target directly Kubernetes and Fleet Orchestrators supported out-of-the-box

Slide 12

Slide 12 text

12 Remote Deployment Demo Drupal/MySql on Kubernetes on GCE Drupal/MySql on CoreOS/Fleet on GCE

Slide 13

Slide 13 text

13 A Bird's Eye View

Slide 14

Slide 14 text

14 A Peek Inside Panamax is a multi-container Docker application

Slide 15

Slide 15 text

15 Agent/Adapter Architecture The Kubernetes/Fleet adapter in combination with the Panamax Remote Agent enables the deployment of a Panamax template to a Kubernetes/Fleet cluster.

Slide 16

Slide 16 text

16 How we built it?

Slide 17

Slide 17 text

17 How we run it? docker run -it --name panamax-api -v /var/panamax/panamax-api:/var/app/panamax-api -v /var/run/docker.sock:/run/docker.sock -p 8888:3000 -e "FLEETCTL_ENDPOINT=http://172.17.42.1:4001" -e "JOURNAL_ENDPOINT=http://172.17.42.1:19531" panamax/ruby /bin/bash config.vm.network "private_network", ip: "x.x.x.x" config.vm.synced_folder "/local/path/panamax", "/var/panamax", id:"core", :nfs => true, :mount_options => [‘nolock,vers=3,udp'] config.vm.network :forwarded_port, guest: 8888, host: 8888 Vagrantfile

Slide 18

Slide 18 text

We setup a UserVoice forum to solicit feedback. Users like you came in and suggested features. We huddled, took the challenge and delivered a dozen features. Your Voice is heard 18 feedback.panamax.io

Slide 19

Slide 19 text

We want you to get involved to make Panamax better! We can’t do it alone. We want Devops, Rubyists, UX/UI Designers, Cloud/Virtualization enthusiasts, Docker enthusiasts, Panamax fans, and more… How to get involved? 19 Contribute to Panamax by: installing and testing Panamax against your use cases providing feedback, feature requests & raising issues participating & voicing opinions in community-wide discussions enhancing the documentation on the wiki submitting code and issuing a pull request

Slide 20

Slide 20 text

Meet the CenturyLink Labs Team An R&D team within CenturyLink Blogs, tutorials, videos, podcasts related to Docker http://centurylinklabs.com Panamax: - 12 13 engineers - 9 months - 3200+ cups of coffee 20

Slide 21

Slide 21 text

21 What are others saying? “Panamax allows developers to go from zero to pre-packaged, multi-container docker environments in minutes. The web interface and overall user experience is impressive.” – Gabriel Monroy, Creator Of Deis “Panamax is an exciting improvement on the Docker user experience.” – Jonathan Rudenberg, Creator Of Flynn “We’re pleased to see Panamax launched! It’s an exciting project that shows the strength and diversity of the Docker ecosystem.” – James Turnbull, Vice President Of Docker “Docker containers are great, but you need more than just one to run your application. The Panamax solution brings application templates and a public repository to share and collaborate that is elegant and simple to use.” – Borja Burgos, Founder Of Tutum

Slide 22

Slide 22 text

We will be at RubyConf 2014 22

Slide 23

Slide 23 text

23 http://youtu.be/xGjBZ0lZG5E What is Panamax? & How is it different than Docker?

Slide 24

Slide 24 text

We can help! Web: http://panamax.io IRC: #panamax (freenode) Twitter: @panamax_io Blog: http://centurylinklabs.com Code: http://github.com/CenturyLinkLabs 24 Images: CenturyLink on Docker Hub

Slide 25

Slide 25 text

25 Backup

Slide 26

Slide 26 text

26 Containers vs. VMs • VMs include a full guest OS with its own memory management, device drivers, etc., while containers just have the app and its dependencies. • The containers run as an isolated process on the host OS, and share the kernel with other containers. • They are more portable and efficient than VMs. It’s like sending a zip file of your document and image files rather than sending those along with OS on your machine. Source: Docker