From the upcoming release 12.0.51.x Netscaler on AWS supports Backend Servers Autoscaling.
Efficient hosting of applications in a cloud requires continuous optimization of application availability. To meet increasing demand, you have to scale network resources upward. When demand subsides, you need to scale down to avoid the unnecessary cost of idle resources. To minimize the cost of running the application by deploying only as many instances as are necessary during any given period of time, you have to constantly monitor traffic, memory and CPU use, and so on. However, monitoring traffic manually is not a feasible option. For the application environment to be able to scale up or down rapidly, you need to automate the processes of monitoring traffic and of scaling resources up and down whenever necessary.
Netscaler’s Backend Autoscaling Feature will automatically detect the servers in your AWS Autoscaling group and will be load balancing the traffic among these servers. Servers will be added and deleted automatically as per the Auto scaling policy defined by user.
- During High Load cloud watch triggers an alarm and add a new server to Autoscalegroup
- Notification about new server addition is sent via SNS and will be sent to SQS
- SQS push the message to Netscaler updating about New server
- Netscaler adds this new server in the Servicegroup and Load balance the traffic
- Similarly during less load, Netscaler get a notification and will select the server to be deleted.
- Netscaler puts the server in out of service state until the graceful deletion timer is reached(If defined). New connections won’t be served by this server and existing connections will be served till graceful timeout happens
- After graceful timer is reached, Netscaler sends a request to Terminate the backend instance
When you use AWS the Auto Scaling service with a NetScaler VPX instance, your applications gain the following benefits:
- Zero Touch Configuration: During Critical conditions( High load, High cpu etc) defined by user, New servers are added to the Autoscale group. Netscaler automatically detects them and Load balance the traffic among these servers. When the Load is stabilized an alarm is triggered and Netscaler removes the servers which are not needed. All the addition and deletion happens automatically making it a zero touch manual configuration.
- Better load management: By using NetScaler VPX instances on AWS you can take advantage of all the NetScaler Load balancing features to work with AWS Auto Scale Groups. This includes all the Major Protocols like TCP/UDP/HTTP/SSL/Radius/Ldap etc
- Better fault tolerance: Auto Scaling can detect when an instance is unhealthy, terminate it, and launch an instance to replace it. You can also configure Auto Scaling to use multiple Availability Zones within same VPC. If one Availability Zone becomes unavailable, AWS Auto Scaling can launch instances in another one to compensate. Netscaler auto detects these servers and your Traffic will always be up and running.
- Better availability: Auto Scaling can help you ensure that your application always has the right amount of capacity to handle the current traffic demands.
- Better cost management: Auto Scaling can dynamically increase and decrease capacity as needed. Because you pay for the EC2 instances you use, you save money by launching instances when they are actually needed and terminating them when they aren’t needed.
- Graceful Connection Termination: With Netscaler Graceful Timeout feature you can have the deletion of Autoscale servers gracefully avoiding the lost of client connections when scale down event.
- High Availablity: Backend Autoscaling works in Netscaler HA also. Netscaler can be kept High Availablity setup for fault tolerance
- VPC Peering: Using AWS VPC Peering feature, Backend Autoscaling can be achieved between different VPC.