Elastic Load Balancing & Auto Scaling Groups Flashcards
What does scalability mean?
An application / system can handle greater loads by adapting
What are the 2 kinds of sclability?
- Vertical Scalability
2. Horizontal Scalability (= elasticity)
Is scalability the same as high availability?
No, but they are linked
What is vertical scalability?
Means increasing / decreasing the size of the instance. There is usually a limit.
What is horizontal scalability?
Means increasing / decreasing the number of instances / systems for your application. Implies distributed systems and is very common for web applications
What is high availability?
Means running your application / system in at least 2 AZs.
What is the goal of high availability?
To survive a data center loss (disaster)
High availability goes hand in hand with what type of scaling?
Horizontal
Scalability vs Elasticity?
Scalability: ability to accommodate a larger load by making the hardware stronger (scale up), or by adding nodes (scale out)
Elasticity: once a system is scalable, elasticity means that there will be some ‘auto-scaling’ so that the system can scale based on the load. This is ‘cloud-friendly’: pay-per-use, match demand, optimize costs
What is agility?
Means new IT resources are only a click away, which means that you reduce the time to make those resources available to your developers from weeks to just minutes
Is agility related to scalability?
No
What is load balancers?
Servers that forward internet traffic to multiple servers (EC2 instances) downstream
Why use a load balancer?
- Spread load across multiple downstream instances
- Expose a single point of access (DNS) to your application
- Seamlessly handle failures of downstream instances
- Do regular health checks on your instances
- Provide SSL termination (HTTPS) for your websites
- High availability across zones
Why use an Elastic load balancer?
It is a managed load balancer.
- AWS guarantees that it will be working
- AWS takes care of upgrades, maintenance, high availability
- AWS provides only a few configuration knobs
Why not create your own load balancer instead of using one from AWS?
It costs less to setup your own load balancer but it will be a lot more effort on your end (maintenance, integrations)