Contents

System/OS
2018.08.29 08:28

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

조회 수 2094 댓글 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
번호 분류 제목 글쓴이 날짜 조회 수
945 Develop [ios] Swift 4 Dictionary 사용하기 file hooni 2018.11.29 2021
944 Develop [java] netty (비동기 이벤트 방식 네트워크 프레임워크) 사용법 #2 (client) hooni 2015.01.02 2035
943 Develop [ios] 설정에서 푸시 알림(APNS) on/off 상태 확인 hooni 2015.04.28 2044
942 Develop [android] SQLiteOpenHelper를 이용한 DBManager hooni 2017.06.14 2051
941 Develop [c#] mfc 기반의 웹서비스 서버/클라이언트 샘플과 예제 소스 secret hooni 2013.04.23 2073
940 Develop [ios] 기본 네비게이션바의 타이틀, back버튼 위치와 속성 변경 file hooni 2016.05.16 2081
939 Develop [c#] MS IE(Internet Explorer) 툴바 버튼 예제 2003/2005 두가지 버전 secret hooni 2013.04.23 2090
» System/OS 서버 확장을 위한 두 가지 방법 file hooni 2018.08.29 2094
937 Develop [android] 안드로이드 앱 문서 샘플 file hooni 2017.07.11 2098
936 Etc How to completely Uninstall Coda hooni 2017.10.24 2108
935 Develop [c#] 툴바 최근 버전(IE6, IE7 두가지 버전) secret hooni 2013.04.23 2138
934 System/OS [mac][추천 무료앱] 구름 입력기 - 국내 맥 사용자를 위한 한글 대안 입력기 1 file hooni 2015.01.04 2145
Board Pagination Prev 1 ... 15 16 17 18 19 20 21 22 23 24 ... 98 Next
/ 98