Build your own PAAS with Flynn
Jonathan Manuzak
@jonmanuzak
Docker is great…
… but normal people need glue.
Pain-relief As A Service?
The Project
• A modular, open-source PAAS
• Based on Jeff Lindsay’s Dokku
– ‘The smallest PAAS implementation you’ve ever
...
The People
Jonathan Rudenberg Daniel Siders Jeff Lindsay
The Tech
• A lot of Go goodness
• Service discovery is a core component
• CLI means happy devs and ops teams
• Can run per...
The Tech
• Layer 0
– flynn-host - The Flynn host service
– discoverd - The Flynn service discovery system
• Layer 1
– flyn...
DEMO
What just happened?
• Push repo to Flynn
• Flynn compiles a slug
• Hosts the slug on a file server
• Launches slug in dock...
The slugrunner
• Obligatory Dockerfile
• Runner executes the slug and registers
services
• Heavy Heroku inspiration
– Inst...
Model Cement -> Elmers
Rough around the edges
• Difficult to manage remote clusters from CLI
• Web interface needs polish and features
– Can’t de...
Packed with potential
• Small reusable components
• Not difficult to imagine Flynn managing
containers rather than “apps”
That’s all folks
Upcoming SlideShare
Loading in …5
×

Atlanta Docker Meetup - 26June14 - Flynn

547 views

Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Atlanta Docker Meetup - 26June14 - Flynn

  1. 1. Build your own PAAS with Flynn Jonathan Manuzak @jonmanuzak
  2. 2. Docker is great… … but normal people need glue. Pain-relief As A Service?
  3. 3. 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
  4. 4. The People Jonathan Rudenberg Daniel Siders Jeff Lindsay
  5. 5. 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
  6. 6. 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
  7. 7. DEMO
  8. 8. 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
  9. 9. The slugrunner • Obligatory Dockerfile • Runner executes the slug and registers services • Heavy Heroku inspiration – Installs java, python, ruby, git
  10. 10. Model Cement -> Elmers
  11. 11. 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
  12. 12. Packed with potential • Small reusable components • Not difficult to imagine Flynn managing containers rather than “apps”
  13. 13. That’s all folks

×