[Infra] 컨테이너

무1민·2023년 11월 20일
1

infra

목록 보기
9/14
post-thumbnail

infra 부분에서 조금 순서가 바꼈지만..
근본적으로 컨테이너에 대해서 이해하고 넘어가야할 필요가 있다고 생각해서 포스팅한다.

🎶 컨테이너란?

호스트OS 상에서 논리적인 구획을 만들고, 어플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것.
실행환경을 독립적으로 운용할 수 있도록 기반환경 또는 다른 실행환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체계 수준의 격리 기술을 말한다. 운영체제 커널은 공유한다.

💁‍♀️ 컨테이너의 장점

물리 서버 상에 설치한 호스트 OS의 경우 여러 어플리케이션은 똑같은 시스템 리소스를 사용한다. 이 때 작동하는 여러 어플리케이션은 데이터를 저장하는 디렉토리를 공유하고, 서버에 설정된 동일한 IP 주소로 통신한다.
이에 반해, 컨테이너 기술을 사용하면, OS나 디렉토리, IP주소 등과 같은 시스템 자원을 마치 각 어플리케이션이 점유하고 있는 것처럼 보이게 할 수 있다.

  • 가벼움

    사용자의 Request Traffic이 증가함에 따라, 가상머신이나 컨테이너를 추가적으로 배포할 때 가상머신의 크기는 최소 GB 단위 이지만, 컨테이너의 경우 Guest OS가 없기에 MB 단위의 크기를 가진다.

  • 탄력성

    컨테이너는 Linux, Windows, 가상머신 어느 환경에서나 구동이 되므로 개발 및 배포가 쉬워진다. 호스트 OS가 달라도 어디서든 구동시킬 수 있다.

  • 유지관리 효율

    운영 체제 커널이 하나밖에 없기 때문에 운영 체제 수준에서 업데이트 또는 패치 작업을 한 번만 수행하면 변경사항이 모든 컨테이너에 적용된다.

👊 컨테이너 vs 가상머신

가상머신은 애플리케이션을 동작시키기 위해 애플리케이션이 사용하는 리소스에 운영체제가 동작하기 위한 리소스가 추가로 필요하다.
그러나 컨테이너는 애플리케이션이 동작하기 위한 리소스만 사용하기 때문에 더 빠르고 동작시킬 수 있다.

👐출처

https://kk-7790.tistory.com/135
https://captcha.tistory.com/46
https://nearhome.tistory.com/83
https://velog.io/@geunwoobaek/%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%B0%8F-%EB%8F%84%EC%BB%A4-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC

profile
야호

0개의 댓글