High Availability Best Practices for AuthStack
AuthStack can be deployed in various ways to support high demand and/or operate with no single points of failure.
Key areas to consider when deploying for high availability
- Hosting across multiple data centres or regions
- Multiple nameservers for DNS resolution, which are not hosted within the same data centre or region (Or Route53 Managed by AWS)
- At least 2 load balancers (Or an HA enabled Elastic Load Balancer)
- At least 2 application servers
The below diagram represents a simple High Availability setup where the database co-exists with the web server(s), running MySQL with Master-Master replication.
The Load Balancers manage traffic for both HTTP(S) and MySQL, operating separate pools.
Route53 DNS active check manages which load balancer is available and automatically routes connections according to the node health status.
The example below uses T2.small instances, but the level of traffic/peak demands will dictate the size required.
Typically, small or medium instance size is enough to handle all but the most demanding requirements, since AuthStack memory footprint is small.
For more advanced setups the following options can be considered:
- AutoScale application server(s)
- Separating the database from the web server and running a standalone database cluster