서버를 선택할 때는 데스크톱 컴퓨터를 고를 때보다 충분한 시간과 노력을 들여야 합니다. 서버의 경우, 잘못된 선택으로 인한 결과가 서비스의 실패, 더 나아가 사업의 실패로 이어질 수 있기 때문입니다.
이를 미연에 방지하기 위해, 서버를 선택할 때 다음의 사항들을 확인해야 합니다. 가장 먼저 시스템을 운영하는 목적과 하드웨어 자원의 사용량을 예상하는 것입니다. 무엇을 위해(또는 어떤 서비스를 제공하기 위해), 어느 정도의 자원이 필요한지 예측해봐야 합니다. 그 후 CPU, RAM, 디스크를 결정하고, 부가적으로 RAID, 관리 기능 여부, 확장성에 대해 고려해볼 수 있습니다. 하나씩 자세히 알아보도록 하겠습니다.
1) CPU
CPU(Central Processing Unit)는 데이터를 처리하는 ‘연산장치’입니다. 코어 수, 클럭(주파수), 캐시, 가상화 지원 등 몇 가지 요소를 고려하여 선택할 수 있습니다.
> [인프라 용어 알아보기] 제 1탄: CPU – 제조공정, 클럭, 코어, 스레드, 캐시 메모리
2) RAM
RAM(Random Access Memory)은 데이터를 저장하거나 저장된 데이터를 읽어내는 ‘기억 장치’로, 디스크와 달리 전원이 꺼지면 데이터가 지워지는 특징을 가지고 있습니다. 저장 용량, 속도 등을 고려해야 합니다.
> [인프라 용어 알아보기] 제 2탄: 메모리(RAM) – 종류, 용량, 동작 클럭, 슬롯, ECC
3) 디스크
대표적인 정보 저장장치입니다. 용량, 회전 수, 전송 속도, 인터페이스(SATA, SAS), SSD 등을 고려해야 합니다.
> [인프라 용어 알아보기] 제 3탄: 디스크(DISK) – 용량, 회전수, 버퍼 용량, 크기, 인터페이스, A/S 보증기간
4) RAID
RAID는 Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks의 약자입니다. RAID를 통해 여러 대의 디스크를 하나로 묶어 대용량의 저장장치로 만들 수 있습니다. 2개 이상의 디스크를 효율적으로 관리하기 위한 기술입니다.
5) 관리 기능 여부
서버를 직접 보유하는 것에는 많은 어려움이 따르기 마련입니다. 따라서 서버는 일반적으로 ‘데이터 센터(IDC)’라고 불리는 물리적인 장소에 위치시켜 운영하게 됩니다. 이 말은 서버 관리자가 서버를 눈으로 직접 보고 만질 상황이 많지 않다는 뜻입니다. 만약 서버가 예기치 않게 다운되어 강제로 전원 버튼을 눌러야 하는 상황이 발생한다면 사무실이 데이터 센터와 멀리 떨어져 있는 경우, 다운 타임은 더 길어질 수도 있습니다. 그래서 일부 서버 업체에서는 원격에서도 서버의 전원을 키고 끄거나 서버 상태를 모니터링 할 수 있게 해주는 기능을 탑재하고 있습니다. 서버 선택 시, 이런 기능이 제공되고 있는지 확인하여 문제 상황에 빠르고 적절하게 대처할 수 있어야 할 것입니다.
6) 확장성
서버를 운영하다 보면 이용자 증가, 사업 확장 등의 사유로 더 많은 용량과 성능이 필요하게 될 수도 있습니다. 이 때 서버의 확장 공간이 얼마나 있는지에 따라 ‘스케일 업’을 할지 또는 ‘스케일 아웃’을 할지 결정해야 합니다. 스케일 업은 CPU, RAM 등을 추가하는 것으로 서버에 이것을 장착할 여유 공간이 미리 확보되어 있어야 합니다.
> 서버 확장을 위한 두 가지 방법: 스케일 아웃과 스케일 업