#29 TIL - Vertical & Horizontal Scaling

X's Dev·2024년 7월 3일
0

TIL

목록 보기
27/38

수직적 확장과 수평적 확장

이번 포스트에서는 네트워크와 관련된 수직적 확장(Vertical Scaling)과 수평적 확장(Horizontal Scaling)에 대해 알아보려 한다.


수직적 확장의 정의

수직적 확장(Vertical Scaling)은 기존의 서버에 더 많은 자원을 추가하여 성능을 향상시키는 방법이다. 예를 들어, CPU, 메모리, 저장 장치를 추가하는 것이 수직적 확장에 해당한다. 이러한 방식은 단일 시스템의 성능을 향상시키는 데 효과적이다.

이미지 출처 - https://www.cloudzero.com/blog/horizontal-vs-vertical-scaling/

수직적 확장의 장점과 단점

수직적 확장의 주요 장점은 관리가 비교적 단순하다는 점이다. 단일 시스템만 관리하면 되기 때문에 설정이나 유지 보수가 용이하다. 또한, 기존 애플리케이션 구조를 크게 변경하지 않고도 성능을 개선할 수 있다.

그러나 한계도 존재한다. 특정 시점에 도달하면 더 이상 자원을 추가할 수 없는 물리적 제한이 있으며, 비용도 기하급수적으로 증가할 수 있다.

수평적 확장의 정의

수평적 확장(Horizontal Scaling)은 더 많은 서버를 추가하여 시스템의 성능을 향상시키는 방법이다. 여러 대의 서버가 협력하여 작업을 분산 처리함으로써 전체 시스템의 처리 능력을 높인다. 이는 클러스터링, 로드 밸런싱 등을 통해 이루어진다.

이미지 출처 - https://www.cloudzero.com/blog/horizontal-vs-vertical-scaling/

수평적 확장의 장점과 단점

수평적 확장의 주요 장점은 확장성이 뛰어나다는 점이다. 필요에 따라 서버를 추가하면 되므로, 물리적 제한이 상대적으로 적다. 또한, 장애 발생 시 특정 서버만 영향을 받으므로 시스템의 가용성이 높아진다.

그러나 관리가 복잡해질 수 있다. 여러 대의 서버를 동기화하고 로드 밸런싱을 적절히 수행해야 하므로, 관리 비용과 기술적 복잡도가 증가할 수 있다.

수직적 확장과 수평적 확장의 선택 기준

수직적 확장과 수평적 확장을 선택할 때는 시스템의 요구 사항과 예산을 고려해야 한다.

단일 서버의 성능을 최대한 활용하고자 할 때는 수직적 확장이 유리하다.

반면, 대규모 트래픽을 처리하고자 할 때는 수평적 확장이 적합하다.

네트워크에서의 확장 전략

네트워크에서의 확장 전략은 서비스의 특성에 따라 달라진다.

예를 들어, 실시간 데이터 처리나 고용량 트래픽 처리를 위해서는 수평적 확장이 적합할 수 있다.
또한, 클라우드 환경에서는 필요에 따라 수직적 확장과 수평적 확장을 혼합하여 사용하는 경우도 많다. 클라우드 서비스 제공업체는 유연한 자원 할당을 통해 효율적인 확장 전략을 제공한다.

이미지 출처 - AWS의 수평적 확장 -https://www.stormit.cloud/blog/scalability-in-cloud-computing-horizontal-vs-vertical-scaling/

수직적 확장과 수평적 확장은 각각의 장단점을 가지고 있으며, 네트워크 환경과 서비스 요구 사항에 따라 적절한 방법을 선택하는 것이 중요하다.

적절한 확장 전략을 통해 시스템의 성능과 가용성을 극대화할 수 있다.

profile
성장 기록하기

0개의 댓글