Contents

System/OS
2018.08.29 08:28

서버 확장을 위한 두 가지 방법

조회 수 2083 댓글 0
Atachment
첨부 '2'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

서버 스케일링 (Server Scaling - Scale up / Scale out)

server01.jpg



# 스케일 아웃과 스케일 업 (Scale Out / Scale Up)


서버를 운영하다 보면 갑작스런 사용자의 증가나 사업 확장 등의 이유로 더 많은 서버 용량과 성능이 필요하게 된다. 이럴 때 시스템을 확장하는 방법으로는 ‘스케일 아웃’과 ‘스케일 업’ 이 두 가지 방법이 있다.


server02.jpg



1. 스케일 아웃 (Scale Out)

'스케일 아웃'이란 서버의 대수를 늘려 전체 처리 능력을 향상시키는 방법이다. 수평 스케일(Horizontal Scale)이라고 부르기도 한다. 서버의 가상화 기능을 사용하고 하나의 케이스 내에서 가상으로 복수 서버를 구축해 스케일 아웃과 동등한 효과를 제공할 수도 있다. 이러한 방식은 스케일 위드인 또는 가상 스케일 아웃 이라고 부르기도 한다.

스케일 아웃의 경우 서버 한 대가 장애로 다운 되더라도 다른 서버로 서비스 제공이 가능하다는 장점이 있다. 각 서버에 걸리는 부하를 균등하게 분배해주는 '로드밸런싱'이 필수적으로 동반되어야 한다.

개개의 처리가 단순하지만 다수의 처리를 동시 병행적으로 필요로 하는 경우에 적합하다.  또한 데이터 정합성(데이터의 모순없이 일관되게 일치함) 유지에 대한 요건이 어렵지 않은 경우에 적합하다. 주로 웹 서버나 데이터가 읽기 전용인 검색엔진 데이터 분석 처리, VOD(주문형비디오) 서비스, 일부의 과학기술 계산, 메일 서버나 게시판 등의 애플리케이션 등의 운영에 사용된다.



2. 스케일 업 (Scale Up)

'스케일 업'은 서버 자체를 증강하여 처리 능력을 향상시키는 방법이다. 수직 스케일(Vertical Scale)이라고 부르기도 한다. 주로 CPU나 RAM 등을 추가하거나 그 외의 부품을 고성능으로 교환하는 방법을 의미한다.

스케일 업의 경우 한 대의 서버에 모든 부하가 집중되므로 장애 시 해당 서비스에 큰 영향을 줄 수 있는 위험성이 있다.

애플리케이션 서버에서는 스케일 아웃이 가능하지만 빈번히 갱신이 발생하는 OLTP(On-Line Transaction Processing) 데이터베이스에는 정합성(데이터의 모순없이 일관되게 일치함) 유지를 위해 스케일 업이 적합하다.



3. '스케일 아웃'과 '스케일 업'의 비교

스케일 아웃(Scale Out)

스케일 업(Scale Up)

확장성

하나의 장비에서 처리하던 일을 여러 장비에 나눠서 처리하도록 설계를 변경, 수평 확장, 지속적 확장이 가능

더 빠른 속도의 CPU로 변경하거나 더 많은 RAM을 추가하는 등의 하드웨어 장비의 성능을 높이는 것. 수직 확장, 성능 확장에 한계가 있음

서버비용

비교적 저렴한 서버를 사용하므로 일반적으로 비용 부담이 적음

성능 증가에 따른 비용 증가폭이 크며 일반적으로 비용 부담이 큼

운영비용

대수가 늘어날수록 관리 편의성이 떨어지며 서버의 상면 비용을 포함한 운영 비용이 증가함

관리 편의성이나 운영 비용은 스케일 업에 따라 큰 변화가 없음

장애

읽기/쓰기가 여러 대의 서버에 분산되어 처리됨으로 장애 시 전면 장애의 가능성이 적음

한 대의 서버에 부하가 집중되므로 장애 시 장애 영향도가 큼

기술관점

Sharding, Query-off Loading, Queue, In Memory Cache, NoSQL, Object Storage, Distributed Storage

고성능 CPU, Memory 확장, SSD

용도

분산처리 시스템, Global 웹 애플리케이션, 점진적 증가 가능, 보통 스케일 업보다 저렴, 설계/구축/관리 비용 증가

고성능 Legacy 애플리케이션, 구축이 쉽고 관리 용이, 단계적 증가가 어렵고 근본적인 해결이 안될 수 있음




?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
1173 Etc 원어민이 매일 쓰는 일상표현 150개 file hooni 2023.09.17 850
1172 Etc 영어. 반드시 외워야 할 문장 패턴 100개 file hooni 2023.06.08 847
1171 Develop [swift] UIView에서 subview 찾기 hooni 2022.12.09 1174
1170 System/OS 네트워크 용어 정리 file hooni 2022.11.20 1101
1169 System/OS [macos] How to Fix ‘You Shut Down Your Computer Because of a Problem’ file hooni 2022.06.01 750
1168 Develop [ios] 여러 버전의 Xcode 사용하기 hooni 2022.05.28 639
1167 Develop [ios] Pod 특정 버전 설치하고 사용하기 hooni 2022.05.28 1058
1166 System/OS 맥에서 포트 확인하고 닫기 (mac) hooni 2022.03.22 864
1165 System/OS 개인적으로 쓰고 있는 zshrc 파일 hooni 2022.02.25 799
1164 System/OS [apache2] Redirect HTTP to HTTPS file hooni 2022.02.03 655
1163 Develop macOS에 node, npm 설치하기 (homebrew) file hooni 2021.11.06 1113
1162 Develop [iOS] 시뮬레이터에 푸시 알림을 보내는 방법 file hooni 2021.10.13 1712
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 98 Next
/ 98