Domain 2: Reliability and Business Continuity Flashcards
Elasticity
.It´s the way the application grows automatically on-demand, for example: when we have an e-commerce application which receive too much access during the Black Friday.
.During high traffic, AWS automatically increases resources (such as EC2 instances or containers) to maintain performance.
.When traffic drops, it automatically reduces those resources, helping to avoid unnecessary costs.
.Elasticity = automatically scaling up or down based on demand.
Scalability
Scalability is the ability of a system to grow (or shrink) to handle changes in workload. Unlike elasticity, scalability can be manual or automatic, and it comes in two types:
🔹 Vertical Scaling:
Increasing or decreasing the power of a single machine (e.g., moving from a t3.micro to a t3.large instance).
🔹 Horizontal Scaling:
Adding or removing multiple instances to distribute the workload (e.g., going from 2 to 5 servers working in parallel).
Auto Scaling
1) Scaling Plans: A set of directions for scaling your resources.
2) Dynamic Scaling: Is best for unpredictable or fluctuating traffic patterns. It’s adjusted based on current metrics and thresholds.
3) Predictive Scaling:
Predictive Scaling uses machine learning to analyze historical usage patterns and predict future traffic, allowing AWS to scale resources in advance.
Vertical Scaling
. Increase the machine or system capacity by upgrading its disk, memory, storage, cpu, to be able to handle the load of the application.
Horizontal Scaling
. Adding instances or nodes, adding load balancers, using auto scaling groups, making the application multi-AZ.
Amazon Aurora
Comes in two flavors: Aurora and Aurora Serverless.
Redundancy: Two copies of our data are contained in three separate availabilty zones, with a total of six copies.
Storage is Self-Healing: Data blocks and disks are continuously scanned for errors and automatically repaired.
Aurora Auto Scaling Options
Aurora Auto Scaling: Scales Aurora replicas only. It works with target tracked scaling, which average cpu utilization of replicas, average number of connections to replicas.
. We can define the desired threshold, for example, 80% average CPU utilization, or 5.000 average connections, it adjusts the number of replicas based on the workload and desires values.