달리는 두딘

그림과 작동 원리로 쉽게 이해하는 서버의 기초 - 3. 서버를 준비한다 본문

지식노트

그림과 작동 원리로 쉽게 이해하는 서버의 기초 - 3. 서버를 준비한다

디두딘 2023. 6. 8. 22:51

1. 서버 선택

어디에 어떤 형태로 서버를 설치하는가?

→ 서버의 확장성이나 유지보수성 및 운용관리성에 큰 영향

 

  • 어디에 서버를 설치하는가?
    1. 운용 형태 : 온프레미스(자사 직접 운용) / 클라우드(클라우드용)
    2. 설치 장소(온프레미스) : 자사 설치 / 데이터 센터 설치
  • 어떤 서버를 설치하는가?
    1. 물리 서버의 종류(온프레미스) : 타워형 / 랙 마운트형 / 블레이드형
    2. 가상화/컨테이너의 도입 : 물리 서버 / 가상 머신(가상 서버, Virtual Machine, VM) / 컨테이너
    3. 하드웨어 스펙 : CPU / 메모리 / 저장소 타입 / NIC
    4. OS의 종류 : 윈도우 계열 / 리눅스 계열
    5. 서비스 제공 형태 : 어플라이언스 서버(단일 기능) / 범용 서버 

 

2. 운용 형태 (온프레미스 타입 / 클라우드 타입)

서버의 운용 형태

 

 

  • 온프레미스 타입 : 자사에서 운용
  • 클라우드 타입 : 클라우드 서비스를 사용

 

1) 온프레미스 타입

자사에 보유한 설비로 시스템을 운용 관리

자사 오피스, 서버룸, 데이터 센터에 서버를 설치

장점  - 원하는 대로 구성 조합 가능
 - 기존 시스템과 연동이 쉬움
 - 문제 상황 파악 및 해결이 쉬움
단점  - 모든 설비를 직접 조달
 - 비용 및 시간 多

 

2) 클라우드 타입

클라우드 서비스 사업자가 보유한 설비로 시스템을 운용 관리

서버 등의 리소스를 모두 서비스로 사용 

장점  - 설비 조달 및 구축에 시간 소요가 적음
 - 상황에 따라 스펙 변경이 쉬움
단점  - 클라우드 서비스 사업자가 제공하는 범위에 한해서만 구성 조합이 가능
 - 클라우드 서비스 자체에 장애 발생 시 문제 해결이 어려움

 

3) 하이브리드 타입

온프레미스 + 클라우드를 VPN으로 연결한 형태로 각각의 장점을 살린 형태 

 

3. 클라우드 서비스 종류

 

 

1) IaaS(Infrastructure as a Service)

CPU, 메모리, OS 등 컴퓨터의 인프라스트럭처(기반)를 제공하는 타입의 클라우드 서비스

시스템 관리자가 관리 화면에서 인프라스트럭처 구성을 선택 → 컴퓨터(인스턴스) 제공 → 필요한 소프트웨어 설치
ex) AWS의 EC2, Azure의 Virtual Machines

 

2) paaS(Platform as a Service)

애플리케이션을 실행하기 위한 환경(플랫폼)을 제공하는 타입의 클라우드 서비스

시스템 관리자가 관리 화면에서 실행 환경 종류 및 인프라스트럭처 구성을 선택 → 애플리케이션을 사용할 수 있는 환경 제공 → 환경을 사용할 뿐, 인프타스트럭처 부분의 유지보수는 클라우드 서비스 사업자에게 맡김
ex) AWS의 RDS, Azure의 App Service

 

3) Saas(Software as a Service)

소프트웨어(서비스)를 제공하는 타입의 클라우드 서비스

시스템 관리자 : 기능 및 사용자 설정을 실시 / 사용자 : 일반적인 소프트웨어와 같이 사용 → 필요한 소프트웨어 기능만을 서비스로 제공 → 서비스를 제공하기 위해 작동하는 서버나 소프트웨어에 신경쓸 필요가 없음
ex) Gmail, Google 지도

 

4. 설치 장소(온프레미스 : 자사 / 데이터센터)

1) 서버 설치 환경의 필요성

서버는 유지보수 시를 제외하고 항상 가동할 수 있도록 물리적 관점에서 문제에 대비해야 함

  • 검토 항목 : 열 대책, 전원 대책, 지진 대책, 보안 대책

 

2) 자사 서버룸

장점  - 서버 장애 시 즉시 대응 가능
단점  - 전원 설비, 공조 설비, 내진 설비, 보안 설비 등을 직접 준비해야 함

 

3) 데이터 센터

장점  - 전원 설비, 공조 설비, 내진 설비 등이 이미 제공되므로 자사 준비 필요가 없음
단점  - 교외 타입 시 즉시 대응이 힘듦
 - 데이터 센터 고유 비용 소

 

5. 서버 가상화(Virtualization)

 

서버 가상화란? 1대의 서버를 여러 서버로 나누어 사용하는 기술

  • 가상화 소프트웨어를 사용하여 하드웨어를 논리적으로 분할하여 OS에게 할당함으로써 서버의 분할을 구현

가상 머신(Virtual Machine)이란? 서버 가상화로 만든 서버

 

장점  - 하드웨어 비용과 공간 절감
 - 가상 자원을 활용한 신뢰성
단점  - 높은 초기 비용
 - 시스템 관리 서버에 의

 

1) 서버 가상화 유형

  • 전체 가상화
    • 지정된 하이퍼바이저가 물리적 서버와 함께 직접 리소스를 모니터링 및 추상화한 다음 이러한 리소스를 필요에 따라 관련 가상 시스템에 배포
    • 각 VM을 나머지와 분리한 상태로 유지하며 각 VM이 자체 OS(운영 체제)를 실행 
  • 반가상화
    • 전체 가상화와 유사하지만 차이점은 각 VM의 다른 요소에 대한 인지 여부와 OS에서 사용하는 리소스의 양이며, 효율성 향상
  • OS 수준 가상화
    • 가상화가 하이퍼바이저가 아닌 물리적 서버의 OS 안에서 일어남 따라서 VM은 개별적으로 작동하더라도 물리적 서버와 동일한 OS를 실행

 

6. 가상화 소프트웨어 종류

1) 호스트 OS

 

호스트 OS

 

일반적인 OS(호스트 OS)에 설치한 가상화 소프트웨어 위에서 가상 머신을 작동시키는 가상화 기술

장점  - 간단하게 설치 가능 & 사용이 쉬움  일시적인 검증 환경 구축에 적합
단점  - OS위에 OS가 얹히는 방식이라 오버헤드가 큼
ex) VMWare Player, VirtualBox

 

2) 하이퍼바이저

 

하이퍼바이저

 

서버에 직접 설치한 가상화 소프트웨어 위에 가상 머신을 작동시키는 가상화 기술

장점  - 별도의 Host OS가 없기 때문에 오버헤드가 적음
 - 하드웨어를 직접 제어하기 때문에 효율적으로 리소스를 사용할 수 있음
단점  - 자체적으로 머신에 대한 관리 기능이 없기 때문에 관리를 위한 컴퓨터나 콘솔이 필요
ex) Xen, MS hyper-V, citrix, KVM

 

7. 컨테이너(Container)

 

컨테이너(Container) - 가상 머신(Virtual Machine) 비교

 

호스트 OS상에 논리적인 구획(컨테이너)을 만들고, 어플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것

 

호스트 OS의 리소스를 논리적으로 분리시키고, 여러 개의 컨테이너가 공유하여 사용

 OS나 디렉토리, IP 주소 등과 같은 시스템 자원을 마치 각 어플리케이션이 점유하고 있는 것처럼 보임

  • 특징 : 컨테이너는 오버헤드가 적기 때문에 가볍고, 고속으로 작동

 

도커(Docker)

 

 

 

도커는 내가 정리하는 것보다 이 포스트들 읽는 게 훨씬...

 

 

도커에 대한 어떤 것 : 1. 도커란 무엇인가?

개발팀, 운영팀 가리지 않고 누구나 좋아하는 도커란 무엇일까요?

velog.io

 

[Docker] 도커란 무엇인가? 도커 한방 정리!

[Docker] 도커란 무엇인가? 도커 한방 정리! 우리 회사는 하드웨어 중심의 IoT 회사. 전체적으로 나이가 많고 (40대 이상) 개발 연구소장님이 하드웨어 부장님이라 굉장히 기술이 올드하다... 서버는

be-developer.tistory.com

 

8. 리눅스 서버 / 윈도우 서버

1) 리눅스 계열 서버 OS 

UNIX와 유사하게 작동하도록 만들어진 OS

 

특징

  • 키보드를 통한 커맨드라인 입력 조작
  • 무료로 사용할 수 있는 OS가 여럿 존재

ex) 레드햇의 Red Hat Enterprise Linux (RHEL.), Ubuntu

 

2) 윈도우 계열 서버 OS

특징

  • 화면을 마우스로 직접 조작
  • 유료이므로 초기 비용이 높음

 

다양한 리눅스 서버 계열 OS

계열 이름 유료/무료 개요
Red Hat Red Hat Enterprise Linux (RHEL.) 무료 레드햇이 개발한 상용 리눅스 계열 서버 OS, 대규모 시스템의 서버에 일반적으로 사용됨
CentOS 무료 Red Hat Enterprise Linux의 상용 부분을 제거한 Linux 계열 서버 OS, 안정성도 상당히 높아 상용으로 사용하기도 함
Debian Debian 무료 전 세계 자원 엔지니어로 구성된 커뮤니이테 의해 개발되고 있는 리눅스 계열 서버 OS, 안정성이 높아 상용으로 사용하기도 함
Ubuntu 무료 Debian을 기반으로 만들어진 리눅스 계열 OS, 사용하기 쉬우며, 서버 용도뿐만 아니라 데스크톱 용도로도 사용되기도 함