스케일 아웃과 스케일 업
서비스의 서버가 한계에 봉착하면, 스케일 업(scale-up), 스케일 아웃(scale-out)을 고려할 수 잇음
**스케일 업(scale-up)**은 기존의 서버를 더 높은 사양으로 업그레이드 하는 방식
**수직 스케일링(vertical scaling)**이라고도 함
EC2 t2.micro → t2.small로 업그레이드 하는 형태.
간단하게 서버 성능 향상.(비용이 스케일 아웃에 비해 비싼편)
특정서버 무한 업그레이드 불가능.
장애에 대한 자동복구(failover)나 다중화(re-dundancy)방안을 제시하지 않음.
서버 교체시 타임아웃 불가피
주요기술
고성능 CPU
Memory 확장
SSD
**스케일 아웃(scale-out)**은 비슷한 사양의 장비를 추가하여 수평으로 확장하는 방식.
**수평 스케일링(horizontal scaling)**이라고도 함
비슷한 사양의 장비를 추가하여 수평으로 확장하는 방식
스케일 아웃 아키텍처의 가장 큰 장점은 확장의 유연성에 있음.
서버로 들어오는 많은 요청을 비슷한 사양의 서버 n대로 분산시켜 성능 향상
필요할때 서버 추가, 스케일업에 비해 상대적으로 비용 효율적
장애 발생 상황에서도 스케일업 방식보다 가용성이 높음
n대의 서버를 관리해야 하기에 관리 포인트가 늘어나며, 각 서버에 부하를 분산하기 위한 로드 밸런싱에 대한 고민이 추가로 필요하다는 단점이 있음.
병렬 컴퓨팅 환경 구성 및 유지를 위해서는 아키텍처에 대한 높은 이해도가 요구됨
여러 노드에 분산시키기 위해 로드 밸런싱이 필요, 노드를 확장할수록 잠재 원인또한 늘어남
주요기술
Sharding
In Memory Cache
NoSQL
서비스를 제공하는 종류나 스토리지의 용도 등에 따라 선택할 수 있음
온라인 금융거래와 같이 워크플로우 기반의 빠르고 정확하면서 단순한 처리가 필요한 **OLTP(Online Transaction Processing)**환경에서는 고성능의 스케일업(scale-up) 방식이 적합.
정합성 유지가 어려운 경우
OLTP(온라인 트랜잭션 처리)
빅데이터의 데이터 마이닝이나 검색엔진 데이터 분석 처리 등을 대표하는 OLAP(Online Analytical Processing) 어플리케이션 환경에서는 대량의 데이터 처리와 복잡한 쿼리가 이루어지기 때문에 스케일 아웃(scale-out) 구성이 더 효율적
SPOF(Single Point Of Failure)
단일 장애점은 시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는 요소를 말함
예방
복잡한 시스템인지 판별
단일 장애점 파악 및 제거
높은 신뢰성은 단일 컴포넌트에 의존 X
방법
복잡도 낮추기
복제
다양성
문서화
Web Browser → Web Server
Load Balance
N대의 Web Server or L4, L7
Web Server → WAS
개발자의 코드로 인한 문제 발생
N대의 WAS 구축
DataBase
용량부족으로 인한 장애 발생
RAID, NAS 등
Router, 허브, 스위치
Web
Database’
Last updated