컨테이너 배포란? : 애플리케이션 배포의 역사
컨테이너 형태의 배포는 애플리케이션 배포 패러다임중 하나이다. 이를 이해하기위해 역사를 살펴보자.
- 전통적 배포
하나의 서버위에서 여러 애플리케이션을 실행하게되면 서버 자원을 각 애플리케이션에 어떻게 분배할지 문제가 발생한다(자원이 부족한 애플리케이션이 생긴다).
이런 문제를 피하기위해 하나의 서버에 하나의 애플리케이션이 동작하도록 배포하는게 전통적 배포이다.
- 가상화 배포
전통적 배포의 문제점은 자원낭비가 심하다는것이다.
이를 해결하기 위해 가상화 배포는 Hypervisor와 Virtual Machine을 이용해 하나의 서버위에 여러 애플리케이션이 실행될 수 있게 된다.
- 하이퍼바이저와 가상머신의 동작
가상머신은 하나의 머신으로서 운영체재를 포함한다. 이 가상머신들을 물리적인 서버에서 동작시키는것이 하이퍼바이저이다.
하이퍼바이저는 각 가상머신에게 서버의 리소스를 분배하고 가상머신들을 격리하는 역할을 한다.
- 컨테이너 배포
컨테이너 배포는 가상화 배포에서 격리의 강도를 줄여 각 애플리케이션이 os를 공유한다고 생각하면 된다.
하나의 서버위에 여러 컨테이너를 실행시키기 위해 VM과 마찬가지로 각 컨테이너에 대한 자원 할당이 정해져 있다.
이식성이 좋아 여러 환경에 대해 배포가 쉽고 VM에 비해 이미지 생성이 쉽다.
Written on
April
3rd
,
2021
by
Wonbin Kim
Feel free to share!