From 0bffde6d94c4148538fbf9d82076bd57e7394c6a Mon Sep 17 00:00:00 2001 From: JJ Date: Tue, 8 Apr 2025 17:58:14 +0100 Subject: first commit --- .../scalability-availability.md | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/certifications/aws-solutions-architect/scalability-availability.md (limited to 'src/certifications/aws-solutions-architect/scalability-availability.md') diff --git a/src/certifications/aws-solutions-architect/scalability-availability.md b/src/certifications/aws-solutions-architect/scalability-availability.md new file mode 100644 index 0000000..4ed4a10 --- /dev/null +++ b/src/certifications/aws-solutions-architect/scalability-availability.md @@ -0,0 +1,31 @@ +## Vertical vs horizontal scalability + +### Vertical + +This means adding more power to existing instance. For example turning EC2 instance from a T2 to a T3 instance - so adding more compute. + +- There are hardware limits to how much this can scale +- Common use case fo non-distributed systems like a database +- RDS and ElastiCache can scale vertically + +> AWS terms: scale up / down + +### Horizontal + +Involves adding more instances for the application. Instead of increasing capacity of existing machines, we add new machines. + +So going from one machine to two machines for the same application is an example of horizontal scaling. + +- Common use case for web apps +- Implies distributed systems + +> AWS terms: scale out / in + +## Availability + +This refers to application uptime. It usually involves running same application across multiple AZs so that if one data centre crashes, your app will be active in another so there is no downtime. + +AWS examples: + +- Auto Scaling Group multi AZ +- Load Balancer multi AZ -- cgit v1.2.3