본문 바로가기

Cloud & Virtualization

Virtualization

가상화란? 가상화는 다른 시스템, 애플리케이션, 혹은 엔드 유저의 상호작용과 같은 컴퓨팅 자원과 물리적인 특성들을 분리하는 방법입니다. 가상화 기술은 사용자들이 특정 물리적인 하드웨어나 이러한 기능을 지원하는 다른 자원에 얽매이지 않고 하나의 애플리케이션부터 전체 운용 시스템까지 컴퓨팅 기능들을 활용할 수 있도록 합니다.

즉 물리적인 장비에서 논리적인 영역을 분리해냄으로써, 컴퓨팅 자원을 기존의 복잡하게 얽힌 장치에서 해방시켜 가장 효율적인 방식으로 활용 및 관리할 수 있도록 합니다. 가상화는 컴퓨팅 컴포넌트들을 설정 변화, 혹은 새로운 패치, 업그레이드 등 사용자나 애플리케이션 측면의 변화에 관계 없이 역동적으로 결합하고 최상의 딜리버리 경험을 보장할 수 있도록 조합할 수 있습니다.

점점 멀어지는 사용자와 애플리케이션 간 거리

점점 멀어지는 사용자와 애플리케이션 간 거리

서버 가상화
서버 가상화 기술을 통하면 CPU나 서버 등 물리 자원에 얽매이지 않고 가상의 단위로 분리하여 시스템을 활용할 수 있습니다. 예를 들어 한 대의 서버를 여러 대의 서버가 있는 것처럼 나누어 각기 다른 운영체제를 올려 활용하거나 여러 대의 서버를 한 대의 서버처럼 활용할 수 있기 때문에 자원 활용률을 높일 수 있고 관리의 편의성도 크게 향상할 수 있습니다.

서버 가상화를 통해 구현할 수 있는 보다 강점은 서버 통합으로 서버 활용도를 보다 높일 수 있다는 것입니다. 일반적인 데이터 센터는 15% 정도의 낮은 활용도를 보입니다. 이 때문에 활용도를 개선하는 것이 불필요한 데이터 센터 서버 확장을 줄일 수 있는 방법입니다. 서버 가상화 기술은 운용 체계와와 물리적 하드웨어를 분리시켜 구동함으로써 다양한 OS 인스턴스들을 하나의 물리 서버에서 실행할 수 있도록 합니다.

이를 통해 하나의 서버에 다양한 애플리케이션들을 구동할 수 있도록 하여 서버 수용량을 최적화하고 데이터 센터 내에 필요한 서버 수를 줄일 수 있습니다. 최근에는 간편한 애플리케이션 배포, 프로비저닝 및 인프라스트럭처의 관리까지 포괄적으로 포함되어 있는 통합 솔루션이 시장에 나와 있습니다.

애플리케이션 가상화
애플리케이션 가상화는 1)서버측 애플리케이션 가상화 (또는 프레젠테이션 가상화)와 2)클라이언트측 애플리케이션 가상화(또는 애플리케이션 스트리밍)이 있습니다.

애플리케이션 가상화는 사용자가 데스크탑 애플리케이션을 PC나 랩탑, PDA, 혹은 다른 개인 디바이스 등 다양한 물리적 환경에서 사용하려고 할 때 일일이 다 설치하지 않고도 사용할 수 있게 합니다. 실제로는 애플리케이션을 중앙 서버에 설치하고 가상의 인터페이스만 네트워크를 통해 보내는 것이죠. 사용자가 애플리케이션을 사용하면서 키보드를 입력하거나 마우스를 클릭한 정보는 다시 네트워크를 통해 서버로 보내지게 되며, 이에 따라 스크린은 사용자 디바이스에 업데이트된 정보를 전달하게 되어 실제로는 그 어떠한 데이터도 사용자 디바이스에서 저장되지 않습니다.

데스크탑 가상화
서버 기반의 데스크탑 가상화는 최종 사용자의 작업 혹은 인터랙션(Interaction)과 물리적인 데스크탑을 분리합니다. 사용자는 PC나 씬 클라이언트 등 로컬 디바이스로 일을 하지만 상호작용하게 되는 컴퓨팅 환경은 실제로는 원격 시스템, 대개 데이터센터 서버 상에서 운용되는 것입니다. 사용자의 키보드, 마우스 클릭과 같은 입력 사항만이 네트워크를 통해 원격 시스템으로 전송되며, 가상 데스크탑과 같은 사용자 인터페이스가 다시 네트워크를 통해 최종 사용자에게 나타내집니다.

IT 조직에 있어 데스크탑의 관리는 시간과 비용이 많이 소모되는 일상적인 작업입니다. 그러나 데스크탑 가상화는 가상화 기술을 통해 데이터 센터로부터 최신 데스크탑 환경으로 보다 손쉽게 업그레이드 할 수 있습니다. 관리 측면에서 비용을 절감하면서 사용자에게 더욱 빠른 지원이 가능하다는 장점이 있으며, 사용자들 또한 일일이 지원을 기다릴 필요 없이 최신의 데스크탑 환경을 유지하면서 업무에 집중할 수 있게 됩니다.

데스크탑 가상화

데스크탑 가상화

===================================================================================
컴퓨터 시스템에서 가상화(Virtualization)는 H/W, OS, 스토리지 디바이스나 네트워크 자원과 같은 물리적 요소에
대해서 가상화된 개념을 적용한 것을 의미합니다.  

Virtualization can be viewed as part of an overall trend in enterprise IT that includes autonomic computing, a scenario in which the IT environment will be able to manage itself based on perceived activity, and utility computing, in which computer processing power is seen as a utility that clients can pay for only as needed. The usual goal of virtualization is to centralize administrative tasks while improving scalability and work loads.
상화의 일반적인 목적은 워크로드와 확작성을 항샹하는 동시에 관리적 작업을 중앙화 하는 것임


Types of virtualization


Hardware

하드웨어 가상화(Hardware virtualization) 또는 (platform virtualization)는 OS를 탑재한 실제 컴퓨터와 같은 역할을 수행하는 virtual machine을 생성하는 것을 의미합니다. 이를 통해 가상 장비(virtual machine)에서 실행되는 소프트웨어는 하드웨어 자원으로 부터 분리됩니다. 예를 들면, 물리적으로 MS OS 환경에서 VM은 Linux OS를 사용하도록 구성하여, VM에서 사용되는 소프트웨어는 리눅스 기반으로 사용할 수 있습니다.  
하드웨어 가상화(hardware virtualization)에서, host machine의 용어는 가상화가 이루어지는 실제 장비를 의미하며; ; guest machine의 용어는 가상 장비(virtual machine)를 의미합니다. 이와 마찬가지로, the noun adjuncts host and guest are used to help distinguish the software that runs on the actual machine from the software that runs on the virtual machine. 호스트 하드웨어에서 VM을 작성하는 소프트웨어나 펌웨어(firmware)는 hypervisor 또는 Virtual Machine Monitor라고 합니다.

하드웨어 가상화(hardware virtualization)의 여러 유형은 다음을 포함하고 있습니다:

  1. Full virtualization: Almost complete simulation of the actual hardware to allow software, which typically consists of a guest operating system, to run unmodified
  2. Partial virtualization: Some but not all of the target environment is simulated. Some guest programs, therefore, may need modifications to run in this virtual environment.
  3. Paravirtualization: A hardware environment is not simulated; however, the guest programs are executed in their own isolated domains, as if they are running on a separate system. Guest programs need to be specifically modified to run in this environment.

Hardware-assisted virtualization은 하드웨어 가상화의 효율성을 개선하는 한 방법입니다. 그것은 게스트 환경의 성능을 개선하는데 도움이 되는 특수하게-설계된 CPU와 하드웨어 컴포넌트를 채용하는 것을 의미합니다. 

Hardware virtualization must not be mistaken with hardware emulation: In hardware emulation, a piece of hardware imitates another, while in hardware virtualization, a hypervisor (a piece of software) imitates a particular piece of computer hardware or the whole computer altogether. Furthermore, a hypervisor must not be mistaken with an emulator. These two are defined similarly: Both are computer programs that imitate hardware, but their domain of use in language differs. 


Desktop 

데스크탑 가상화(Desktop virtualization)는 물리적 장비로 부터 논리적 데스크탑(logical desktop)을 분리하는 개념입니다.  

One form of desktop virtualization, virtual desktop infrastructure (VDI), can be thought as a more advanced form of hardware virtualization: Instead of directly interacting with a host computer via a keyboard, mouse and monitor connected to it, the user interacts with the host computer over a network connection (such as a LANWireless LAN or even the Internet) using another desktop computer or a mobile device. In addition, the host computer in this scenario becomes a server computer capable of hosting multiple virtual machines at the same time for multiple users.

Another form, session virtualization, allows multiple users to connect and log into a shared but powerful computer over the network and use it simultaneously. Each is given a desktop and a personal folder in which they store their files.[3]

Thin clients, which are seen in desktop virtualization, are simple and/or cheap computers that are primarily designed to connect to the network; they may lack significant hard disk storage spaceRAM or even processing power.


Software


Memory

  • Memory virtualization: 네트워크 시스템의 RAM 자원들을 단일 메모리 풀로 통합.
  • Virtual memory: giving an application program the impression that it has contiguous working memory, isolating it from the underlying physical memory implementation


Storage


Data

  • Data virtualization: the presentation of data as an abstract layer, independent of underlying database systems, structures and storage
  • Database virtualization: 애플리케이션 스택내의 스토리지와 애플리케이션 계층 사이에 위치한 데이터 계층의 분리(Decoupling).


Network

  • Network virtualization: 네트워크 서브넷간 또는 내에서 가상화된 네트워즈 주소 공간을 작성