dev-writeup-2024 / march

개발 1일 1글 스터디
2 stars 0 forks source link

[03-15] 클라우드 컴퓨팅 (2) - 가상화 #34

Open snaag opened 3 months ago

snaag commented 3 months ago

클라우드 컴퓨팅 (2) - 가상화

참고자료

가상화 란

하나의 머신 (컴퓨터) 의 리소스를 여러개의 머신 (컴퓨터) 처럼 쓸 수 있도록 하는 것 을 말합니다. 이 머신은 가상 머신 (VM, Virtual Machine) 이라고 합니다.

즉 가상화란 하나의 실제 머신을 여러대의 가상 머신으로 만들어서 사용하는 것을 말합니다. 예를들어 학교다닐 때 컴퓨터에 VMWare 를 설치해서 각기 다른 OS 를 갖는 여러 머신을 실행시키는 과제를 한 적이 있는데요, 바로 이 머신이 VM 입니다.

원래의 OS 를 Host OS 라고 하는데, 이 Host OS 입장에서는 다른 VM 은 일개 process 입니다.

image

(이미지 출처: Virtualization in Cloud Computing and Types@geeksforgeeks)

실제로는 하나의 컴퓨터이지만, 각 VM 들은 자체적으로 OS 를 사용하고 리소스를 관리하므로 독립적인 머신처럼 작동합니다. 이처럼 독립되어있는 환경을 sandbox 라고 하는데, VM 도 sandbox 의 일종입니다.

번외로 샌드박스란...

샌드박스(sandbox)란 외부로부터 들어온 프로그램이 보호된 영역에서 동작해 시스템이 부정하게 조작되는 것을 막는 보안 형태이다.

호스트 머신이나 운영 체제에 손상을 입히지 않고 확인되지 않거나 신뢰할 수 없는 서드파티, 공급자, 사용자, 웹사이트로부터 잠재적으로 테스트되지 않거나 신뢰하지 못하는 프로그램이나 코드를 실행하기 위해 종종 사용된다.

고도로 제어되는 환경을 제공한다는 측면에서 샌드박스는 가상화의 특정 예시로 간주할 수 있다. 샌드박스는 소프트웨어가 호스트 장치에 위험을 주지 않게 하면서 바이러스나 기타 악성 코드를 포함할 수 있는 미검증된 프로그램을 테스트하기 위해 종종 사용된다.

- 샌드박스@wikipedia

가상화의 장점

가상화의 단점

그럼에도 불구하고 자동화의 장점이 더 많기 때문에, 이런 서베이가 있다고 합니다.

Enterprises with over 1,000 employees have adopted application virtualization twice as much as smaller businesses, according to Spiceworks.

Spiceworks 에 따르면, 직원 수가 1,000 명이 넘는 회사는 작은 회사에 비해 어플리케이션 가상화를 두배 더 많이 도입했다고 합니다.

- The Pros and Cons of Virtualization@Business news daily

가상화와 클라우드의 관계

정확히는 클라우드 가상화로, 클라우드 가상화는 가상화의 종류 중 하나 입니다.

클라우드 가상화란 서버, 스토리지 및 다양한 리소스를 가상화하여, 클라이언트가 온프레미스로 준비할 필요 없이, 서비스로 이용할 수 있는 것을 말합니다. (https://github.com/dev-writeup-2024/march/issues/28)

하이퍼바이저

하이퍼바이저 란

아까 예시 그림에서 HostOS 와 각 VM 사이에 Hyperviser(하이퍼바이저) 라는 것이 있었습니다.

가상화 구조에서는 VM 과 하드웨어가 직접적으로 연결되어있지 않습니다. 즉 VM 생성을 위한 자원을 할당받고, 자원을 요청하는 등을 하려면 이를 도와줄 매니저가 필요한데요, 하이퍼바이저가 이 역할을 합니다. 때문에 하이퍼바이저는 가상 머신 매니저 (Virtual Machine Manager 또는 Monitor, VMM) 라고도 불립니다. selog@tistory

하이퍼바이저는 VM 이 요청하는 하드웨어 리소스를 할당 해준다던가, 각 VM 들의 리소스 사용을 스케줄링 해준다던가, VM 이 하드웨어에 요청하는 I/O 명령을 처리 하는 등 중간에서 이것 저것 처리해주며 관리자 역할을 합니다. selog@tistory

하이퍼바이저 유형

하이퍼바이저에는 하이퍼바이저 가상화 와 유형과 호스트 가상화 라는 유형이 있습니다.

사실 가상화는 컨테이너, 도커, 쿠버네티스 등의 공부를 위한 준비 였기 때문에... 가상화에 대해선 여기서 마무리를 하겠습니다 :D