How Auto Scaling and Elastic Load Balancing can help in Designing Fault Tolerant Systems
What is Auto Scaling
Auto scaling feature enables to automatically increase or decrease the number of EC2 instances depending on the load or other factors. Usually autos scaling done with the help of Cloud watch. When any threshold such as CPU usage breaches the predefined limit, Cloud watch alarm is triggered. This can help in terminating problematic instance and launch new instance.Auto Scaling feature can be configured to recognize many symptoms of impaired application or detect failures and based on those launch new EC2 instances.
What is Elastic Load Balancing ELB
The purpose of ELB is to balance the load across different EC2 instances. EC2 instances which are managed by ELB could be within same Availability Zone (AZ) within same or different subnets or across different AZs also. ELB ensures that the load is spread across the EC2 instance evenly or proportionately decreasing the chances of excessive load on a particular EC2 instance.Often ELB and Auto scaling is used in tandem to create a fault tolerant system. When traffic comes to the ELB it is distributed across healthy EC2 instances. When any EC2 instance becomes unhealthy ELB stops sending traffic to that instance. When a new instance is created with the help of auto scalling ELB starts sending traffic to the new instance.
One limitation of if ELB is that it is regional service and it can't be used across regions.
References
Auto ScalingElastic Load Balancer
Load Balancing with AMI and Elastic Block Storage
Comments
Post a Comment