본문 바로가기
CS/개발자필수지식

[CS] 클라우드 - 가상머신

by Johnny's 2023. 8. 20.

클라우드 - 가상머신

전통적 배포방식

물리적인 컴퓨터 한 대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식계정을 나눠 여러명의 사용자가 이용할 수 있도록 할 수 있지만 어떤 프로그램을 설치했을 때 다른 앱에 영향을 미침 

→ 독립적이지 않은 문제점이 있음

 

전통적 배포방식

가상머신을 기반으로 배포하는 것. 가상머신이란 컴퓨터의 하드웨어를 소프트웨어적으로 구현한 것
계정을 나누는 것이 아니라 한대의 컴퓨터를 가지고 여러개의 OS를 구동할 수 있게 되며 CPU, RAM을 물리적으로 갈아끼는 것이 아니라 설정만으로 이를 수행할 수 있음 

 

 

중간에 있는 하이퍼바이저는 하나의 시스템 상에서 가상 컴퓨터를 여러 개 구동할 수 있도록 해 주는 중간 계층을 의미하며 이 위에 여러개의 가상머신을 구축할 수 있고 가상머신 위에 OS그리고 그 위에 앱이 올라가는 형태로 가상머신을 독립적으로 수행할 수 있음.

클라우드는 이러한 가상화라는 기술 때문에 한대의 하드웨어로 여러명의 사용자들에게 독립적으로 클라우드 서비스를 할 수 있음

→ RAM을 변경하고 싶으면 원래는 물리적으로 RAM을 교체해야하는데, 가상머신은 소프트웨어적으로 설정할 수 있음

 

 

이렇게 독립적으로 가상머신이 구축되어 서로 전혀 상호작용하지 않으며 한 가상 머신위의 프로그램은 다른 가상머신위의 프로그램에서 볼 수 없는 형태를 샌드박스되었다라고도 함
다만 OS가 공유가 안되기 때문에 가상머신에 일일히 OS를 설치해야 하는 단점이 있음

 

* 참고

- CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조 -인프런

댓글