스케일 아웃과 스케일 업

서비스의 서버가 한계에 봉착하면, 스케일 업(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