| You definitely can't make complex things simple just by removing features. What we did, instead, was built low level primitives, then built opinionated PaaS-like magic on top of those. If you're running a Phoenix app, `fly launch` gets you going, then `fly deploy` gets you updated. If you want to skip the PaaS layer and do something more intense, you can use our Machines API (or use Terraform to power it) and run basically anything you want: https://fly.io/docs/reference/machines/ We are very, very different than k8s. In some ways, we're lower level with more powerful primitives. We probably won't build an AWS clone. I don't think devs want that. I also don't think devs want a constrained PaaS that only works for specific kinds of apps. I think want devs want is an easy way to deploy a boring apps right now, and underlying infrastructure they can use to solve bigger problems over time. |
I also don't want to set up my own log aggregator, grafana, and prometheus/alert manager, but for a quick "show everyone your app", I don't need those. I can add that harder crap later when the app shows promise and I actually need to debug performance.