Orbiter the Docker Swarm autoscaler on the road to BETA-1

09 Aug 2017 · Two minute read · on Gianluca's blog

News! Tech related notes are NOW published to ShippingBytes. See you there! I always felt this was not the right place for me to write consistently about tech and tools. So if you want to read more about that see you at the other side

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 up or down. You can follow the webinar that I made with InfluDB here.

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.

  1. PR #26 e2e working example. Please try it.

  2. 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.

  3. PR #29 Fixed the up/down range. Now we can not scale under 1 tasks but we can scale up services with 0 tasks.

  4. PR #31 We have a cooldown period configurable via label orbiter.cooldown. This fix avoid multiple scaling in a short amount of time.

  5. 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 migrate to /v1/orbiter/.... now!.

Now?

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.

Something weird with this website? Let me know.