Virtual Machine
Host OS위에 Guest OS를 가상화하는 방식입니다. 사용법이 간단하지만 각 가상 머신마다 전용 운영 체제가 있기때문에 가상머신에 구축된 애플리케이션을 실행할 때 메모리 사용량이 필요 이상으로 많아져 가상 머신이 호스트에 필요한 리소스를 모두 사용할 수 있습니다. 가상머신이 Host하는 애플리케이션과 함께 전체 운영체제와 관련 도구도 포함하기 때문입니다. 또한 운영 체제를 업데이트하거나 패치할 경우 기존 컴퓨터를 하나씩 업데이트해야 하고 각 게스트 OS를 개별적으로 패치해야 합니다. 하지만 Host OS와 Guest OS가 완벽하게 격리하기 때문에 강력한 보안 경계가 필요할 때 유용합니다.
Container
VM과 같이 가상화하는 방식은 무겁고 성능 문제가 발생하기에 프로세스를 격리하는 방법이 등장했습니다. 가상화와 달리 컨테이너화된 애플리케이션은 완전한 가상 머신보다 리소스를 더 적게 사용하고 호스트 메모리에 가해지는 부담을 줄일 수 있도록 운영체제 환경(커널)을 공유합니다. 컨테이너는 상대적으로 가볍습니다. 컨테이너화된 애플리케이션을 실행하는 데 필요한 라이브러리와 도구만 포함하기 때문에 가상머신보다 더 작고 더 빨리 시작됩니다. 또 컨테이너 호스트(컨테이너를 호스트하는 컴퓨터)의 운영 체제만 업데이트하면 되기 때문에 따라서 유지관리가 매우 간소화됩니다. 또한 Docker를 사용하여 개별 컨테이너를 배포합니다.
참고자료
728x90
반응형
'Computer Science > Programming' 카테고리의 다른 글
암호화 (0) | 2022.09.15 |
---|---|
[Programming] Process & Thread (0) | 2021.09.29 |
Web Server와 Web Application Server ( Static Pages / 정적 웹 페이지 / Dynamic Pages / 동적 웹 페이지 / 웹 서버 / 웹 앱 서버 / WAS / Container / Servlet / Web Container / Servlet Container) (0) | 2021.09.17 |
Clean Architecture (0) | 2021.08.31 |
[Window] 환경변수 설정 (0) | 2021.08.13 |
댓글