Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Best way to auto scale
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Best way to auto scale

Hello everyone!

I have an idea, and I want to run it past you guys before I pursue it. I have a digital ocean account and I want to use that to build an auto scaling platform. I was thinking of having a small node monitoring all the other nodes(which are behind a load balancer) and when the server load average across all the servers reaches a certain threshold spins up another machine... It would work the same way when there is not much of a load on the network to scale back down.

First off, what's getting me is all of the web servers need to be running the same version of my application when they spin up.

Second off, when I update my application, all running servers need to update as well.

Third thing, all of the web servers need to be configured and launched with my web application installed within 5 minutes of the digital ocean api call.

Any suggestions?

Comments

  • SilvengaSilvenga Member
    edited March 2015

    Throwing out random ideas here:

    Salt Cloud with Salt States (they have a DO cloud module): http://docs.saltstack.com/en/latest/topics/cloud/

    I bet you could even configure the Salt minions to detect when it needs to scale and do it automatically.

    EDIT: https://www.digitalocean.com/community/tutorials/automated-provisioning-of-digitalocean-cloud-servers-with-salt-cloud-on-ubuntu-12-04

  • edited March 2015

    @gmathis96 said:
    Hello everyone!

    I have an idea, and I want to run it past you guys before I pursue it. I have a digital ocean account and I want to use that to build an auto scaling platform. I was thinking of having a small node monitoring all the other nodes(which are behind a load balancer) and when the server load average across all the servers reaches a certain threshold spins up another machine... It would work the same way when there is not much of a load on the network to scale back down.

    First off, what's getting me is all of the web servers need to be running the same version of my application when they spin up.

    Second off, when I update my application, all running servers need to update as well.

    Third thing, all of the web servers need to be configured and launched with my web application installed within 5 minutes of the digital ocean api call.

    Any suggestions?

    Salt supports this, see http://docs.saltstack.com/en/latest/topics/cloud/digitalocean.html

    You just need to setup something like haproxy to load balance the apps. You also need to share data across the apps, depending on what your app does

    Monitor the server load on each server. When the load reaches a certain point, get salt to spin up a new VM for you. Salt can handle adding the server to the list of haproxy backends as well. Once load is back down over X minutes, spin the VM back down.

    If you need help, feel free to send me a PM.

    Thanked by 1gmathis96
Sign In or Register to comment.