💡 서버 확장 전략
서버를 운영하다보면 사용자가 늘어남에 따라서 트래픽에 한계에 도달하고 이를 해결하기 위해 서버를 확장하고자 한다.
서버를 확장하기 위한 크게 스케일 업(Scale-UP)과 스케일 아웃(Scale-OUT)이 있다.
📌 스케일 업(Scale-up)
기존 하나의 서버의 사양을 업그레이드하여 시스템을 확장하는 것을 말한다.
CPU 또는RAM(memory) 등을추가하거나 고성능 부품으로 교체하는 방법이다.
간단하게 말하면, 물리적 장비 교체이다.
이처럼 하나의 서버의 사양을 업그레이드 하기 때문에 수직 스케일로 불리기도 한다.
👍장점👍
- 추가적인 네트워크 연결 없이 용량을 증강할 수 있다.
- 스케일 아웃보다 비교적 관리 비용이나 운영 이슈가 적고, 비교적 간단하다.
- 서버의 개수가 1대이므로 데이터의 일관성을 유지할 수 있다.
👎단점👎
- 비용적인 부담이 크고, 업그레이드 허용 범위가 정해져 있으므로 확장성에 한계가 있다.
- 서버 한 대가 부담하는 양이 많아 트래픽 부하로 인한 장애 영향 UP❗❗
📌 스케일 아웃(Scale-out)
서버를 여러 대 추가하여 시스템 확장하는 것을 말한다.
서버가 여러 대로 나뉘기 때문에 각 서버에 걸리는 부하를 균등하게 해주는 '로드밸런싱'이 필수적으로 동반되어야 한다.
이처럼 여러 대의 서버로 나눠 시스템을 확장하기 때문에 수평 스케줄로 불리기도 한다.
👍장점👍
- 합리적인 비용으로 확장에 제한이 없으며 유연하다.
- 서버 한 대가 장애로 다운되더라도, 다른 서버로 서비스 제공이 가능하여 분산처리가 가능하다 -> 장애 가능성 DOWN❗❗
👎단점👎
- 스케일 업에 비해 설계, 구현이 복잡하다.
- 미리 서버를 분산시켜 놓고 구축해 놓았는데 트래픽이 몰리지 않을 경우 노는 서버가 늘어나 불필요한 지출이 발생한다.
- 서버가 늘어난 경우 라이센스 구입비용이 증가한다.
❓ 어떤 서비스에 무엇을 선택해야할까?
서버 확장은 다음과 같이 다양한 목적으로 나눠진다. 어떤 목적으로 사용하는지 확인 후 이유에 생각해 볼 필요가 있다.
[참고]
- https://dev-coco.tistory.com/143
- https://velog.io/@xeonu/%EC%84%9C%EB%B2%84-%ED%99%95%EC%9E%A5-%EC%A0%84%EB%9E%B5-%EC%84%A0%ED%83%9D%ED%95%98%EA%B8%B0-Scale-up-VS-Scale-out
- https://chunsubyeong.tistory.com/63
'🌌 Server' 카테고리의 다른 글
[REST] (Representational State Transfer) (0) | 2020.10.30 |
---|