Summary and Quiz

Get a refresher of what you’ve learned in the “High Availability and Scalability” section, and take a short quiz to validate your knowledge.

In this lesson, we’ll summarize what we’ve learned so far in this chapter and test our knowledge with a short quiz.

Summary

In this chapter, we learned about components and services related to scaling and managing applications in the AWS cloud environment. Here’s a summary of the most important key takeaways from this chapter:

Horizontal vs. vertical scalability

Generally, there are two ways of handling more work: horizontal scalability (adding more machines) and vertical scalability. For either, AWS provides us a way: EC2 Auto Scaling for adding more machines and changing types of EC2 instances to be more powerful.

Elastic load balancers

ELBs are used to distribute incoming traffic across various targets. This can be EC2 instances, IP addresses, Lambda functions, etc. There are three main components of an ELB:

  • Load balancers: These are the components responsible for distributing incoming traffic across available targets in one or more Availability Zones.

  • Listeners: This component defines rules that help the load balancer determine how traffic is distributed across targets.

  • Target groups: This represents a collection of targets to which our load balancer sends requests. Health checks are created in target groups to monitor our targets and ensure they are fit to receive client requests.

AWS supports three different types of Elastic Load Balancers:

  • Application Load Balancers: ALBs work on the application layer (the seventh layer of the OSI model) and handle HTTP/HTTPS requests.

  • Network Load Balancer: NLB operates on the transport layer, the fourth layer of the OSI model, and is used to distribute incoming TCP and UDP traffic across multiple targets.

  • Gateway Load Balancers: GLB operate on the network layer, the third layer of the OSI model, and allow us to maintain, scale, and deploy third-party virtual appliances such as intrusion detection systems.

Cross-zone load balancing

Through cross-zone balancing, load balancer nodes can distribute incoming traffic evenly to all healthy targets, in all AZs. If cross-zone load balancing is disabled, load balancer nodes can only send traffic to targets within their respective AZs. Through this feature, we can increase the availability and scalability of our application by ensuring incoming traffic is evenly distributed across all healthy targets.

ELB sticky sessions

Some applications require session cookies on the server side. Using sticky sessions, we can ensure that a client is serviced by the same instance for any follow-up requests. This provides a consistent service experience.

SSL certificates and SSL offload

SSL offload takes over the task of encryption and decryption from the application to provide secure communication between the clients and the ELB.

Launch templates

We also discussed how EC2 launch templates help set up new machines in the Auto Scaling groups. The launch templates give control and options to keep things running as they scale.

Auto Scaling groups

ASGs are very useful, as they ensure that our app can handle a lot more or a lot fewer visitors without breaking a sweat. The number of machines running our app is automatically taken up or down according to the session policies.

  • Scaling policies define the rules in ASGs for scaling in and out. This can be based on the CPU utilization.

  • Lifecycle hooks can pause and perform certain important chores before or after the machines start or stop.

Test your knowledge

Take a short quiz to validate your knowledge and to make sure you haven't missed out on anything:

Get hands-on with 1200+ tech skills courses.