Questions and Answers
What does scalability mean?
What are the two kinds of scalability?
Vertical scalability and horizontal scalability
What is vertical scalability?
Increasing the size of the instance
What does horizontal scalability imply?
Signup and view all the answers
What does high availability mean?
Signup and view all the answers
What is a Load Balancer?
Signup and view all the answers
Health Checks are crucial for ______.
Signup and view all the answers
What are the types of Load Balancers on AWS?
Signup and view all the answers
What is an Application Load Balancer?
Signup and view all the answers
What is a Network Load Balancer?
Signup and view all the answers
High availability can only be passive.
Signup and view all the answers
Why use a Load Balancer?
Signup and view all the answers
What is an Elastic Load Balancer?
Signup and view all the answers
Study Notes
Scalability & High Availability
- Scalability allows systems to accommodate increased loads by adapting.
- Two types of scalability: vertical (increasing instance size) and horizontal (increasing the number of instances).
- High availability is related to scalability, designed to ensure system resilience and uptime.
Vertical Scalability
- Involves upgrading the size of an existing instance, e.g., moving from t2.micro to t2.large.
- Common in non-distributed systems, especially databases.
- Services such as RDS and ElastiCache can scale vertically, but there are hardware limits.
Horizontal Scalability
- Involves adding more instances to distribute load across multiple systems.
- Essential for modern, distributed web applications.
- Cloud services like Amazon EC2 facilitate horizontal scaling.
High Availability
- Achieved by deploying applications across multiple data centers (Availability Zones).
- Ensures continuity in case of data center failures.
- Can be passive (e.g., RDS Multi-AZ) or active (facilitated by horizontal scaling).
High Availability & Scalability for EC2
- Vertical scaling involves increasing instance size from small (e.g., t2.nano) to large (e.g., u-1 metal).
- Horizontal scaling is achieved through auto-scaling groups and load balancing.
- High availability utilizes multiple AZs for instance distribution and load balancing.
Load Balancing
- Load balancers distribute traffic to multiple downstream servers (EC2 instances).
- Designed to manage traffic efficiently and ensure uptime.
Why Use a Load Balancer?
- Distributes traffic across multiple instances for reliability.
- Provides a single access point (DNS) for applications.
- Conducts health checks to monitor the status of instances.
- Offers SSL termination and cookie-based session stickiness.
- Enhances availability across various zones while segmenting public and private traffic.
Why Use an Elastic Load Balancer?
- Managed service with guaranteed reliability from AWS.
- AWS handles upgrades, maintenance, and ensures high availability.
- Simplifies configuration compared to self-managed load balancers.
- Integrated with many AWS services (e.g., EC2, Auto Scaling, ACM, CloudWatch).
Health Checks
- Critical for load balancers to assess instance availability.
- Typically conducted on a specific port and route (e.g., /health).
- Instances failing to return a 200 OK response are marked unhealthy.
Types of Load Balancers on AWS
- Classic Load Balancer (CLB): Older generation; supports HTTP, HTTPS, TCP, and SSL.
- Application Load Balancer (ALB): Newer, supports HTTP/HTTPS, WebSocket, and advanced routing.
- Network Load Balancer (NLB): Optimized for TCP/UDP traffic, low latency and high throughput.
- Gateway Load Balancer (GWLB): Operates at Layer 3, designed for IP protocols.
- Newer generation load balancers are recommended for more features and flexibility.
Application Load Balancer (v2)
- Operates at Layer 7 (HTTP), supporting multiple HTTP applications and microservices.
- Allows for routing between different applications and containers.
- Features include HTTP/2 support and the ability to redirect traffic (e.g., HTTP to HTTPS).
Network Load Balancer (v2)
- Functions at Layer 4, focusing on TCP and UDP traffic.
- Capable of handling millions of requests per second with minimal latency (100ms).
Session Affinity
- Stickiness can be configured to ensure that requests from the same client are routed to the same instance, enhancing user experience and session management.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
This quiz covers key concepts from AWS Section 8, focusing on High Availability and Scalability, including the principles of Elastic Load Balancing (ELB) and Auto Scaling Groups (ASG). Each card provides definitions and examples to solidify your understanding of these critical cloud computing concepts.