atlanta docker meetup - 26june14 - flynn

13
Build your own PAAS with Flynn Jonathan Manuzak @jonmanuzak

Upload: jmanuzak

Post on 15-Jan-2015

144 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Atlanta Docker Meetup - 26June14 - Flynn

Build your own PAAS with Flynn

Jonathan Manuzak@jonmanuzak

Page 2: Atlanta Docker Meetup - 26June14 - Flynn

Docker is great…

… but normal people need glue.

Pain-relief As A Service?

Page 3: Atlanta Docker Meetup - 26June14 - Flynn

The Project

• A modular, open-source PAAS• Based on Jeff Lindsay’s Dokku– ‘The smallest PAAS implementation you’ve ever

seen’• Heavily inspired by Heroku• Open source project launched in early 2013• Became not so open in late 2013• Asked for sponsorship from the community

Page 4: Atlanta Docker Meetup - 26June14 - Flynn

The People

Jonathan Rudenberg Daniel Siders Jeff Lindsay

Page 5: Atlanta Docker Meetup - 26June14 - Flynn

The Tech• A lot of Go goodness• Service discovery is a core component• CLI means happy devs and ops teams• Can run persistent ‘appliances’ • Unix tool philosophy

Page 6: Atlanta Docker Meetup - 26June14 - Flynn

The Tech• Layer 0

– flynn-host - The Flynn host service– discoverd - The Flynn service discovery system

• Layer 1– flynn-controller - Controller for the management of applications running via an HTTP

API– flynn-bootstrap - Bootstraps Flynn Layer 1– gitreceived - An SSH server made specifically for accepting git pushes– flynn-cli - Command-line Flynn HTTP API client– flynn-receive - Flynn’s git deployer– slugbuilder - A tool using Docker and Buildpacks to produce a Heroku-like slug – Slugrunner - A Docker container that runs Heroku-like slugs produced by slugbuilder.– flynn-dev- Flynn development environment in a VM– strowger -Flynn TCP/HTTP router– shelf - A simple, fast HTTP file service– Sdutil - Service discovery utility for systems based on go-discover– flynn-postgres - Flynn PostgreSQL database appliance– taffy - Taffy pulls repos and deploys them to Flynn

Page 7: Atlanta Docker Meetup - 26June14 - Flynn

DEMO

Page 8: Atlanta Docker Meetup - 26June14 - Flynn

What just happened?

• Push repo to Flynn• Flynn compiles a slug• Hosts the slug on a file server• Launches slug in docker container(s)• Wires routes and starts load balancer

Page 9: Atlanta Docker Meetup - 26June14 - Flynn

The slugrunner

• Obligatory Dockerfile

• Runner executes the slug and registers services

• Heavy Heroku inspiration– Installs java, python, ruby, git

Page 10: Atlanta Docker Meetup - 26June14 - Flynn

Model Cement -> Elmers

Page 11: Atlanta Docker Meetup - 26June14 - Flynn

Rough around the edges

• Difficult to manage remote clusters from CLI• Web interface needs polish and features– Can’t delete apps?

• Scaling across multiple hosts isn’t configurable• Not much fault tolerance

Page 12: Atlanta Docker Meetup - 26June14 - Flynn

Packed with potential

• Small reusable components• Not difficult to imagine Flynn managing

containers rather than “apps”

Page 13: Atlanta Docker Meetup - 26June14 - Flynn

That’s all folks