| Sounds like a fun project (and totally doable)! :) If I were you, I'd make heavy use of ansible, or something similar, for provisioning: 1) folks are familiar with it
2) could make it cross-platform more easily
3) well, no reinventing the wheel. For example, Ansible has ec2 module http://docs.ansible.com/ansible/ec2_module.html where you describe an instance and the number of them that should be running. So if you have 3 instances running and wish to have 5, it does the magic and spins up new ones. Then, you can add them to a load balancer. Maybe there's something similar for DO already? The way I see it is that it would poll if scaling conditions are met and execute ansible playbooks if they are, and then some web interface to set the conditions / view the scaling logs / current status. It can turn out to be a very entertaining and educational side project :) If you decide to do it, drop me an email - something I would be happy to brainstorm and discuss about :) EDIT: It could also be used not only for autoscaling but also for self-healing. If some instance crashed and is not responding anymore, then spin up a new one. |