스케일업(Scale Up), 스케일아웃(Scale Out)

블로그를 옮겼습니당·2021년 4월 13일
0
post-thumbnail

시작

오늘 우연찮게 회사에서 한 번, 개발자분들과 대화에서 한 번 총 두 번이나 스케일업, 스케일아웃이라는 개념을 들었다. 나는 잘 모른다. 그냥 저냥 느낌. 나는 요즘 들어 벨로그를 하는 것이 취미다. 그리고 하나 하나 기록하는 데 기쁨이 쌓인다. 그래서 이번에도 스케일업, 스케일아웃에 대해서 글을 쓰려한다.

스케일업(Scale Up)

서버를 여러대를 두지 않습니다. 무슨말이냐면 서버 두대, 세대의 아웃풋을 낼수 있도록 하나의 서버의 기능들을 업그레이드 하는 것 입니다. 예를 들면 RAM, CPU를 미치듯한 성능으로 업그레이드를 하는 겁니다.

장점
여러개의 서버에 똑같은 데이터를 넣지 않고 딱 하나의 서버에만 넣으면 되므로 정합성 이슈에 자유롭습니다. 또한 여러 서버면 각 서버마다 라이센스의 비용이들어가는데 하나의 서버이므로 라이센스의 비용이 들지 않습니다.

단점
서버 한 대에 모든 부하가 집중됩니다. 즉, 이 한대의 서버가 장애가 난다면 영향을 크게 받을 수 있는 위험성이 있습니다. 모든 데이터가 한 서버에 있기 때문에 데이터를 갱신하고 갖고오는 데이터베이스 서버에 적합합니다.

스케일아웃(Scale Out)

스케일 아웃은 간단하게 말하면 서버를 여러개 추가를 하는 것 입니다. 어떠한 서버가 어떠한 데이터를 가공하는데 일정 시간에 1이라는 일을 한다면, 똑같은 성능의 서버를 한대 더두면 일정 동일 시간에 2라는 아웃풋을 냅니다.

그림을 보면 서버에 걸리는 부하를 균등하게 가져가기 위해 로드밸런싱이 적용되었습니다.

장점
그림을 보면 장점이 보입니다. 우선 첫번째로 여러개의 서버 중에 일부 서버가 죽어도 각 다른 서버에서 처리를 해줄 수 있습니다. 또한 당연하게도 하나의 서버가 아닌 다른 서버가 있기 때문에 성능의 이점이 있습니다

단점
단점은 여러대의 데이터가 같아야 됩니다. 그렇기에 모든 데이터를 많이 필요로 하는 프로젝트에는 적합하지 않습니다.

그래서 ?

스케일업, 스케일아웃을 공부한 이유는 명료합니다. 대용량 트래픽을 요하는 프로젝트를 할 때, 대비하여 설계를 해야하기 때문에 공부를 해야했습니다. 저 또한 포털회사에 다니고 있고 여러 프로젝트에서 대용량트래픽을 다뤄야하기 때문에 필수적으로 공부해야하며 그 시발점이 용어에 대한 정확한 이해라고 생각했기에 알아보았습니다.

끝내며

되게 간단한 포스팅이었지만 유익한 시간이었다. 공부하면서 IDC에 대한 개념도 알았고 오늘 때마침 대표님과의 얘기에서 IDC, AWS에 대한 얘기가 나와서 이해도 할 수 있었다. 요즘 인프라쪽에 관심이 많다. 인프라 고수가 되고 싶다.

profile
https://github.com/minyul

0개의 댓글