[게임 서버] 4.8 서버 구동 환경

게시:     수정

카테고리:

태그:

📦 4. 게임 서버와 클라이언트

👉🏻 항목 8: 서버 구동 환경

📜 서버 플랫폼의 역사

이전 (초기):

  • 윈도 서버를 사용하였다
  • IOCP를 통해 수백수천의 네트워크 연결을 처리할 수 있었다
  • 서버/클라이언트가 동일한 소스 코드를 빌드할 수 있었다

이후 (현재):

  • 리눅스/유닉스에서 IOCP에 준하는 기능을 제공하였다
  • 리눅스 서버가 주류로 자리잡음

📋 서버 요구 사항

1. 신뢰성:

  • 인터넷이 끊기지 않고, 속도가 균일해야 한다

2. 보안성:

  • 외부의 침입에 안전해야 한다

3. 가용성:

  • 서버는 쉽게 고장나지 않고, 지속적으로 접근할 수 있어야 한다

🖥️ 서버 종류

두 가지 주요 유형:

  • 온프레미스(on-premise) 서버
  • 클라우드 서버

🏢 온프레미스(on-premise) 서버

정의:

  • 자체 서버, 온프림 서버라고도 한다
  • 데이터센터에 직접 서버 하드웨어와 운영체제를 설치

단점:

  • 유동적인 사용자 수에 빠르게 대응하지 못한다

☁️ 클라우드 서버

구조:

  • 리얼 머신 내에 가상 머신을 사용하여 서버를 구축한다
  • 리얼 머신 내에 여러 가상 머신이 돌아간다

장점:

  • 서버를 필요할 때마다 쉽게 늘리거나 줄일 수 있다

단점:

  • 가상 머신은 리얼 머신보단 느리다

가상화의 유연성:

  • 윈도우 안의, 리눅스 안의, 윈도우 안의, 리눅스 안의, 리눅스가 가능하다
    • ⚠️ 가능하다는 거지, 효율적이라는 건 절대 아니다

📊 물리적 서버 vs 클라우드 서버

구분 물리적 서버 클라우드 서버
특징 서버 컴퓨터 한 대에 운영체제 하나 구동 서버 컴퓨터 한 대에 여러 운영체제를 가상 머신으로 구동
서버 한 대당 유지 비용 낮음 높음
서버 증설 속도 느림 빠름
서버 철거 속도 느림 빠름
자동 스케일 아웃 불가능 가능
처리 속도 균일성 높음 낮음
장애 처리 느림 빠름

🏗️ 클라우드 서비스의 계층

1️⃣ IaaS (Infrastructure as a Service)

정의:

  • 가상 머신 자체를 제공하는 서비스이다

예시:

  • Oracle Cloud의 컴퓨팅 서비스

특징:

  • 가장 낮은 계층
  • 최대한의 제어권
  • 운영체제부터 직접 관리

2️⃣ PaaS (Platform as a Service)

정의:

  • IaaS보다 상위 계층
  • 운영체제, 프레임워크 소프트웨어가 이미 돌아가고 있으며, 건드릴 수 없다

예시:

  • 웹 호스팅 서비스

특징:

  • 플랫폼 레벨 추상화
  • 인프라 관리 불필요
  • 애플리케이션 개발에 집중

3️⃣ SaaS (Software as a Service)

정의:

  • PaaS보다 상위 계층
  • 코딩 자체가 필요 없다

예시:

  • Google Analytics

특징:

  • 가장 높은 계층
  • 완성된 소프트웨어 제공
  • 설정만으로 사용 가능

🧐 정리

서버 선택 기준

물리적 서버를 선택하는 경우:

  • 안정적이고 예측 가능한 트래픽
  • 장기적으로 운영 (2-3년 이상)
  • 최고 성능이 필요한 경우
  • 초기 투자 비용 감당 가능

클라우드 서버를 선택하는 경우:

  • 유동적인 트래픽
  • 빠른 스케일링 필요
  • 초기 투자 비용 최소화
  • 유연한 인프라 관리

클라우드 계층 선택 가이드

계층 제어 수준 관리 복잡도 적합한 경우
IaaS 높음 높음 완전한 제어 필요
커스텀 환경 구축
PaaS 중간 중간 애플리케이션 개발에 집중
빠른 배포 필요
SaaS 낮음 낮음 즉시 사용 가능한 서비스 필요
개발 불필요

GameServer 카테고리 내 다른 글 보러가기

댓글남기기