| Ultimately I'd say Cloud Foundry solves the problem but requires a lot of "support" VMs to make it work such that it might be overkill for your situation. For example: - What underlying OS? CF provides a minimal Ubuntu Linux "stemcell" and then has a standard "rootfs" for Linux containers - a Python buildpack to assemble the container on top of this OS for your Flask server - a built-in proxy/LB so you don't need one, if you want a static web server there's a static buildpack for Nginx - an on demand MariaDB Galera cluster for your database if you want HA; PostgreSQL is there too but non-HA I think - A standard environment variable based service marketplace & discovery system for connecting the containers to each other or to the database - high availability (with load balancer awareness) for your containers at the container, VM or rack level - reliable log aggregation of your containers (which you can divert to a syslog server). As I said the only trouble is when you want to make this "bulletproof" is that there are a dozen "support VMs" are all there to make your app bulletproof and secure, e.g. an OAuth2 server, the load balancer, an etcd cluster, Consul cluster, and the log aggregator, etc. So it's overkill for one app, but good if you have several apps. For single tenants and experimental apps, there's http://lattice.cf which runs on 3 or 4 VMs and is a subset of the above, but not what I'd call "production ready". |