I know it's kind of going against the idea of Dokku, but can it be made to scale across servers? I love the simplicity of Heroku but the cost can be a barrier for some use cases.
But k8s is too complicated. Anything like Dokku that scales horizontally?
What's another layer of abstraction on top of _Kubernetes_. #yolo
I haven't actually used k8s-backed Dokku, but I imagine that it would be worth at least experimenting with if you're already committed to running stuff on k8s.
If you're looking for a cost-effective alternative to Heroku, might I suggest signing up for my product https://primcloud.com. We're pushing towards public availability by end of February early March at the absolute latest.
I'm a former lover of Heroku and maintainer of Dokku.
I also recommend this path, but I found it really hard to write all of the required Terraform for the VPC, security groups, load balancers, and Fargate configuration.
So I put together an open-source Terraform super-module to automatically set all of that up in a few lines of code.
I'm a pretty big fan of CDK if you are willing to make cloudformation and AWS your lingua franca. I use it for most of my personal projects, but professionally bias towards terraform.
My application is actually pretty bandwidth heavy, which removes AWS and other major cloud operators from the equation.
But I’ll keep it in mind for non bandwidth intensive workloads.
flynn.io was the product I used found when I wanted a little better scalability than Dokku. This was a few years ago when I tried it, so unsure of the current landscape.
I had tried flynn in the past (a few years ago just as you) but couldn't get it to work, but that was with Meteor which has very specific deployment requirements. I'll try out flynn when I need to scale beyond Dokku.
Look at a hosted knative solution, like Google Cloud run or one of many others: https://knative.dev/docs/knative-offerings/ You don't have to know or care about anything Kubernetes with it, but you get ease of just throwing containers at something and having it run them for web-scenarios. They scale up and down to zero so you aren't paying a cost when nothing is happening. And when/if you need it, you have the full power of a kubernetes cluster at your fingertips too.
AWS lambda can run plain old docker containers now too. Check out something like the serverless framework to make it easy to define a bunch of web services or APIs and deploy to lambda, knative, etc.