가상화
로컬 / 가상 머신 / 컨테이너
로컬
- 서비스 따라서 호스트 운영체제(서버 운영체제)의 선택에 제한적일 수 있다. 애플리케이션을 배포하는 경우에도 개발 환경과 동일하게 구성되지 않는 경우 오류를 예측하기가 어렵기 때문에 각 배포환경을 최대한 동일하게 구성되도록 신경을 많이 써야한다.
가상화 방식
가상머신(VM)
- VM은 하드웨어, 운영체제 수준에서의 가상화방식이다. 각 가상머신은 운영체제(OS), 바이너리, 라이브러리, 애플리케이션 전체를 포함하고 있다. 가상머신의 실행은 하이퍼바이저(hypervisor)라는 소프트웨어가 필요하며, 이는 호스트 서버의 물리적 하드웨어 리소스를 가상머신에 분배해주는 역할을 수행한다.
- 운영체제를 부팅하고 서비스를 시작하는데 상대적으로 더 많은 시간이 필요하다.
- 각 가상머신에는 운영체제가 포함되어 더 많은 디스크 공간, CPU, 메모리의 자원이 필요해진다.
- 개별 가상머신의 운영체제는 독립된 형태로 별도의 개별 관리가 필요하다.
- 완전한 격리, 강력한 보안, 다양한 운영체제 환경이 필요한 경우 가상머신 방식이 적합.
컨테이너
- 운영체제 수준에서의 가상화방식이다. 각 컨테이너는 자체적으로 필요한 바이너리, 라이브러리, 애플리케이션을 포함하고, 호스트 서버 OS의 커널을 공유하게 된다. 따라서 각 컨테이너에는 독립적인 운영체제가 필요하지 않으며, 이를 통해 리소스 효율성과 성능이 향상된다.
- 컨테이너는 애플리케이션 수준에서의 격리를 수행하기 때문에, 애플리케이션을 직접 실행하는 것과 거의 비슷한 실행속도를 가지며, 이는 가상머신 방식에 비해서 효율이 높다. 또한 성능은 직접 로컬에 구현한 애플리케이션 대비 90% 이상의 성능을 보여준다.
- 컨테이너는 오케스트레이션 툴을 통해서 관리할 수 있다.
- 리소스 효율성, 빠른 사용, 이식성, 확장성이 필요한 경우 컨테이너가 적합.
'DB > Oracle' 카테고리의 다른 글
DECODE 함수 (0) | 2024.04.04 |
---|---|
UNION과 UNION ALL의 차이 (0) | 2024.04.03 |
[Oracle] 변환함수 (0) | 2023.12.20 |
[Oracle] 일반함수 - NVL, COALESCE (0) | 2023.12.20 |
[Oracle] 문자함수 (0) | 2023.12.13 |