Flynn.io is one of the most popular and powerful open source Docker PaaS solutions around. Flynn believes that ops should be a product team, not consultants. Flynn is the single platform that ops can provide to developers to power production, testing, and development, freeing developers to focus.
This week we talk to one of the creators of Flynn, Jonathan Rudenberg. Jonathan is a super smart guy who used to work at Shopify and has brings his experience with large distributed systems into Flynn.
Jonathan Rudenberg, Flynn.io Creator
Besides being one of the cofounders of Flynn, Jonathan is a developer, security consultant and researcher. He is also one of the Tent Protocol architects. Besides working on the future of Docker-oriented PaaS', Jonathan occasionally posts on his blog, Titanous.com.
Tell us about Flynn and who should use it?
Flynn is an open source PaaS built from pluggable components that you can mix and match however you want. Out of the box, it looks a lot like Heroku (with git push functionality), but you can replace pieces and put whatever you need into Flynn.
What are those components?
flynn-host The Flynn host service
discoverd The Flynn service discovery system
flynn-controller The Flynn Controller for the management of applications running on Flynn via an HTTP API
flynn-bootstrap Bootstraps Flynn Layer 1
gitreceived An SSH server made specifically for accepting git pushes that will trigger an auth script and then a receiver script to handle the push. (This is a more advanced, standalone version of gitreceive.)
flynn-cli Command-line Flynn HTTP API client
flynn-receive Flynn’s git deployer
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
taffy Taffy pulls repos and deploys them to Flynn
Why not just run your own Docker?
Docker is great for running containers on single servers, but not great at running distributed apps on many servers. Flynn helps you do that better.
How is Flynn different from other PaaS like Heroku, Cloud Foundry, Deis or Dokku?
Many PaaS technologies mainly focus on scaling a stateless app tier. They may run one or two persistent services for you, but for the most part you are on your own to figure that part out. Flynn is really trying to solve the state problems, which is pretty unique.
How is Flynn different from CoreOS?
We use etcd from CoreOS in Flynn. Flynn can run on CoreOS, but CoreOS is essentially just a Linux distribution whereas Flynn is a PaaS
How easy is it to get Flynn setup?
You can deploy a Flynn cluster with a simple tool we built here: https://flynn.cupcake.io/. There is also a Vagrant VM and you can bootstrap it yourself on your own environment.
How does Flynn handle database services?
Flynn managed database services for you. Right now we only have Postgres support, but our goal is to have Flynn help you run the database services so you don't have to.
How does Flynn manage the disk volumes and filesystem management?
Application filesystems are currently ephemeral still, but we are looking into solutions in the future that could provide persistent filesystems for app instances.
Does Flynn interact well with CI/CD like Shippable and Drone?
Although there is currently not a direct tie in, you could build a CI tool on top of Flynn.
What isn’t good about Flynn yet?
It is very much not production ready. We are focusing on improving the production readiness of Flynn, but right now there are a lot of rough edges and a lot of bugs. The general timeline on 1.0 is around early Fall 2014.
Can you explain pinkerton to our audience?
Pinkerton is a tool for manipulating Docker images outside of Docker.
What does the future of Linux Containers look like?
Containers have been around a long time, but still aren't perfect yet. They don't provide as much security isolation as a VM, which means containers are not ready for multi-tenant environments yet.
What’s next for Flynn?
The goal of Flynn is to change operations from a consulting team that goes off and writes Chef scripts for people to an actual product team that runs the platform that enables engineers. To enable something like IT-as-a-Service.