서버확장을 알기 앞서 개인적인 TMI.
스타트업에 입사를 하고 나서 여러가지 일을 스스로 하게 되었다.
경력은 없고, 회사 내에서도 개발자가 없다.
무엇을 해야하나 막막하고 답답하고 있을때, 이렇게 걱정하지말고 스스로 공부를 해보자는 생각을 하게 되었다.
현재 회사에는 디바이스와 어플리케이션 그리고 서버가 존재한다.
3개 모두 외주를 맡겨 운영을 하고있었고, 만드는것만 되어 있고 아무런 것도 안되어 있었다.
(3개 모두 정상 작동하나 내가 바라보는 서비스에 못미치는거 같았다.)
신입이라, 신입이닌깐, 이런 생각을 하는 순간 더이상 발전이 없을거 같아
스스로 공부해서라도 체제를 정확하게 잡고자 공부를 시작했다.
원래라면 Node.js와 React를 공부하려 하였으나, 직장에 모든것을 파악하려면 디바이스, 어플리케이션, 서버(DB)를 우선 공부해야겠다는 생각을 하게되었고, 어플리케이션>서버>디바이스 순으로 무작정 공부하기로 했다.
서버확장에는 두가지방식이 존재한다.
바로 Scale Out 과 Scale Up이다.
Scale Out이란?
서버를 여러개 추가하여 처리능력을 향상시키는 것이다. 기존 1대로 운영하던 서버에 +를 하여 서버의 개수를 늘리는것이다. Scale Out은 수평 스케일이라고도 부른다.
서버가 여러개 존재하기 때문에 서버에 걸리는 부하를 균등하게 해주는 로드밸런싱을 필수적으로 동반해야한다.
읽기와 쓰기가 여러 서버에 분산되어 처리되기 때문에 장애 발생시 다른 서버로 서비스를 제공이 가능하다.
Scale Out은 모든 서버에 동일한 데이터를 가지고 있어야 하므로 데이터 변화가 적은 웹서버에 적합하다. 또한 Scale Up보다 저렴하지만 설계,구축,관리 비용이 증가한다.
※로드밸런싱? 컴퓨터 네트워크 기술로 중앙처리장치 또는 저장장치와 같은 컴퓨터 자원에게 작업을 나누는 것이다.
로드 밸런싱을 하게되면 가용성 및 응답시간을 최적화 시킬 수 있다.
Scale Up
서버에 RAM이나 CPU등 고성능 부품, 서버로 교환하는 방법으로 흔히 업그레이드이다. Scale Up은 수직스케일 이라고 한다.
Scale Up은 여러부품을 추가하거나, 프로세서 자체를 고성능 모델로 옮기는것이기 때문에 추가적인 부품을 장착할수 있는 여유 슬롯이 존재해야한다. Scale Up은 서버 한대에 모든 부하가 집중되기 때문에 장애가 발생할 경우 큰 위험이 있을 수 있다. 한대에서 모든 데이터를 처리하기 때문에 데이터 갱신이 빈번히 일어나는 OLTP(온라인 트랜잭션 처리) 데이터베이스 서버에 적합한 방식이다.
로드밸런싱은 이번것과 다른 주제이므로 다음 글에서 설명하도록 하겠다.
'Server' 카테고리의 다른 글
[AWS구축] 아마존 웹 서비스 AWS - AWS EC2 기본 설정 1 (RDS-Mysql&workbench연동) (0) | 2021.02.18 |
---|---|
[AWS구축] 아마존 웹 서비스 AWS - AWS EC2 기본 설정 1 (EC2와 RDS) (0) | 2021.02.16 |
[AWS구축] 아마존 웹 서비스 AWS - 계정 만들기 (0) | 2021.02.16 |
[네트워크] 로드밸런싱? (알고리즘 추가 예정) (0) | 2021.02.14 |