jstol / digital-ocean-autoscaler

πŸ“ˆπŸ’§ An autoscaler for Digital Ocean droplets

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

digital-ocean-autoscaler

A horizontal autoscaler for applications deployed to DigitalOcean. The tool can be used alongside HAProxy to augment its weighted round robin load balancing algorithm. Weights can be dynamically set to redirect requests to the least loaded worker Droplet.

This tool runs a "node manager" process (on the same droplet as HAProxy), with "worker monitor" processes running on app Droplets. Worker monitor processes share CPU load metrics (loadavg) with the node manager, which then in turn adds/removes Droplets as needed (and dynamically sets HAProxy's weights for each of the app server Droplets).

Node managers communicate with worker monitors through a nanomsg SURVEY socket (using the Mangos library).

About

πŸ“ˆπŸ’§ An autoscaler for Digital Ocean droplets


Languages

Language:Go 95.9%Language:Shell 4.1%