서버를 확장하는데 크게 두가지 전략이 있다.
Scale Up
Scale Up은 수직적인 확장 방법을 뜻한다. 서버에 CPU나 메모리 등을 추가하여 서버 자체의 성능을 개선하여 처리능력을 향상시키는 방법이다.
장점
- 서버의 장비를 추가하거나 교체하면 되기 때문에 구축 및 설계가 간단하다.
- 별도의 컨트롤러나 네트워크 인프라 비용 등이 발생하지 않는다.
- 별도의 서버를 추가하지 않기 때문에 데이터 정합성 문제에서 자유롭다.
단점
- 하드웨어 성능 업그레이드에 한계가 있다.
- 하나의 서버에서 모든 트래픽을 감당해야 하기 때문에 서버가 다운되면 시스템 전체의 장애로 이어질 수 있다.
Scale Out
Scale Out은 수평적인 확장 방법을 뜻한다. 서버의 대수를 늘려서 처리능력을 향상시키는 방법니다.
장점
- 필요에 따라 서버 개수를 조절할 수 있으며, 지속적인 확장이 가능하다.
- 트래픽을 여러대의 서버에 부하 분산할 수 있다.
- 하나의 서버에 장애가 발생하더라도 다른 서버에서 서비스를 제공할 수 있어 시스템 가용성을 높일 수 있다.
단점
- 여러대의 서버를 관리하기 위한 설계와 구현이 복잡해지고, 이에 따른 관리 비용이 증가하게 된다.
- 데이터 정합성 문제가 발생할 수있다.
둘 중 어떤 방식을 사용해야할까?
데이터의 정합성을 요구하는 데이터베이스 서버나 금융거래와 같이 빠르고 정확한 처리가 필요하고 잦은 갱신이 발생하는 OLTP(Online Transaction Processing) 환경에서는 Scale Up 방식이 적합하다.
반면 메일 서버, 웹 서버와 같이 병렬성을 실현하기 쉬우며 데이터의 정합성 유지가 쉬운 환경에서는 Scale Out 방식이 적합하다.
참고
'AWS' 카테고리의 다른 글
AWS SSL 인증서 발급 및 LoadBalancer로 Https 적용하기 (0) | 2022.11.14 |
---|---|
AWS EC2와 RDS 연결하기 (0) | 2022.07.21 |
AWS EC2(Ubuntu 22.04)에 자바 설치하기 (0) | 2022.07.19 |
AWS EC2(Ubuntu 22.04) 인스턴스 생성하기 (0) | 2022.07.19 |
AWS RDS를 이용하여 MySQL 사용하기 (0) | 2022.07.07 |
댓글