🔹 Virtualization
➡ Traditional Architecture vs. Virtual Architecture
: Traditional Architecture는 하드웨어가 있고, 그 위에 MS, 안드로이드가 있으며, 어플사용이 가능함
ex. 노트북, 스마트폰, 템플릿
: 맨 하단에 하드웨어가 있지만, 가상의 계층이 있어 사용자가 3개의 컴퓨터를 달라고 한다면, 물리적인 것이 아닌, Virtualization이 가짜 기계를 만들어줌
🤜 Virtualization의 유형
➡ 가상화해서 필요로 하는 사람들에게 진짜를 주는 것처럼 제공할 수 있음
(1) Software
(2) Memory
(3) Storage
(4) Data
(5) Network
🤜 Role of Virtualization
: 물리적으로 한대의 컴퓨터에 운영체제가 올라가고, 어플리케이션이 올라가는 것이 전형적인 모델인데, Virtualization 서버의 경우, 한대의 컴퓨터이지만, 가상화 계층을 통해서 논리적으로 여러개의 컴퓨터가 있는 것처럼 동작 시킬 수 있음
🙂 따라서, 위의 그림과 같이 한대의 컴퓨터에서 요구사항대로 동작을 하겠지만, 자신의 업무에 따라 6분의 1은 놀고 있을 수 있음
ex. 6명이 각각 요구했을 때, 물리적으로 컴퓨터는 한 대이지만, 사용자에게는 한대를 사용하는 것과 같이 '뻥튀기 효과'가 일어남 (한 대의 자원을 6개의 기계와 같이 제공가능함, 이는 하드웨어와 어플리케이션의 분리구조가 가능하기 때문)
🤜 Hypervisor Virtualization (layer)
: 가상화를 해주는 SW
ex. 리눅스 운영체제를 사용하고 싶은데, 리눅스 운영체제가 돌아갈 수 있도록 요청함 -> windows 위에 Hypervisor 올라간 후, 그 위에 리눅스 운영체제가 돌아가면서 어플리케이션이 돌아가게 함, 이때 진짜 하드웨어 위에서 돌아가는 windows 아래의 그림과 같이, Host OS라고함 (Host Computer : 물리적으로 볼 수 있는 컴퓨터)
: Host Computer에서 돌아가는 OS는 "Host OS"임, Host는 주인, 관리자의 의미를 가지고 있는데, 그 위에 Hypervisor가 돌아가서 사용자가 요구한 리눅스 운영체제가 돌아가는 가짜기계가 뜨는데, 가짜기계 위에서 뜨는 리눅스 운영체제를 guest OS(손님).. 필요한 만큼 요청했을 때, 제공됨으로 끝나면, 사라짐
: guest OS는 각각의 독립적으로 동작함으로 하나의 물리적인 컴퓨터 위에서 windows의 guest OS가 돌아가는 것과 guest OS가 돌아가는 것은 문제 없음
🤜 Benefits of Using Hypervisors
▶ 장점
: 과거에는 한 대의 컴퓨터에서 적은 용량만 차지하는 소프트웨어가 있다고 하더라고 한 대만 사용했었음
but, 현재는 한 대의 컴퓨터가 서로 다른 virtual machine들 위에 서로 다른 OS 위에 여러개가 동작하는 것처럼, 한 대가 여러개로 쪼개질 수 있으니, 한 대의 컴퓨터로 여러대의 역할을 함 (비용절감💰)
but, 한 대의 컴퓨터를 완전하게 사용한 소프트웨어가 있다고 한다면, 이것을 가상머신으로 옮긴다고 하더라도, 그 컴퓨터 전체를 사용할 수 밖에 없음. 이런 경우, 비용절약이 되지 않음
but, easy to scale의 경우, 필요한 만큼 사용하는 것
🚩 정리
⭐ Virtualization (가상화의 기법)
⭐ Virtual machine
-인프라가 있고, 그 위에 Hypervisors가 동작을 할 때, 사용자가 요구하는 guest OS와 그 위에서 돌아가는 어플리케이션을 수행하는 기법
: 이 기법이 무조건 나쁜 것은 아님
ex. 마이크로소프트가 "에이저"라는 클라우드 시스템을 하는데, 아마도 상당량의 인프라가 windows 운영체제로 동작을 할 것임
: windows 서버 위에서 사용자들이 요구하는 리눅스 운영체제를 돌리기 위해서 virtual machine을 띄우는데, 그런것들이 중요한 장점을 가지고 있는 분야가 있음
⭐ Container