가상서버 호스팅 - VPS(Virtual Private Server) Hosting

유자·2024년 5월 27일

Linux

목록 보기
1/2

가상화에는 OS단에서의 가상화와 하드웨어단에서의 가상화 방법이 있는데 대부분의 VPS 서비스들은 후자를 기반으로 하므로 아래 내용도 그것을 전제로 한다.

VPS가 대체 뭔데요?

VPS(Virtual Private Server)란?

VPS(Virtual Private Server) 는 하나의 물리적 서버를 가상화하여 여러 개의 가상 서버로 분할하는 기술이다. 각 가상 서버는 가상화된 하드웨어를 통해 자원을 할당받는다.
간단히 말해 큰 방을 쪼개서 여러 사람이 나눠쓰는 것이라고 생각하면 된다. 사용자들은 독립적으로 OS와 소프트웨어를 실행할 수 있는 각자의 공간을 갖게된다.

VPS의 특성

독립성

VPS의 가장 중요한 특성은 독립성을 보장한다는 것이다. 위에서 단순히 방을 나누는 것에 빗대어 표현했는데, 실질적인 공간의 분리나 어떠한 규칙이 없이 여러 사람들에게 "한 방을 알아서 나눠써라." 라고 하면 어떻게 될까? 공용 공간을 어지르는 놈도 있을 것이고, 더 큰 공간을 차지하기 위해 싸움이 나거나 사생활 또한 보호받지 못할 것이다.

그렇기에 실제로는 하나의 공간이라는 자원을 나눠 쓰지만 가상의 벽으로 분리가 되어있는 것으로 이해하면 된다. 이렇게 여러 개로 나뉜 가상의 공간은 여러 사용자들의 사용자끼리 무엇을 하는지 알아볼 수 없는 독립적인 공간을 보장한다. 웹 호스팅과는 다르게 사용자들은 각자의 가상서버에 독립적으로 설치된 OS를 혼자 사용한다. ROOT 액세스도 가능하고, 서버 내에서 Docker와 같은 컨테이너 가상화도 얼마든지 가능하다. 나만의 서버 하나가 생기는 셈이다.

리소스 공유

하지만 독립성을 보장한다고 해서 자원을 균등하게 나눠주는 것은 아니다. 예를 들어 CPU의 자원을 100이라고 했을 때, 열 명에게 나눠준다고 해서 각자마다 자원을 10씩 똑같이 할당 받는것은 아니라는 것이다.

실제로는 VPS 작업량에 따라 적절한 자원을 동적으로 할당해주어 약속한 가용성을 보장하는 것이다. 모든 가상서버가 100%로 부하를 가하는 상황을 전제로 하지 않기 때문이다. 애초에 서버가 24시간 100%로 일하고 있는 게 이상한 일이지만 그래서 같은 물리적 서버에 위치한 VPS들의 부하는 서로의 성능에 영향을 줄 수있다.

관점에따라 다소 불합리해 보일 수도 있다. 하지만 반대로 생각하면 이러한 동적인 리소스 할당이 있기에 서버를 열 개로 쪼개었다고 해서 10분의 1토막 난 성능으로 사용하지 않아도 되며, 가변적이지만 더 높은 성능을 저렴하게 사용할 수 있게 해주는 방식이라고 납득할 수도 있을 것이다. (가격이 더 비싸긴 하지만 다른 사용자의 영향을 받지 않는 전용 CPU VPS가 존재하기도 하고.) 아무튼 서로의 서버 성능에 영향을 주는 이러한 특성 때문에 vCPU를 사용하는 VPS들의 계약 조건을 잘 보면 대부분 위처럼 장기간 CPU를 과도하게 사용하는 것을 제한한다. 어떤 곳은 평균 사용량을 명시해서 제한하는 경우도 있다. 서버가 실행되는 시간 내내 할당받은 CPU를 100%로 풀로드하는 행위는 당연히 불가하다. 그러니까 괜히 채굴이라던지 뭔가 이상한 짓은 애초에 하지 말자 물론 서비스들이 제한하는 행위들이 아닌 경우 서버 내에서 어떠한 작업을 할 때에 CPU 부하를 잠시 100%까지 가져가는 것을 막지는 않는다. 정상적인 사용자라면 크게 신경쓰지 않아도 된다는 것이다. 다만, 부하가 큰 작업이 길게 지속될 경우 다른 사용자에게 영향을 미치거나 서비스 제공자가 성능을 제한할 수 있으므로 다른 사람들을 위해서나 본인을 위해서도 긴 작업시간이 예상될 때에는 하드웨어 사용률에 리밋을 걸어주는 것이 좋다.

확장성과 유연성

일반적으로 서버 운영 시 하드웨어의 교체는 골치 아픈 작업 중 하나이다. 교체 작업 기간동안의 다운타임, 데이터 손실, 호환성 문제 등 고려해야 할 것이 많고, 심지어 하드웨어의 교체비용 자체도 무시할 수 없다.

하지만 VPS는 가상화 기술을 사용하기 때문에 필요에 따라 간편하게 리소스를 확장하거나 축소할 수 있어서 확장성과 유연성이 매우 뛰어나다. CPU, RAM, 디스크 공간 등의 리소스를 물리적인 하드웨어의 교체 없이 간편하게 추가하거나 축소할 수도 있다. 간단한 리소스 확장 정도는 서비스 중단 없이 얼마든지 가능하다.

마치며

VPS는 소규모 비즈니스나 1인 개발자들이 합리적인 비용으로 서버를 운영할수 있게 해준다. 비즈니스의 성장에 따라 운영 비용과 리소스를 유연하게 선택할 수 있다. 물론 서비스를 운영하다 보면 언젠가는 물리적 서버가 요구되는 시점이 오기 마련이지만, 그 때가 되면 이미 소규모 비즈니스가 아닐 것이니 그 때 가서 고민하자.

profile
유유자적 살아가는 개발조무사 유자입니다.

0개의 댓글