일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 코딩테스트 연습
- Plating
- 플레이팅
- 프로그래머스 코딩테스트
- 샐러드
- 직장인점심구독
- .dockerignore
- 신입 개발자 자바 면접 질문
- 개발자 면접 질문
- docker
- 개발자 정규직
- 식단
- 신입 개발자 면접
- Linux
- 자바 암호화 복호화
- 식단일기
- 신입 개발자 면접 질문
- 자바 암호화 알고리즘
- 신입 개발자 필수 면접 질문
- docker image
- 셰프의찾아가는구내식당
- 개발자 코딩테스트
- 프로그래머스
- 자바 암호화
- 개발자 면접
- 개발자 인턴
- 개발자 채용연계형인턴
- 도커
- 신입 개발자 자바 면접
- 자바 stream
- Today
- Total
달리는 두딘
그림과 작동 원리로 쉽게 이해하는 서버의 기초 - 3. 서버를 준비한다 본문
1. 서버 선택
어디에 어떤 형태로 서버를 설치하는가?
→ 서버의 확장성이나 유지보수성 및 운용관리성에 큰 영향
- 어디에 서버를 설치하는가?
- 운용 형태 : 온프레미스(자사 직접 운용) / 클라우드(클라우드용)
- 설치 장소(온프레미스) : 자사 설치 / 데이터 센터 설치
- 어떤 서버를 설치하는가?
- 물리 서버의 종류(온프레미스) : 타워형 / 랙 마운트형 / 블레이드형
- 가상화/컨테이너의 도입 : 물리 서버 / 가상 머신(가상 서버, Virtual Machine, VM) / 컨테이너
- 하드웨어 스펙 : CPU / 메모리 / 저장소 타입 / NIC
- OS의 종류 : 윈도우 계열 / 리눅스 계열
- 서비스 제공 형태 : 어플라이언스 서버(단일 기능) / 범용 서버
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가 얹히는 방식이라 오버헤드가 큼 |
ex) VMWare Player, VirtualBox
2) 하이퍼바이저
서버에 직접 설치한 가상화 소프트웨어 위에 가상 머신을 작동시키는 가상화 기술
장점 | - 별도의 Host OS가 없기 때문에 오버헤드가 적음 - 하드웨어를 직접 제어하기 때문에 효율적으로 리소스를 사용할 수 있음 |
단점 | - 자체적으로 머신에 대한 관리 기능이 없기 때문에 관리를 위한 컴퓨터나 콘솔이 필요 |
ex) Xen, MS hyper-V, citrix, KVM
7. 컨테이너(Container)
호스트 OS상에 논리적인 구획(컨테이너)을 만들고, 어플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것
호스트 OS의 리소스를 논리적으로 분리시키고, 여러 개의 컨테이너가 공유하여 사용
→ OS나 디렉토리, IP 주소 등과 같은 시스템 자원을 마치 각 어플리케이션이 점유하고 있는 것처럼 보임
- 특징 : 컨테이너는 오버헤드가 적기 때문에 가볍고, 고속으로 작동
도커(Docker)
도커는 내가 정리하는 것보다 이 포스트들 읽는 게 훨씬...
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, 사용하기 쉬우며, 서버 용도뿐만 아니라 데스크톱 용도로도 사용되기도 함 |
'지식노트' 카테고리의 다른 글
참/거짓(Boolean)을 반환하는 함수명 (3) | 2023.08.21 |
---|---|
그림과 작동 원리로 쉽게 이해하는 서버의 기초 - 4. 사내 서버 기본 (2) | 2023.06.10 |
그림과 작동 원리로 쉽게 이해하는 서버의 기초 - 2. 네트워크 기초 지식 (2) | 2023.06.06 |
그림과 작동 원리로 쉽게 이해하는 서버의 기초 - 1. 서버란 (4) | 2023.06.06 |
[DB] Oracle - MariaDB 차이 (2) | 2023.05.18 |