The best part about open source for application delivery is the sheer breadth of tooling available to create and deploy apps. That's also the worst part.
Flynn, an open source platform-as-a-service now entering its 1.0 phase, deploys apps on an open source infrastructure without requiring the user to stitch together a disparate line of components to be useful.
It's also friendly to the user's existing choices and respects the user's preferences for how apps are put into production.
No assembly required
After three years in development, Flynn 1.0 is available either wth paid support (starting at $1,499 a month) or as an open source, community-supported project that can be deployed on most any popular cloud provider or server cluster.
Apps can be deployed either by Docker containers or as Heroku buildpacks (including "multi" buildpacks) deployed with
git push. No additional installs are needed; Flynn has its own pieces for dealing with buildpacks and accepting Docker images. Runtimes for Go, Java, Node.js, PHP, Python, and Ruby are all included.
Because apps aren't much use without data, Flynn also supports several major databases. MySQL (by way of MariaDB 10.1), PostgreSQL 9.5, MongoDB 3.2, and Redis 3.0 can all be provisioned for an app by typing
flynn resource add <database_name>.
Flynn also provides basic high-level management commands for databases, such as dumping and restoring data, but for now, more sophisticated management is left to the user.
Flynn tries to provide a lot of functionality across the board, even if only in a basic manner. It includes built-in support for scheduling and clustering, for load balancing incoming requests (such as for a web app), for exporting/importing individual apps between Flynn instances, and for performing basic per-cluster backup/restore.
Some batteries not included
One possible obstacle for would-be Flynn adopters: It doesn't leverage some of the app-delivery technology that's sprung up since its creation.
Kubernetes, for instance, isn't used in Flynn, simply because it didn't exist when Flynn was first created; instead, Flynn has its own scheduler. Jonathan Rudenberg, a co-founder of Flynn, noted in a Hacker News thread that supporting Kubernetes "will make sense at some point in the future," but that the effort involved to do so wouldn't be trivial.
Another limitation is tied to Flynn's support for databases. According to Flynn's documentation, its creators "do not recommend using the built-in database appliances for databases with high write volume or a large amount of data as they are not yet optimized for demanding use cases."
Still, Flynn's developers have ambitions to move forward quickly. The project has an aggressive release cycle, with stable updates delivered on the third Tuesday of each month and unstable releases produced nightly.
[An earlier version of this article stated that hosted services were available from Flynn starting at $1,499 per month. The figure quoted was for professional support, not hosting.]