1. 경량화(Lightweight)
컨테이너는 커널을 공유하기 때문에 VM처럼 OS를 따로 설치하지 않아 메모리 사용량이 적고, 실행 속도가 빠릅니다.
2. 빠른 시작 속도(Fast Boot)
OS 부팅 없이 바로 실행되므로 수 초 이내에 컨테이너를 시작할 수 있습니다.
3. 이식성(Portability)
어떤 OS든 컨테이너 런타임만 설치되어 있다면 동일하게 실행할 수 있습니다. 개발, 테스트, 운영 환경이 동일하게 유지됩니다.
4. 확장성과 관리 용이성(Scalability & Manageability)
Kubernetes 등으로 자동화된 확장이 쉬우며, 수평 확장, 롤백 등이 유연합니다.
5. 마이크로서비스에 적합
각각의 컨테이너가 독립적인 서비스를 담당하기 때문에 마이크로서비스 아키텍처(MSA)에 적합합니다.
---
컨테이너와 가상머신(VM)의 차이
항목 가상머신(VM) 컨테이너(Container)
구조 하이퍼바이저 + 게스트 OS + 앱 호스트 OS + 컨테이너 엔진 + 앱
운영체제 각각 독립된 OS 필요 호스트 OS 커널 공유
부팅속도 수 분 단위 수 초 단위
무게 무겁고 리소스 많이 필요 가볍고 효율적
격리성 높은 수준의 격리 제공 프로세스 수준 격리 (가벼움)
사용 목적 단일 서버에서 여러 OS 운영 빠르고 유연한 서비스 배포용
LIST
'Spring & Backend' 카테고리의 다른 글
| 단일 프로세스 시스템에 대해서 설명해주세요. (2) | 2025.07.16 |
|---|---|
| Keep Alive에 대해 설명해 주세요. (0) | 2025.07.15 |
| 자바에서 제네릭의 공변, 반공변, 무공변에 대해 설명해 주세요 (4) | 2025.07.14 |
| Cache-Control 헤더에 대해 설명해주세요 (2) | 2025.07.14 |
| CQRS와 이벤트 소싱 (2) | 2025.07.11 |
