An Application Load Balancer, or ALB, is different from a CLB as it allows you to have one LB for multiple applications rather than needing a different LB for each one. It operates on layer 7 and traffic can be divided based on target groups which can either be a set of instances, a set of IPs, or lambda which I will get into in a future post, as well as custom rules bases on the URL and path. ALB supports HTTP and websocket. When you create your load balancer you will likely need to manually update the security group on your instance to block http traffic from everywhere except the load balancer, in order to ensure that the load balancer is used properly. Once it is created you can create your rules based on IP, URL, path, etc. The real selling point of the ALB is the ability to create rules around URL, you can have a different target group if the URL is different. If you have the user enter http://ALB_DNS_NAME then perhaps they go directly to the web page being utilized by your EC2 instance. If they attempt to connect to http://ALB_DNS_NAME/error, you can have it forward to another security group or even return a specific code and preprepared message. You could have it setup so that /search and /info take you to different target groups, allowing you to balance the load even down to specific web page. In short, the ALB allows you to easily and efficiently balance traffic to your application with a variety of options for content-based load balancing. I will get more into the containers and how ALB can be helpful there in a later post.