6

I just finished setting up a Dokku-based infrastructure, but i'm curious about how to scale it. I followed this tutorial by Digital Ocean, but there's not mention of HA or scalability.

Is it possible to load balance dokku instances? How to provide HA for this kind of docker-based infrastructure? Should i use Deis instead, or wait for Flynn to get release? Do you guys recommend any good books on this topic?

  • How complex does the load balancing need to be here? Can it simply be IP and port based balancing for load purposes, or is there additional logic that needs to be applied? – theterribletrivium Oct 27 '14 at 22:48
3

Update for 2019:

Hephy Workflow is a fork of Deis Workflow. This is likely the most logical answer to the question at the time of this edit.

Deis is no longer a valid answer (and hasn't been for a very long time). Deis was deprecated in favor of a newer platform called Deis Workflow, which was a PaaS similar to Deis built upon Kubernetes. But Deis Workflow has also been deprecated.

In addition to Hephy there is also Flynn. But I don't know the status of that project. The links are dead. But I'll leave the original answer below.


Dokku is actually partnering up with OpDemand and Deis to help provide a clear upgrade path to those who want multi-host (and vice versa). See http://deis.io/deis-sponsors-dokku/ and http://progrium.com/blog/2014/10/28/deis-breathes-new-life-into-dokku/.

Deis will give you:

  • A number of routers to load balance your instances.
  • Commands to scale the instances (much like Heroku).
  • An architecture that requires you to run on 3 or more hosts, gaining you some fault tolerance and high availability out of the box.

So to answer the question, the more "official" way will soon be to setup and use Deis when coming from a Dokku world.

  • 1
    Is this still relevant? – mike james Jul 26 '16 at 11:25
  • Both links are dead – kbuilds Mar 27 at 18:17
  • Unfortunately, this answer is no longer relevant. Original Deis is dead. It became Deis Workflow which was a PaaS built upon Kubernetes. But Deis Workflow is also dead. I'll edit the answer to clarify. It's too bad we can't remove the checkmark from accepted answers as this isn't a valid answer any longer. – Andy Shinn Mar 27 at 19:17
4

Dokku maintainer here.

Providing a custom scheduler - like what software such as Flynn or Nanobox provide - is unlikely to happen. Instead, we are going to support integrating with existing solutions such as ECS, Kubernetes, and Nomad. At the moment, we have a few HA options under development which utilize the plugin architecture to provide alternative schedulers for Dokku.

Both methods currently work, though which you choose and how you integrate them with your infrastructure depends on what your needs are. Feel free to join us on Slack/IRC to help guide future development of each integration.


Aside, the Deis support provided to Dokku was fairly minimal, and mostly went to shared tooling (herokuish and some of the app building aspects). There were no other ties between the two projects, and no existing ties between Dokku and Hephy Workflow (though we wish the project well!). We encourage folks to use the best solution to their problems, whether thats Dokku, Flynn, Deis, Heroku, or any other platform.

3

Dokku (as stated in the docs) doesn't do:

  • Multi-host. Not a huge leap, but this isn't the project for it. Have a look at Deis.
  • Multitenancy. It's ready for it, but again, have a look at Deis.
  • Client app. Given the constraints, running commands remotely via SSH is fine.

You might want to look at other multi host solutions for scaling dokku:

Or build it yourself using CoreOs

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.