System/OS
2018.08.29 08:28

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

Views 2098 Votes 0 Comment 0
Atachment
Attachment '2'
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

서버 스케일링 (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
No. Category Subject Author Date Views
1109 Develop [js] 스크롤을 포함한 마우스 위치 찾는 코드 hooni 2003.04.23 8505
1108 Develop [c] pcap을 이용한 패킷 분석 ㅎㅎ hooni 2003.04.23 10210
1107 Develop [linux] 쉘 스크립트를 이용한 BBS hooni 2003.04.23 10047
1106 Develop [unix] 쉘 스크립트 예제 모음 hooni 2003.04.23 14949
1105 System/OS [linux] vi 편집기 간단한 명령과 환경설정 hooni 2003.04.23 11359
1104 System/OS [linux] 리눅스 활용 팁^^ hooni 2003.04.23 14629
1103 System/OS [linux] 기본 명령어 (내공쌓기) hooni 2003.04.23 14333
1102 System/OS [linux] 간단한 vi편집기 사용 명령 hooni 2003.04.23 13456
1101 System/OS [linux] 프로그램 설치방법 (내공쌓기) hooni 2003.04.23 13433
1100 System/OS [linux] 계정관리하기(내공쌓기) hooni 2003.04.23 13157
1099 System/OS [linux] 기본적인 설정하기(내공쌓기) hooni 2003.04.23 13993
1098 System/OS [linux] 새 하드디스크 추가하기..(내공쌓기) hooni 2003.04.23 13807
1097 System/OS [linux] 아파치설치/설정 hooni 2003.04.23 14492
1096 System/OS [linux] 아파치설치/설정(CGI부분) hooni 2003.04.23 14568
1095 System/OS [linux] 아파치설치/설정 - SSI(Server Side Include) hooni 2003.04.23 13206
1094 System/OS [linux] 아파치 설치/설정(proxy) hooni 2003.04.23 12965
Board Pagination Prev 1 3 4 5 6 7 ... 74 Next
/ 74