Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS Autoscaling and Elastic load balancing

For my application I am using auto scaling, without using elastic load balancing, is there any performance issue for directly using Auto scaling without ELB?

like image 472
Adi Avatar asked Dec 08 '11 04:12

Adi


2 Answers

Adi, David is right. Autoscaling allows you to scale instances (based on cloudwatch metrics, a single event, or on a recurring schedule).

Suppose you have three instances running (scaled with Autoscaling): how is traffic going to reach them? You need to implement a Load Balancing somewhere, that's why Elastic Load Balancing is so useful.

Without that, your traffic can only be directed in a poorly-engineered manner.

See Slide #5 of this presentation on slideshare, to get a sense of the architecture: http://www.slideshare.net/harishganesan/scale-new-business-peaks-with-auto-scaling

Best,

like image 177
Simone Brunozzi Avatar answered Sep 23 '22 17:09

Simone Brunozzi


Autoscaling determines, based on some measurement (CPU load is a common measurement), whether or not to increase/decrease the number of instances running.

Load balancing relates to how you distribute traffic to your instances based on domain name lookup, etc. Somewhere you must have knowledge of which IP addresses are those currently assigned to the instances that the autoscaling creates.

You can have multiple IP address entries for A records in the DNS settings and machines will be allocated in a roughly round-robin fashion from that pool. But, keeping the pool up to date in real-time is hard.

The load balancer gives you an easy mechanism to provide a single interface/IP address to the outside world and it has knowledge of which instances it is load balancing in real time.

If you are using autoscaling, unless you are going to create a fairly complex monitoring and DNS updating system, you can reasonably assume that you must use a load balancer as well.

like image 40
Thomas the Tank Engine Avatar answered Sep 23 '22 17:09

Thomas the Tank Engine