왕초보만/기초 왕초보만
스케일 업과 스케일 아웃 이란?
JumBack2
2023. 7. 25. 10:58
1. 스케일업이란 영어 "Scale-up"에서 나왔다. 스케일업 뜻은 간략하게 말해 키우는 것, 규모를 확장하는 것이다. 기술, 제품, 서비스, 생산, 기업 등 규모를 확대하는 것을 스케일업으로 쓰인다.
출처: https://korean-dictionary.tistory.com/278 [한글 신조어 사전]
우리가 IT에서 이 단어를 많이 볼 수 있는데
개발자는 DB 관련하여 이 단어를 많이 접하게 된다.
그럼 스케일 업과 스케일 아웃은 무엇일까?
1. 스케일 업(Scale Up)
서버나 DB 자체의 성능을 증가시키는 것을 의미한다. 예를 들어 서버 한대의 RAM 이 8GB이고 CPU가 I5 였는데
성능의 문제가 발생하여 스케일 업을 해야겠다고 말한다면 RAM을 16GB로 올리거나 CPU를 더 위 성능 가진 I7으로
바꾼다는 것을 의미한다.
2. 스케일 아웃(Scale Out)
스케일 아웃이란 서버나 DB의 경우 그 같은 성능의 장비의 수를 늘리는 것을 말한다. 예를 들어 지금까지 1대의 서버가
어떤 작업을 처리하고 있었는데 점점 많은 사용자의 접속으로 문제가 생겼다면 같은 성능의 서버를 1대 더 증설하거나 2대 더 증설하는 것을 스케일 아웃이라고 한다.
여기서 조금 더 심화로 들어가면 개발을 하는 도중 문제가 발생하면
상황에 따라 스케일 업을 해야할지 스케일 아웃을 해야할지 고민하는 경우가 생긴다.
왜냐하면 둘 다 현재 상황보단 좋아질 수 있겠지만 장단점이 조금 다르다.
스케일 업 | 스케일 아웃 | |
확장성 | 장비 자체의 성능을 올리는 것으로 수직 확장이라고 불린다. 그러나 성능 확장에는 한계가 있다.(기술의 한계가 있기 때문에) | 같은 성능의 장비를 여러 대의 장비로 나누어 처리할 수 있도록 하는 것. 수평 확장. 지속적 확장이 가능하다. |
서버 비용 | 성능 증가에 따른 비용 증가폭이 크다 | 스케일 업에 비해 확장 비용이 저렴하다. |
운영 비용 | 관리 편의성이나 운영 비용은 큰 변화가 없다. | 대수가 늘어날수록 관리 편의성이 떨어지고 운영비용이 증가함 |
장애 | 한 대의 서버에 부하가 집중되므로 장애 시 장애의 영향도가 크다. | 읽기/쓰기 등 처리가 여러 대의 서버에 분산되어 처리됨으로 전면장애의 가능성이 적다. |
주요 기술 | 고성능 CPU, Memory 업그레이드 , SSD | Sharding, IN Memory Cache, NoSQL, Object Storage, Distributed Storage |
장점 | OLTP에서 스케일 아웃보다 효율적 | 스케일 업에 비해 비용이 저렴한 편이고 확장성이 좋음 |
단점 | 스토리지 컨트롤러나 용량 확장 제한의 기술적인 문제가 있을 수 있다. | 병령 컴퓨팅의 어려움이 있고, 코어가 늘어남에 따라 성능이 마냥 증가되지는 않고, 대역폭은 증가해 지연이 발생 가능하다. |