1. Scale-up
- 기존 서버를 하드웨어적으로 높은 사양으로 업그레이드 시키는 방법입니다.
- 수직 스케일링(vertical scaling) 이라고도 합니다.
- 예를 들면, 서버에 디스크를 추가하거나 CPU나 메모리를 업그레이드시키는 방법이 있습니다.
- 문제점
- 스토리지 컨트롤러의 확장성의 한계의 문제가 있고, 성능 그리고 용량 확장 제한이 있습니다.
- 서버가 한대로 운영되기 때문에 부하가 집중되어 장애영향도가 큽니다.
- 스케일업을 할수록 기존 하드웨어의 냉각, 공간, 전력공급 등의 문제가 발생할 수 있습니다.
- 하드웨어 허용 범위 내에서만 확장이 가능하기 때문에 그 이상으로 업그레이드를 하고자 한다면 새로운 장비로 교체하는 방법밖에 없습니다.
- 새 장비로 교체 시에도 데이터 전체의 마이그레이션 작업이 필요해 HA 구성이 아닌 이상 다운타임이 불가피하며, 저장된 데이터양에 따라 작업이 수개월 걸리는 경우도 있습니다.
2. Scale-out
- 기존 서버와 비슷한 사양의 서버를 추가로 연결해서 처리하는 방법입니다.
- 데이터 용량이 증가할 뿐만 아니라 기존 서버 부하를 분담하는 효과도 있습니다.
- 수평 스케일링(horizontal scaling)이라고 부르기도 하고, 확장이 스케일 업보다는 다소 유연합니다. 필요한 때에 지속적인 확장이 가능합니다.
- 문제점
- 무엇보다 여러 노드를 연결해 병렬 컴퓨팅 환경을 구성하고 유지하려면 아키텍처에 대한 높은 이해도가 요구됩니다.
- 여러 노드에 워크로드를 균등하게 분산시키기 위해 로드 밸런싱(load balancing)이 필요합니다.
- 노드를 확장할수록 문제 발생의 잠재 원인 또한 추가한 만큼 늘어나게 됩니다.
3. 장단점 비교
주어진 환경에서 적합한 방식을 채택해야 합니다.
예를 들면, 웹사이트의 접속자가 증가해서 트래픽이 많이 발생할 경우에는 scale-out이 scale-up 보다 효과적이며, 비용도 저렴합니다. 그리고 빅데이터의 데이터 마이닝이나 검색엔진 데이터 분석 처리 등을 대표하는 OLAP(Online Analytical Processing) 애플리케이션 환경에서는 대량의 데이터 처리와 복잡한 쿼리가 이루어지기 때문에 스케일아웃 구성이 더 효율적이라고 할 수 있습니다.
그 반면, 데이터베이스의 빈번한 갱신이 필요한 OLTP(온라인 트랜잭션)에서는 scale-out보다는 scale-up이 효과적입니다. 온라인 금융거래와 같이 워크플로우 기반에 빠르고 정확하면서 단순한 처리가 필요한 OLTP(Online Transaction Processing) 환경에서는 고성능의 스케일업 방식이 적합합니다.
출처:
https://tech.gluesys.com/blog/2020/02/17/storage_3_intro.html
https://toma0912.tistory.com/87?category=322632 [토마의 개발노트]
'Infrastructure' 카테고리의 다른 글
브랜치 전략 GitFlow, GitHubFlow, GitLabFlow (0) | 2022.11.11 |
---|---|
버전관리 시스템 Version Control Systems, VCS (0) | 2022.11.09 |