네트워크의 두 가지 유형
클라이언트/서버형과 피어-투-피어(P2P)형
현재 네트워크는 크게 두 가지 유형으로 나뉜다. 클라이언트/서버형과 피어-투-피어(Peer to Peer, P2P)형이다.
클라이언트/서버형(Client-Sever Model, C/S형)은 클라이언트/서버 모델을 바탕으로 오래 전부터 존재해온 형태이다. 클라이언트/서버형의 네트워크는 서버와 클라이언트 두 가지 단말로 구성되어 서버를 중심으로 클라이언트가 사방에서 둘러싸는 네트워크이다.
클라이언트/서버형 네트워크에서 각 단말의 역할은 명확히 나뉘어져 있다. 네트워크내에서는 항상 클라이언트가 서버에 리퀘스트를 보내면 서버가 그에 답하는 흐름으로 통신이 이루어진다. 양쪽의 역할이 역전되는 일은 없다.
피어-투-피어형(Peer to Peer, P2P)은 2000년 즈음부터 사용되기 시작한 비교적 새로운 네트워크 유형이다. 피어-투-피어형 네트워크에서 단말은 피어(Peer), 혹은 노드(Node)라고 불리며 네트워크 형태는 전 단말이 상호접속하는 그물망 형태이다.
순수한 피어-투-피어형 네트워크, 즉 퓨어P2P형의 네트워크에서는 네트워크를 구성하는 전 단말이 서버이며, 각 단말의 역할이 다르지 않고 평등하지만 그 때문에 통신의 흐름은 굉장히 복잡하다.
각 유형의 장점과 단점
클라이언트/서버형 네트워크의 장점은 시스템 구축이 용이하며 신뢰성이 높은 것이다. 통신이 클라이언트와 서버 사이에서밖에 이루어지지 않기 때문에 통신상대가 항상 명확하며, 시스템이 정상적으로 작동하고 있으면 필요한 서비스를 확실히 제공받을 수 있다.
단점은 장애 내성이다. 만일 서버가 다운되어버리면 네트워크 전체가 마비된다. 게다가 다수의 클라이언트로부터의 요구를 혼자서 처리하기 때문에, 서버에는 굉장히 높은 성능이 요구된다. 따라서 시스템 구축 비용은 높아지기 마련이다.
반면에 P2P형은 네트워크를 구축하는 모든 단말에서 분산처리를 수행하기 때문에 클라이언트/서버형의 서버와 같은 고가의 단말이 필수인 것은 아니다. 또한, 만약 일부 단말이 다운되어도 네트워크 전체가 마비되는 일은 없다.
단점은 관리가 굉장히 어렵다는 것이다. 통신이 각 단말간에 이루어지기 때문에 통신의 감시나 로그*의 습득이 극히 어렵다. 또한, 필요한 데이터나 서비스에 따라 통신상대나 통신경로가 변화하기 때문에 어떻게든 네트워크 전체의 정보를 전 단말에 공유할 필요가 있지만, 그 구현이 난해하다.
*로그(log): 이력데이터. 여기에서는 서버상에서 생성되는 액세스기록이나 유저인증기록 등의 데이터를 말한다.
일반적으로 컴퓨터 시스템의 조작이나 처리에, 관한 경시적인 기록. 파일에 가해진 조작결과의 기록은 장해회복에 있어서 특히 중요한데, 비교적 안전한 보조기억, 예컨대 자기 테이프라든가 자기 디스크에 격납된다. 시스템의 상태를 장해 이전의 상태로 후퇴 복귀시키기 위하여, 로그를 토대로 특정의 트랜잭션이 한 조작 결과를 취소한다. 특히, 실행이 완전히 끝나지 않은 트랜잭션에 의해서 기록된 데이터는 오염 데이터(dirty data)라 불리며 지워진다.
출처: 컴퓨터 정보용어대사전
다양한 서버의 종류
서비스나 이용 형태에 따라 구별된다
서버라는 용어는 의미하는 범위가 매우 넓기 때문에 특정 서버를 가리키는 경우에는 보통 '○○서버'라고 칭한다. 예를 들면 메일 서비스를 제공하는 서버를 메일 서버, 웹 페이지 열람 서비스를 제공하는 서버를 웹 서버, 프린터 공유 서비스를 제공하는 서버를 프린트 서버라고 부른다.
하지만 서비스의 종류 외에도 명칭 기준이 있다. 제공하는 서비스가 여러 가지일 때 주로 사용되는데, 서버의 이용 형태를 기준으로 하는 것이다. 구체적으로는 공유 서버나 전용 서버, VPS(Virtual Private Server), 클라우드 서버 등이 있다. 이들에 대해 제대로 이해하기 위해서는 서버의 '렌탈'에 대해 숙지해야 한다.
네트워크에 있어서 가장 부하가 집중되는 서버 머신은, 고성능이지만 그 때문에 매우 고가이다. 게다가 몇 년만 지나도 최신기종조차 뒤떨어진 기종이 되어버린다. 그래서 서버는 자가 구축하는 것보단 렌탈하는 편이 대체로 가성비가 좋은데, 현재 '호스팅 서비스'라고 불리는 사업자의 렌탈 서버를 이용하는 방법이 많이 쓰여지고 있다. 서버 1대를 공유하는 공유 서버나 1대 전체를 대여해주는 전용 서버, 서버를 소프트웨어상에서 여러 대로 구분하여 가상의 전용 서버로 만드는 VPS, 클라우드상에서 구축되는 클라우드* 서버 등, 서버의 렌탈 형태에 따라 명칭이 다르다.
외부 사업자로부터 대여하는 것을 호스팅(Hosting)이라고 하며, 서버를 자체적으로 구축하여 관리하는 것은 온프레미스(On-premise)라고 한다. 따라서 호스팅하여 이용하는 서버는 호스팅 서버라고 하고, 온프레미스의 서버는 온프레미스 서버라고 부른다.
*클라우드(Cloud)
각각의 단말내의 보존영역이 아니라 인터넷상의 보존영역을 이용하는 사용 형태, 혹은 그러한 서비스.
데이터를 인터넷과 연결된 중앙컴퓨터에 저장해서 인터넷에 접속하기만 하면 언제 어디서든 데이터를 이용할 수있는 것.
출처: 천재학습백과
공유 서버의 특징
가장 많이 사용되는 공유 서버
렌탈 서버에는 몇 가지 종류가 있는데, 가장 폭넓게 이용되고 있는 것이 공유 서버, 혹은 공용 서버라고 불리는 타입이다. 공유 서버는 가장 비용이 싸고 손쉽게 이용할 수 있는 렌탈 서버로, 흔히 렌탈 서버라고 하면 공유 서버를 가리킨다.
공유 서버는 호스팅 사업자의 서버 일부를 빌려 쓰는 렌탈 서버이다. 주택으로 비유하면 공유 서버는 다세대 주택의 방 한 칸을 빌리는 것과 같은 렌탈 서버라고 할 수 있다.
공유 서버는 개인용
공유 서버의 장점은 비용과 간이성이다. 저렴한 렌탈 서버라면 적당한 서비스를 매달 몇 천원 정도에 이용할 수 있다. 또한 서버의 유지보수는 호스팅 업자가 해주기 때문에 서버나 컴퓨터를 잘 모르는 사람도 간단하고 안전하게 이용할 수 있다.
반면에 공유 서버의 단점은 품질과 자유도이다. 공유 서버는 저가의 서비스이기 때문에 서버의 성능 자체는 일단 기대하지 않는 편이며, 물리적인 서버를 복수의 유저가 공유하고 있기 때문에 다른 유저가 부하가 높은 서비스를 제공하고 있거나, 일부에 액세스를 집중하는 일이 있거나 하면 자신의 서버 성능도 크게 저하되어버린다. 또한 관리자 권한을 갖고 있지 않기 때문에 이용가능한 어플리케이션이 제한된다.
위와 같은 이유로 공유 서버는 주로 개인이 그다지 부하가 높지 않은 서비스에 이용할 경우에 적합하다고 할 수 있다. 또한 신뢰성이나 자유도에서 떨어지기 때문에 기업용으로는 적합하지 않으며 개인용이라고 해도 인터넷 쇼핑몰 등의 책임이 따르는 서비스에는 적합하지 않다.
전용 서버의 특징
1대의 서버를 통째로 점유하는 전용 서버
여러 렌탈 서버의 유형 중에서도 가장 성능이 뛰어난 것이 '전용 서버'라고 불리는 서버이다. 전용 서버는 그 이름대로 호스팅 사업자의 서버 1대를 통째 전용으로 렌탈해서 이용하는 것이다. 주택으로 비유하면, 공유 서버가 다세대주택의 월셋방 한 칸과 같다고 하면 전용 서버는 단독 주택의 임대라고 할 수 있다.
전용 서버는 강력한 처리능력을 가진 서버를 1대 통째로 렌탈하는 것으로, 리소스 전부를 자신만의 것으로 이용할 수 있기 때문에 성능, 안전성 모두 발군이다. 또한 서버의 관리자 권한도 유저에게 부여되기 때문에 이용할 수 있는 어플리케이션의 제한이 없어 OS까지 변경가능하다.
한편 전용 서버의 단점은 가격이다. 서버를 1대 통째로 렌탈하기 때문에 공유 서버에 비하면 비용이 꽤나 고가이다. 렌탈하는 서버의 성능에 따라 다르지만, 예를 들면 CPU에 인텔의 *Xeon를 탑재하고 메모리를 16GB 탑재한 표준적인 전용 서버의 경우, 이용요금은 월 몇 십만원 이상이 든다. 게다가 100만원 이상의 초기비용이 필요한 케이스가 적지 않다.
또한 전용 서버는 유지보수를 누가 담당하는가에 따라서도 두 가지로 분류된다. 먼저 호스팅사업자가 서버의 유지보수나 보안 관리를 맡는 관리 운영 서버(Managed Server)는 운용이 편한 반면, 비용이 더욱 높아진다. 이용자 자신이 관리하는 직접 관리 서버(Self Managed Server)는 비용이 관리 운영 서버보다 저렴하지만 이용자 자신이 서버의 전문지식을 보유하고 있어야 한다.
*Xeon
인텔이 서버용으로 제공하고 있는 CPU프로세서 브랜드. 연산 처리의 핵심인 '코어'를 4개 갖는 쿼드 코어 이상이 표준.
가상 서버(VPS)의 특징
1대의 서버를 소프트웨어상에서 분할하여 이용
가상 서버는 VPS(Virtual Private Server)라고 불리는 렌탈 서버의 형태이다. VPS는 호스팅 사업자의 서버 머신을 소프트웨어에 따라 기능적으로 완전히 나눔으로써 구축된 '가상의 전용 서버'를 1대 통째로 렌탈하는 서버이다. 주택으로 비유하자면 분양 아파트와 같은 렌탈 서버라고 할 수 있다.
VPS의 장점은 성능과 가격의 밸런스가 매우 좋다는 것이다. 공유 서버처럼 호스팅 사업자의 물리적인 서버의 일부를 유저에게 대여하는 서비스이다. 따라서 비용이 상당히 저렴하며 공유 서버만큼은 아니지만 전용 서버와 비교하면 훨씬 저가이다.
그럼에도 가상의 서버라고는 하지만 서버를 1대 통째로 빌리는 서비스이기 때문에 VPS에는 관리자 권한이 있어, OS의 변경부터 커스터마이즈까지 모든 것이 가능하다. 또한, 가상 서버라고는 해도 서버의 모든 리소스를 자신만이 이용할 수 있기 때문에 다른 유저의 악영향을 받는 일도 적어, 전용 서버에 준하는 기능을 공유 서버에 가까운 가격으로 이용가능한, 굉장히 매력적인 서비스라고 할 수 있다.
한편 VPS의 단점은 관리가 어렵다는 것이다. 가상 서버라도 서버를 통째로 관리하는 데 시간이 걸리는 것은 똑같기 때문에, 유저 자신이 서버의 지식을 가지고 있을 필요가 있다. 또한 전용 서버처럼 VPS에도 관리 운영 서버(Managed Server)와 직접 관리 서버(Self Managed Server)가 있다. 관리 운영 VPS 서버라면 관리에 드는 시간은 필요 없게 되지만, 그만큼 가격도 비싸진다.
* 가상 서버에서는 물리적인 서버를 나누어 이용하고 있기 때문에, 이용할 수 있는 데이터 용량이 전용 서버보다 적은 경향이 있다.
** 가상 서버에서는 물리적인 서버를 공유하여 이용하고 있기 때문에 전용 서버처럼 다른 유저의 영향을 아예 받지 않는 것은 아니다.
클라우드 서버의 특징
가상 서버보다 자유롭게 확장가능
클라우드 서버는 기본적으로 VPS의 일종으로, 주택으로 비유하자면 VPS처럼 분양 아파트에 상당하는 렌탈 서버이다. 다만, 클라우드 서버는 VPS 이상으로 자유도나 확장성이 높아, 방의 모양을 바꾸는 것은 물론 다른 방으로 이사하거나 옆방과의 벽을 없애 방을 확장하는 것도 가능한 서비스이다.
클라우드 서비스와의 관계
클라우드 서버를 더 잘 이해하기 위해서는 클라우드 서비스에 대해 파악해 둘 필요가 있다. 지금은 컴퓨터나 스마트폰으로 일상적으로 이용하는 클라우드 서비스(혹은 줄여서 클라우드)이지만, 서비스의 종류에 따라 크게 3가지로 나뉜다.
먼저 첫 번째는 SaaS(Software as a Service)이다. SaaS는 인터넷을 경유하여 어플리케이션의 기능을 제공하는 서비스로, 구체적인 예시로는 Gmail이나 Google캘린더, Google문서 등을 제공하는 Google Apps나, 마이크로소프트의 Office365, Dropbox 등이 있다.
두 번째의 PaaS(Platform as a Service)는 일반 유저에겐 그다지 친숙하지 않지만, 주로 어플리케이션의 개발에 이용하는 *플랫폼을 인터넷 경유로 제공하는 서비스이다.
그리고 세 번째가 IaaS(Infrastructure as a Service)이다. IaaS는 인터넷 경유로 인프라, 즉 서버를 대여해주는 서비스로, 이것이 바로 클라우드 서버이다. 즉 클라우드 서버라고 하는 명칭은 클라우드 서비스의 일환으로서 제공되는 렌탈 서버라는 의미로, 실질적으로는 VPS와 거의 같은 것이다.
VPS와의 차이
단, 클라우드 서버는 클라우드 서비스의 일종으로서 제공되는 렌탈 서버이기 때문에 서비스 내용이 클라우드에 맞춰져 있다. 예를 들면, 요금체계는 월 정액제가 아니라 **종량제가 기본이며, 계약 후의 리소스(용량이나 CPU 등)의 증감도 자유자재, 백업기능이나 로드밸런서(Load Balancer, 부하분산처리)라고 하는 클라우드가 아니고서는 쓰지 않는 서비스도 표준탑재되어 있다. 즉, VPS보다 확장성이나 자유도에서 우월한 서비스로서 제공되고 있는 예가 많다.
*플랫폼
① 컴퓨터 시스템의 기반이 되는 소프트웨어가 구동 가능한 하드웨어 구조 또는 소프트웨어 프레임워크의 일종. 구조(architecture), 운영 체제(Operating System), 프로그래밍 언어, 그리고 관련 런타임 라이브러리 또는 그래픽 사용자 인터페이스(GUI: Graphic User Interface) 등을 포함한다. ② 비즈니스에서 여러 사용자 또는 조직 간에 관계를 형성하고 비즈니스적인 거래를 형성할 수 있는 정보 시스템 환경. 자신의 시스템을 개방하여 개인, 기업 할 것 없이 모두가 참여하여 원하는 일을 자유롭게 할 수 있도록 환경을 구축하여 플랫폼 참여자들 모두에게 새로운 가치와 혜택을 제공해줄 수 있는 시스템을 의미한다.
출처: TTA정보통신용어사전
**종량제
통신 서비스 등에 있어서의 과금형태의 한 가지로, 유저는 서비스를 이용한 시간, 혹은 이용한 데이터의 양에 따라 요금을 지불한다.
'서버의 기본과 구조' 카테고리의 다른 글
1장. 서버의 기초지식(1) (0) | 2019.08.25 |
---|---|
서버의 기본과 구조: 목차 (0) | 2019.06.15 |