본문 바로가기

웹개발/CS

[server] 서버 준비하기

 

서버를 준비할 때 알아두고 고려해야 할 상황을 정리했다. 

 

 

 

서버의 운용 형태 

온프레미스형

  • 자사에서 보유하는 설비를 사용하는 시스템 운용 형태
  • 원하는 대로 구성할 수 있으며, 기존의 시스템과 유연하게 연계시킬 수 있다. 
  • 트러블 슈팅을 하기 쉽다.
  • 설치 공간, 기기등 모든 설비를 직접 조달해야 하기 때문에 비용이 많이 들고 실제 운용까지의 시간도 많이 걸린다.    

클라우드형

  • 클라우드 사업자가 보유하고 있는 설비를 사용하는 시스템 운용 형태
  • 설비 조달이나 구축에 시간이 걸리지 않는다.
  • 쉽게 바꿀 수 있어서 다양한 사양 요건에 대응하기 쉽다. 
  • 한정된 틀 안에서만 구성을 할 수 있어서 유연한 구성을 하기 어렵다.
  • 트러블 슈팅이 어렵다.

하이브리드 클라우드형

  • 사내에 있는 온프레미스 환경과 클라우드 사업자 안에 있는 클라우드 환경을 VPN으로 연결한 것이다. 
  • 기존 시스템와 연계가 필요한 시스템은 온프레미스형 환경에 그럴 필요 없는 시스템은 클라우드형 환경에 배치시킨다. 

 

 

클라우드 서비스의 종류

IaaS (Infrastructure as a Service)

메모리나 CPU, 스토리지, 네트워크 등과 같은 인프라를 제공한다. 

시스템 관리자가 하드웨어 구성을 선택하면 필요한 사양을 가진 서버가 제공되고 제공된 서버로 필요한 애플리케이션 실행 환경을 직접 구축한다. 즉 가상화된 device(컴퓨터)만을 제공하는 것이다. 

 

PaaS (Platform as a Service)

애플리케이션을 가동하기 위한 기반을 제공한다. 

서비스 사업자가 제공하는 프로그램 언어나 데이터베이스 애플리케이션 등을 이용하여 애플리케이션을 개발한다. 

 

SaaS (Software as a Service)

소프트웨어(서비스)를 제공한다.

시스템 관리자는 클라우드에 있는 소프트웨어를 서비스로서 이용하고 이용자는 마련된 URL에 액세스 하여 웹 브라우저에서 서비스를 이용한다. 

ex) Gmail, Google Map

 

 

 

서버 가상화  

한 대의 서버를 많은 서버로 분할하여 이용하는 기술이다. 

가상화 소프트웨어를 사용하여 물리 서버와 하드웨어를 논리적으로 분할하여 이용한다.

 

*가상 서버/가상 머신: 서버 가상화로 만든 서버 ex) docker

 

장점

  • 물리적인 서버의 대수를 줄이고 설치 공간을 줄일 수 있다. 
  • 사용되지 않은 CPU나 메모리 들의 리소스를 유용하게 활용할 수 있다.
  • 라이브 마이그레이션: 물리 서버를 가동시킨 상태에서 다른 물리 서버로 가상 머신을 이동시킬 수 있는 기능
  • 폴트 톨러런스: 한 가상 머신의 복사본을 두고 장애가 생겼을 때 복사 서버가 이어나갈 수 있다.

단점

  • 가상화 소프트웨어는 가상 머신에서 여러 가지 하드웨어 처리를 에뮬레이트하고 있기 때문에 가상화하지 않은 서버와 비교하여 그만큼 퍼포먼스가 떨어진다. 

 

 

가상화 소프트웨어

서버를 가상화 하기 위한 소프트웨어이다. 

'호스트 OS형'과 '하이퍼바이저형'으로 크게 나눈다.

 

호스트 OS형

보통의 OS(호스트 OS)에 인스톨한 가상화 소프트웨어에서 가상 머신(게스트 OS)을 작동시키는 기술이다.

보통의 PC에도 간단히 인스톨 할 수 있다. 

호스트 OS위에서 다시 게스트 OS를 움직이는 것이므로 가상 머신의 동작이 무겁다(리소스 소비가 많고 처리 지연 발생). 

 

하이퍼바이저형 

서버에 직접 인스톨한 가상화 소프트웨어에서 가상 머신을 작동시키는 가상화 기술이다.

호스트 OS, 게스트 OS의 개념이 없이 하드웨어상에서 직접 작동하므로 가상 머신이 빠르게 작동한다.

 

컨테이너형

OS에 작성한 구획(컨테이너)에 애플리케이션 작동 환경을 만든다. 

호스트 OS의 리소스를 나누어 쓰기 때문에 동일한 OS 환경만을 사용할 수 있다.

 

 

UNIX 계열 서버 OS와 Windows 계열 서버 OS

Unix 계열 서버 OS

  • Unix처럼 작동하도록 만든 OS이다. ex) Linux, IBM사의 AIX
  • 커맨드 라인에 의한 입력 조작이 기본이다.
  • Linux의 경우 무료로 사용 할 수 있는 패키지(디스트리뷰션)들이 다수 존재한다.
  • 무료를 사용하면 초기 비용 절감은 되지만 트러블이 날 경우 자력으로 해결해야 한다.

 

Windows 계열 서버 OS

  • Windows를 서버용으로 업그레이드시킨 제품이다. ex) Windows Server 2008 등
  • Windows의 그래피컬한 화면에서 조작 가능하다.
  • 유료이므로 초기 비용이 든다.

 

 

어플라이언스 서버

특정 서비스나 기능만으로 특화시켜 만든 서버이다. 전용 하드웨어에 서버 OS와 서비스를 제공하는 소프트웨어가 처음부터 인스톨되어 있다. 

 

장점

  • 도입과 설정이 간단하다.
  • 불필요한 기능이 없이 최적화되어있어 저렴하고 퍼포먼스가 좋다. 

단점

  • 정해진 범위 이외 세세한 설정은 할 수 없다.
  • 하드웨어의 일부를 업그레이드하거나 소프트웨어를 바꾸는 일 등은 할 수 없다.

 

 

가상 어플라이언스 서버

어플라이언스 서버가 물리 서버를 가상화한 서버이다. 처리의 고속화 효율화를 위해 가상 어플라이언스  서버는 기반이 되는 OS나 서비스, 그리고 하드웨어 처리를 모두 가상화 소프트웨어인 하이퍼바이저에서 수행한다.

 

장점

  • 가상 소프트웨어 위에서 하나의 가상 머신으로 작동하기 때문에 설치 공간이 필요 없다.
  • 물리 어플라이언스 서버보다 저가이다.  

단점

  • 가상 어플라이언스는 가상화 소프트웨어 처리를 경유하게 되어있고 하드웨어 처리를 소프트웨어 처리로 수행되도록 되어 있기 때문에 퍼포먼스가 저하된다. 

 

 

 

'웹개발 > CS' 카테고리의 다른 글

[server] 서버 장애 보호  (0) 2021.06.21
[server] 공개 서버의 기본  (0) 2021.06.21
[server] 사내 서버의 기본  (0) 2021.06.17
[network] 네트워크 기초 지식  (0) 2021.06.16
[server] 서버 기초 지식 정리  (0) 2021.06.15