1. Container 와 Virtualization
1) Virtualization(가상화)
- 서버, 스토리지, 네트워크 및 물리적 시스템에 대한 가상 표현을 생성하는데 사용할 수 있는 기술
- 가상화 소프트웨어는 물리적 하드웨어 기능을 모방해서 하나의 물리적 컴퓨터에서 여러 가상 시스템을 동시에 실행하는 것이 가능하도록 함
- 하드웨어 리소스를 효율적으로 사용해서 투자 대비 이익을 더 많이 얻을 수 있고 클라우드 컴퓨팅 서비스를 지원해서 조직의 인프라를 더욱 효율적으로 관리할 수 있음
2) 장점
- 효율적인 리소스 사용
- 자동화된 IT 관리
- 신속한 재해 복구
3) 가상화 서비스
- 서버 가상화
- 스토리지 가상화
- 네트워크 가상화
- 네트워크 기능 가상화
- SDN (Software Defined Networking)
- 물리적인 환경의 데이터 라우티에서 라우팅 관리를 인수하여 트래픽 라우팅을 제어함
- 여러 종류의 트래픽이 있을 때 특정 종류에 우선권을 부여할 수 있음
- 데이터 가상화
- 애플리케이션 가상화
- 데스크톱 가상화
4) 가상화 방식
- 호스트 운영체제 가상화
- 물리적인 하드웨어 위에 설치된 HOST OS의 위에 가상화 소프트웨어와 가상 머신이 설치 된 Guest OS를 움직이는 방식
- 가상의 하드웨어를 에뮬레이팅 하기 때문에 호스트 운영체제에 크게 제약 사항이 없음
- 운영체제 위에 운영체제가 얹히는 방식으로 오버헤드가 큼
- 가상화 소프트웨어
- VM Ware
- VirtualBox
- Virtual PC
- UTM(Mac)
- 하이퍼바이저 가상화
- HOST OS 없이 하드웨어에 하이퍼바이저를 설치해 사용하는 가상화 방식
- 호스트 운영체제와 별도로 개별 시스템처럼 동작하기 때문에 처리 오버헤드가 존재하지 않음
- 자체적으로 머신에 대한 관리 기능이 업식 때문에 관리를 위한 컴퓨터나 콘솔이 필요함
- 하드웨어와 운영체제 사이에서 물리적인 시스템의 하드웨어에 직접 설치되는 경우를 베어메탈 하이퍼 바이저라고 함
- 구현방식
- 전 가상화 (Full Virtualization)
- 하드웨어를 완전히 가상화하는 방식
- VMWare의 ESX Server 나 MS의 Hyper V가 대표적 소프트웨어
- 하드웨어를 완전히 가상화하는 방식
- 전 가상화 (Full Virtualization)
-
-
- 반 가상화 (Para Virtualization)
- 하이퍼 바이저가 다른 작업을 수행하지 않고 명령만 처리하는 형태
- 전 가상화는 모든 작업을 하이퍼 바이저에게 전송하기 때문에 성능이 저하가 발생
- Xen 나 KVM이 대표적 반 가상화 소프트웨어
- 하이퍼 바이저가 다른 작업을 수행하지 않고 명령만 처리하는 형태
- 반 가상화 (Para Virtualization)
-
- Container 가상화
- HOST OS 위에 Container 관리 소프트웨어를 설치하고 논리적으로 Container를 나누어 사용하는 방식
- 각 Container는 애플리케이션 동작을 위한 라이브러리와 애플리케이션, 데이터로 구성되고 이를 개별 컴퓨터처럼 사용가능
- 장점
- 오버헤드가 적어 가볍고 빠름
- 단점
- 다양한 OS를 사용할 수 없고 보안적으로 완전히 격리되지 않음
- 가상화 소프트 웨어
- Open VZ
- LXC
- Linux VServer
- Docker
- Oracle Solaris Zones
- 하드웨어 위에 컨테이너 관리 소프트웨어가 위치하고 각 가상환경이 위치하는 구조
- 애플리케이션 배포 환경이 운영체제에 직접 배포하던 방식에서 hypervisor를 이용하는 방식으로 넘어 갔다가 최근에는 Container 가상화 방식으로 이전
5) Container
- 각 애플리케이션에는 운영체제가 아닌 의존성 요소만 포함
- 애플리케이션은 HOST OS와 직접 연결되기 때문에 기존의 가상화 방식보다 성능이 향상되고 리소스 낭비도 발생하지 않으며 Image의 크기도 작음
- Docker Engin에서는 Container용 Linux NameSpace와 Control Group을 생성해 처리하며 이는 운영체제를 격리하는 것 보다는 덜 안전하다.
'DX Data School' 카테고리의 다른 글
Docker 2 (0) | 2024.04.08 |
---|---|
Docker (0) | 2024.04.05 |
CI/CD (0) | 2024.04.05 |
MSA 구성 요소 및 MSA 패턴 (1) | 2024.04.01 |
리액티브 선언 (0) | 2024.04.01 |