IT

IT: 가상화(Virtualization)

Joon D&K 2022. 9. 13. 09:35

https://www.redhat.com/ko/topics/virtualization/what-is-virtualization

 

 가상화(Virtualization)소프트웨어(주로 하이퍼바이저)를 사용하여 하나의 물리적 장치(하드웨어)를 논리적인 객체인 가상 머신(Virtual Machine)으로 만드는 것을 말합니다. 쉽게 말하면 컴퓨터 안에 또 다른 독립적인 컴퓨터를 만드는 것을 의미합니다.

 

https://www.redhat.com/ko/topics/virtualization/what-is-virtualization

 전통적인 방식의 서버 구조에서는 하나의 서버가 하나의 역할을 합니다. 위와 같이 사용량이 100%가 되지 않는 경우, 남는 용량에 대한 낭비가 발생하게 됩니다.

 

https://www.redhat.com/ko/topics/virtualization/what-is-virtualization

 만약 하나의 물리적 서버에 두 서버가 독립적으로 존재한다면 효율적으로 리소스를 활용할 수 있을 것입니다. 여기서 하나의 서버 자원을 여러 사용자가 나누어 사용하는 클라우드 컴퓨팅이 시작됩니다. 즉, 물리적 리소스를 여러 사용자나 환경에 배포해서 제한적인 리소스를 최대한 활용하기 위해 가상화가 등장한 것입니다.

 

 가상화는 호스트형 서버 가상화와 하이퍼바이저형 가상화로 나눌 수 있습니다. 호스트형 서버 가상화는 하드웨어에 호스트 OS를 설치하고 가상화 소프트웨어를 통해 게스트 OS를 작동시키는 방식으로 VMware나 Oracle Virtual Box가 대표적인 예시입니다. 하이퍼바이저형 가상화는 위에서 언급한 하이퍼바이저가 호스트 OS 대신 역할을 수행 합니다. 하이퍼바이저는 가상화를 전문적으로 수행하는 소프트웨어이기 때문에 호스트형 서버 가상화에 비해 가볍다는 장점이 있습니다.

 

 

https://library.gabia.com/contents/infrahosting/7426/

 최근 가상화 추세는 하이퍼바이저형 가상화에서 컨테이너 기반 가상화로 변화하고 있습니다. 컨테이너(Container)란 호스트 OS에 독립적인 공간을 만들어 독립적인 서버처럼 사용하는 것을 말합니다. 컨테이너에는 어플리케이션과 어플리케이션을 작동하기 위한 환경이 존재하므로 어떤 환경에서도 일관성 있는 배포가 가능합니다. 또한 게스트 OS를 사용하지 않기 때문에 더욱 가볍고 빠르다는 것이 큰 장점입니다. 2014년도 발표에 따르면 Google은 모든 서비스를 컨테이너로 동작하며 매주 20억개의 컨테이너를 구동하고 있다고 합니다.

 

 컨테이너와 관련하여 빠질 수 없는 것이 도커(Docker)와 쿠버네티스(Kubernetes)입니다. 이후 포스팅에서는 도커와 쿠버네티스에 대해서 다뤄보겠습니다.

 

 

참고 포스팅

https://www.redhat.com/ko/topics/virtualization/what-is-virtualization

https://futurecreator.github.io/2018/11/09/it-infrastructure-basics/

https://library.gabia.com/contents/infrahosting/7426/