Autoscaling and High Availability

Autoscaling Configuration

Enterprise listens to all interfaces on ports as specified above (8120 by default, optionally 8120 through 8120+number of cores) to facilitate sending all traffic from a load balancer (that terminates TLS) such as an ELB or HA Proxy server, while Pro listens to localhost only.

Remember to configure Redis on a separate host (replicated and Elasticache work well) using the HA/Redis tab of the admin dashboard.

Multi-core Startup Script

Run a single instance of Userify for each processing core on each node:

#! /bin/bash

# Userify multi-core startup script

# adjust number of cores as appropriate
numcores=$(grep processor /proc/cpuinfo |wc -l)

for port in $(seq 8120 $((numcores+8119)))

    (while true

        echo "Starting Userify on $port and sending output to syslog."
        sudo "$SERVER_COMMAND" server $port | \
            logger --priority --tag userify-server 2>&1

        # when the server exits, sleep 3 seconds before restarting
        sleep 3

    done) &

    # slow down startup between each core
    sleep 10

echo "Be sure to add proxy_pass statements for ports shown above."

Expert configuration and installation support available at