Here is the second part:
I know your next question will be "hey, you are mixing Autoscaling & ELB, aren't you?" I will say no. From what I understand, the main difference is only comes with word SCALING. Here is how:
1. In ELB,
If I will continue after this topic, it will be overdose for you ! It would be better that I should stop here: https://goo.gl/peHgvT
Krishna is a versatile developer who always like to try out and break down new things. Is it good idea that he should play on the machine which is having critical data on its hard Disk? [People for whom Data is God will understand this]. Should he stop trying? NO! Similar concept that we could see in Virtualbox. The operating system that we run under it; same thing,here, is the Image. Technically, Virtual Machine Image. Benefit of this, you can try and deploy as many different flavors of operating systems as you want permissible by Your Physical hard disk space on which your image resides physically.
Raghav's business is going vast day by day and he also finds it hard to search skilled DBA in such a short duration of time where customer demand is on fire. He himself knows very well MySQL only. So is there any escape? YES! Cloud Provides web service which manipulates a database management. It is used for managing and operating traditional databases so that it will easier to manage customer along with above discussed services.
Govind is a sysadmin who has setup cloud very enthusiastically but after that he is not getting single minute down to relax in working hours. Why? Due to calls from his boss why I am not able to launch the instance? He is not getting how to handle this issue until he is familiar with metrics gathering: Billing and Logging. Now what is this? Using this service, one who manages the cloud able to see the resource usage and from that he is able to set rules or parameters for management of future instances. Now, Govind has analysed and gather data of this week and he has applied policies & alarms so that fellow users are getting only they need; not they want ! His Boss [& his head] is also happy now.
Keshav is managing the server which is under very heavy traffic in maximum duration of day. If somehow it fails, it also leads to his termination from his job. As human, one can't resist nor deny any chances of load based failures. What should he do now? Here, the LB comes into picture. This service is used whenever load on the system will increase beyond certain capacity, the another copy of the same machine will automatically boot to handle that load without bringing preceding one. It helps to reroutes traffic from failed to running instances & restores traffic from running to restored instance (failed instance running again) and first line of defense in network [AWS Docs].
Madhav is big data analyst at 123@company. He always has to play with 1TB or more data in his daily life. What if at random instance of time, the load increase on the machine and he is not able to provide analytics? Should he resign? Nope ! Instead, he must use Autoscaling. It is designed to manage load on the machines in cloud so that whenever such scenario will occur there will new instances start running to handle the load and as soon as the load decreased, the instances will be automatically terminated.
1. In ELB,
You can only route & reroute traffic from One instance to other instance checking its state of health. It does not deal with number [horizontal scale] of instance or size [vertical scale] of instance. Just add running instance, irrespective of its resources.
You can do the both scaling types; either alone or both.
2. Simple words, Autoscaling provides "What" resources to manage the load while ELB provides "How" the load will be reached to the particular resource in well designed engineering manner.