2020. 2. 2. 17:28ㆍ스터디/AWS Study
Scalability means that an application / system can handle greater loads by adapting
There are two kinds of scalability:
a) Vertical Scalability
b) Horizontal Scalability (= elasticity)
Scalability is linked but different to High Availability
Vertical Scalability
It means increasing the size of the instance
For example, your application runs on a t2.micro
Scaling that application vertically means running it on a t2.large
Vertical scalability is very common for non distributed system, such as a database
RDS, ElastiCache are services that can scale vertically
There's usually a limit to how much you can vertically scale (hardware limit)
Horizontal Scalability
it means increasing the number of instances / systems for your application
Horizontal scaling implies distributed systems
This is very common for web applications / modern applications
It's easy to horizontally scale thanks the cloud offering such as Amazon EC2
High Availability
it usually goes hand in hand with horizontal scaling
it means running your application / system in a least 2 data center (== Availablity Zones)
The goal of high availability is to survive a data center loss
The high availability can be passive (for RDS Multi AZ for example)
The high availability can be active (for horizontal scaling)
High Availablity & Scalability For EC2
Vertical Scaling: Increase instance size (=scale up / down)
a) From:t2.nano - 0.5G of RAM, 1 vCPU
b) To: u-l2tbl.metal -12.3TB of RAM, 448 vCPUs
Horizontal Scaling: Increase number of instances (=scale out / in)
a) Auto Scaling Group
b) Load Balancer
High Availability: Run instances for the same application across multi AZ
a) Auto Scaling Group multi AZ
b) Load Balancer multi AZ
'스터디 > AWS Study' 카테고리의 다른 글
Load Balancer Stickiness (0) | 2020.02.05 |
---|---|
Load Balancing (0) | 2020.02.02 |
EC2 for Solutions Architects (0) | 2020.02.02 |
EC2 AMI (0) | 2020.02.02 |
EC2 Instance Launch Types (0) | 2020.02.02 |