I've started a thread at Digital Ocean. I want to implement such a system (I could not find any). Any questions, recommendations, "don't invent the wheel" comments?)
Does any DO customer need such a tool?
I am not a DevOps guru, but it seems like an interesting project. AWS costs almost twice more than analogous DO servers, but AWS has way more features.
DO community thread: https://www.digitalocean.com/community/questions/autoscaling-solutions-for-digital-ocean-are-there-existing-solutions
Of course it will be open source.
In the end, we only used it for our sandbox environment, as the production env runs on bare metal (more capacity, cheaper at scale, easier on admin).
So I'd say, from our experience:
- DO's API was quite easy to work with
- consul.io was used as a reliable distributed source of information, for leader elections and health monitoring... Changing the autoscaler configuration in consul.io produced immediate results like starting/stopping new instances... Cool "remote control" effect ;-)
- haproxy/nginx load balancers use consul.io templates to update their configuration
- our autoscaler was HA, through a leader election. The instances managed themselves (no single point of failure). There were at least 2 instances running.
- you should expect a few "surprises" if you're running consul.io on Digital Ocean, heartbeats are delayed quite often (depends on datacenters), which makes failure detection hard
- and of course, we used DO custom images to start new instances