Orbiter is an open source project written in go hosted on GitHub. It provides autoscaling capabilities in your Docker Swarm Cluster.
As you probably know at the moment autoscaling is not a feature supported natively by Docker Swarm but this is not a problem at all.
Docker Swarm provides a useful API that helps you improving its capabilities.
I created Orbiter months ago as use case with InfluxDB and to allow services to
scale automatically based on signal
down. You can follow the webinar
that I made with InfluDB
This article is not about “How it works”. You can read more here about how it works and you can watch the embedded video that I made in the Docker HQ in San Francisco.
Yesterday we made some very good improvements and we are moving forward to tag the first beta release. I need to say a big thanks to Manuel Bovo. He coded pretty much all the features listed here.
PR #27 Now Orbiter has background job that listen on the Docker Swarm event API and register and de-register new services deployed with right labels. You don’t need to restart orbiter anymore. It detect new services automatically.
PR #29 Fixed the up/down range. Now we can not scale under 1 tasks but we can scale up services with 0 tasks.
PR #31 We have a cooldown
period configurable via label
orbiter.cooldown. This fix avoid multiple
scaling in a short amount of time.
PR #32 We are migrating our API
base root. Now all the API are
/v1/orbiter/...... At the moment we are
supporting old and new routes. In October I will remove the old one. Please
That’s a good question, but I have part of the answer. In October the plan is to release a BETA and finally the first stable version but what we need to do to go there?
That’s it! Share it and give it a try! For any question I am available on twitter (@gianarb) or open an issue.