 |  |
|
난이도 : 중급 Martin F. Maldonado, Senior Technical Architect, IBM
2006 년 7 월 24 일 최근 Gartner 그룹은 향후 18개월 내지 36 개월 동안 가치를 발휘할 탑 10 리스트를 발표했는데, 가상화는 그 중 상위 리스트에 랭크되었습니다. 이 글에서는 공통의 패턴을 통해서 가상화의 기본적인 개념을 설명합니다
가상화란 무엇인가?
가상화(Virtualization)는 정황에 따라 다양한 것을 의미한다. 일반적으로는 가상 머신들로 구성되어 서버 통합을 가능케 하는 것이라고 이해되고 있다. 숙련된 프로그래머들은 프로그램 명령어와 데이터에 맞는 가용 메모리에 대해 걱정을 해야 했던 시절을 기억할 것이다. 오늘날, 가장 기본적인 OS도 가상 메모리를 제공하기 때문에 프로그래머들의 걱정을 덜었다. 메인프레임용 IBM® VM의 도입으로 여러 사용자들과 애플리케이션이 서로 방해하지 않고도 같은 머신을 공유할 수 있게 되었다. 다양한 컴퓨팅 플랫폼 또는 소프트웨어에서도 이와 같은 개념이 성립될 수 있다.
가상화 기술은 가상 메모리와 가상 서버 그 이상이다. 오늘날 네트워크 가상화, 마이크로프로세서 가상화, 파일 가상화, 스토리지 가상화 라는 말을 듣게 된다. 가상화를 보다 넓은 정황 또는 더 높은 추상화 레벨에서 생각한다면 워크로드 가상화와 정보 가상화 등이 있겠다. 예를 들어 엔드 유저, 애플리케이션, 엔터프라이즈에 많은 혜택을 주는 강력한 개념이 될 수 있다.
가상화에 대한 많은 정의들이 있고, 이중 몇 가지를 소개해 보겠다. 하지만 이 글에서는 IBM 방식의 정의와 개념을 사용하여 다양한 가상화 패턴들을 증명해 보이겠다.
"가상화는 컴퓨팅 리소스들을 제공하는 프로세스이다. 사용자와 애플리케이션들은 그 프로세스에서 가치를 쉽게 이끌어 낼 수 있다. 구현, 지리적 위치, 물리적 패키징에 의존하지 않는다. 다시 말해서 데이터, 컴퓨팅 파워, 스토리지 용량, 기타 리소스에 대한 물리적 시각 보다는 논리적 시각을 제공한다." -- Jonathan Eunice, Illuminata Inc.
"가상화는 컴퓨팅 리소스들의 논리적 그룹핑이나 하위 세트를 제공하여 원래 설정 보다 더 나은 혜택을 줄 수 있는 방식으로 액세스 될 수 있도록 한다. 이 새로운 가상 리소스는 구현, 지리적 위치, 기반 리소스의 물리적 설정에 제한되지 않는다. " -- Wikipedia
"가상화: 비슷한 리소스 세트에 추상 인터페이스 세트를 만들어서 속성과 연산의 차이를 숨긴 채 이들이 공통된 방식으로 보이거나 조작될 수 있도록 하는 것." -- Open Grid Services Architecture Glossary of Terms
"가상화는 물리적 한계에 제약을 받지 않는 리소스들의 논리적 구현이다." -- IBM Corporation
왜 가상화인가?
가상화의 주요 목적은 IT 인프라를 간소화 하는 것이다. 리소스에 액세스 하는 것과 리소스의 관리를 단순화 시킨다.
소비자는 리소스에 액세스 하거나 리소스와 인터랙팅 하는 엔드 유저, 애플리케이션 또는 서비스가 될 수 있다. 리소스는 표준 인터페이스에 기반하여 인풋을 받아들이고 아웃풋을 제공하는 기능을 제공하는 하나의 구현이다. 리소스는 서버, 디스크, 네트워크, 기구 같은 하드웨어가 될 수 있다. 또는 웹 서비스 같은 소프트웨어가 될 수 있다.
소비자는 가상화된 리소스가 지원하는 표준 인터페이스를 통해 리소스에 액세스 한다. 표준 인터페이스를 사용하면 IT 인프라에 변경 상황이 발생하면 사용자가 받아들이는 충격이 덜해진다. 예를 들어, 엔드 유저가 가상화 된 리소스와 인터랙팅 하는 방식이 변하지 않기 때문에 기술을 재사용 할 수 있다. 심지어는 기저의 물리적 리소스나 구현이 바뀌더라도 말이다. 또한 애플리케이션은 업그레이드나 픽스가 필요 없다. 표준 인터페이스가 변하지 않기 때문이다.
IT 인프라의 전체적인 관리 역시 간단해진다. 가상화는 소비자와 리소스들을 디커플링(decouple)하기 때문이다. 따라서 소비자는 특정 리소스 구현에 의존하지 않는다. 이러한 디커플링을 통해서 관리자는 IT 인프라를 관리하고 소비자는 관리 활동에 영향을 덜 받게 된다. 관리 활동은 서비스 레벨 계약(SLA)에 따라 직접, 반자동, 자동으로 수행될 수 있다.
이를 토대로 그리드 컴퓨팅은 가상화를 광범위하게 사용한다. 그리드 컴퓨팅은 IT 인프라를 공유 및 관리하여 사용자와 애플리케이션 요구 사항에 부합하는 리소스를 제공하면서 인프라로 간소화 된 액세스를 제공한다.
가상화는 어떻게 작동하는가?
가상화는 여러 방식으로 인스턴스화 되어있다. 단일 엔터티는 아니고 리소스의 논리적 구현을 지원하고 이를 표준 인터페이스를 통해서 리소스의 소비자에게 제공하는데 필요한 기능을 갖춘 패턴과 기술 컬렉션이다. 이러한 패턴들은 앞서 언급한 다양한 형태의 가상화로 스스로를 반복적으로 나타낸다.
그림 1. 가상화 개념
다음은 가상화를 구현하는데 일반적으로 사용되는 패턴과 기술들이다.
-
한 가지 리소스에 대한 여러 논리적 구현
이 패턴은 가장 일반적으로 사용되는 가상화 패턴 중 하나이다. 하나의 물리적 리소스와 이것의 사용자에 대한 한 개 이상의 논리적 구현으로 구성되어 있다. 소비자는 가상화 된 리소스와 인터페이싱 한다. 다른 소비자와 리소스를 공유하고 있다는 것을 모른 채 한 명의 소비자인 것처럼 말이다. 가상 머신들은 패턴의 예제이다. 하드웨어 물리적 파티션과 논리적 파티션(IBM System p, System z, and System i servers 또는 VMware, Microsoft Virtual Server, Xen 같은 소프트웨어 제품들)은 서버 가상화를 구현한다. 데이터베이스 뷰의 사용은 데이터를 분리하고 소비자는 역할과 권한에 따라 액세스 한다. 모든 소비자가 같은 데이터베이스에 액세스 하더라도 말이다. 또한 그리드는 가상화를 사용하여 네트워크를 통해 데이터를 관리하고 소비자에 대한 한 개의 시스템으로서 이를 논리적으로 표현한다. 아래 두 가지 그림은 서버와 정보 가상화에 대한 것이다.
그림 2. 한 가지 리소스의 다중 논리적 구현
-
다중 리소스에 대한 하나의 논리적 구현
이 패턴은 합체된 리소스들로 구성되어 하나의 인터페이스를 제공하는 하나의 논리적 구현으로서 나타난다. 하나의 보다 강력한 또는 기능적으로 가상화된 리소스들을 구현할 때 편리한 패턴이다. 스토리지 가상화는 이 패턴의 예이다. IBM의 SAN Volume Controller는 여러 스토리지 볼륨들을 결합하고 이들을 하나의 큰 스토리지 장치로 구현할 수 있다. 소비자는 데이터가 여러 디스크에 걸쳐 분포되어 있다는 사실을 모른다. 서버의 경우 클러스터링 기술은 소비자가 하나의 시스템인 헤드 노드와 인터랙팅 하고 있다는 착각을 하게한다. 실제로 클러스터는 많은 프로세서와 노드들을 포함하고 있다. 바로 이것이 그리드 컴퓨팅이 수행하는 것이다. 다양한 여러 리소스들이 간소화된 사용자 인터페이스(사용자 포탈 또는 애플리케이션용 표준 인터페이스)를 통해 구현된다. 전산 관점에서 볼 때 그리드는 작업 요청, 스케줄을 받아들이고, 워크로드를 관리하며, 리소스를 제공하고, 결과를 리턴하는 등의 워크로드 가상화를 제공한다.
그림 3. 다중 리소스들의 하나의 논리적 구현
그림 4. 그리드가 인프라를 가상화 한다!
-
멀티 리소스들 간 하나의 논리적 구현
이 패턴은 많은 가용 리소스들 중 하나로 구현된 가상화된 리소스로 구성된다. 가상화된 리소스는 리소스 활용, 응답 시간, 접근성 같은 특정 기준에 근거하여 물리적 리소스 구현들 중 하나를 선택한다. 이들은 매우 비슷해 보이지만 이 패턴과 이전 패턴들 간에는 미묘한 차이가 있다. 우선, 각각의 물리적 리소스는 완벽한 복제고 논리적 구현으로 모아지지 않는다. 둘째, 각 물리적 리소스는 이전 패턴에서 제공된 부분적인 기능 보다는 논리적 구현에 필요한 전체 기능을 제공한다. 이 패턴의 일반적인 예로는 워크로드 밸런싱을 위해 애플리케이션 컨테이너를 사용하는 경우를 들 수 있다. 요청 또는 트랜잭션을 애플리케이션이나 서비스에 제출할 때 소비자는 여러 컨테이너들 중 하나에서 실행되는 애플리케이션의 어떤 카피가 요청과 트랜잭션을 제공하는지 신경 쓰지 안는다. 소비자는 요청 또는 트랜잭션이 핸들 되기만을 원한다. 구체적인 예로 IBM's WebSphere® Application Server Extended Deployment를 들 수 있다. 또 다른 예제로는 파일 가상화이다. 데이터의 여러 카피들은 중복 또는 퍼포먼스를 위해 관리된다. 소비자가 파일에 액세스 할 때 General Parallel File System (GPFS) 같은 파일시스템은 여러 카피의 파일들 중 하나를 배치한다. 소비자는 사용되는 파일의 복제 위치를 몰라도 된다.
그림 5. 여러 리소스들 중 하나의 논리적 구현
-
싱글 리소스의 싱글 논리적 구현
이것은 다른 리소스였던 것 처럼 하나의 리소스를 논리적으로 구현하는데 사용되는 간단한 패턴이다. 엔터프라이즈 백엔드 애플리케이션에 웹 기능을 부여하기가 일반적인 예이다. 이 경우, 백엔드 애플리케이션을 수정하는 데신 웹 인터페이스를 나타내기 위해 façade가 만들어진다. 이것은 애플리케이션 인터페이스로 매핑된다. 이 패턴은 백엔드 애플리케이션을 수정하지 않고도(약간의 수정 만으로) 기본 기능들을 재사용 할 수 있다. 같은 패턴이 수정될 수 없는 컴포넌트에서 서비스를 구현하는데 사용될 수 있다.
그림 6. 싱글 리소스의 싱글 논리적 구현
-
합성 또는 레이어드 가상화
이 패턴은 지금까지 설명했던 한 개 이상의 패턴들과 물리적 리소스들을 정비하여 풍부한 기능을 제공한다. 정보 가상화가 좋은 예이다. 기반 기능을 제공하여 소스에 대한 글로벌 네이밍과 레퍼런스, 정보를 처리하고 구체화 하는 방법에 대한 정보를 포함하고 있는 메타데이터, 정보를 처리하는 연산을 관리한다. 예를 들어, IBM WebSphere Information Server는 이종의 소스들에 대한 광역 연결과 통합 메타데이터를 사용하여 정보를 통합, 강화, 전달하는데 필요한 기능들을 제공한다. Open Grid Services Architecture (OGSA) 또는 Grid Computing Components 같은 아키텍처나 프레임웍들은 가상화의 진정한 합성 또는 레이어이다. 이 프레임웍의 초기 레이어는 하위 레이어의 추상화이다. 이것은 상위 레이어에게 정의된 인터페이스를 제공한다. 하위 레이어에서 온 리소스들은 결합되어 아키텍처나 프레임웍 스택을 이동할 때 보다 복잡한 기능으로 된다. 예를 들어, 워크로드 가상화와 정보 가상화는 이미 가상화 된 IT 인프라(시스템, 스토리지, 네트워크)에 상위 레벨의 가상화를 제공한다.
그림 7. 그리드 컴퓨팅 컴포넌트
 |

|
가상화 관리는 무엇인가?
가상화 환경의 중요한 측면은 동적이고 복잡한 IT 인프라의 관리 및 유지를 단순화 해야 한다는 점이다. 소프트웨어 툴을 통해 구현된 패턴과 기술은 다음과 같은 관리 작업들을 지원한다. 패턴과 기술이 조합하여 다음과 같은 일을 한다.
- IT 인프라에 있는 모든 리소스에 대한 관리상의 액세스에 단일의 보안 인터페이스를 제공한다.
- 관리자는 모든 리소스에 대한 진단을 내릴 수 있다.
- 모든 리소스에 대해 설정 및 변경 관리를 수행한다.
- 가용 리소스의 재고를 발견 관리한다.
- 리소스를 감시하고 일반적인 건강 상태를 기록한다.
- 조건이 어떤 임계치에 도달하면 액션을 수행한다. 액션 중에는 관리자에게 공지하여 응답에 반응하여 조건을 수정하도록 하는 것도 포함된다.
- 리소스 사용, 가용성, 서비스 레벨 요구 사항에 기반하여 리소스를 제공 또는 제공하지 않는다. 프로비저닝은 확립된 정책에 따라 수동, 반자동, 자동으로 수행될 수 있다.
- 사용 정보와 측정 정보를 획득 및 관리하고 리소스 소비에 대한 청구 같은 알맞은 리포트를 제공한다.
- 엔드 유저나 애플리케이션 보안을 보충하는 보안 메커니즘을 제공한다.
- 엔드 유저와 애플리케이션 SLA에 부합하기 위해 모든 리소스에 걸쳐 퍼포먼스 정보를 기록한다.
맺음말
가상화는 물리적 한계에 제약을 받지 않는 리소스들의 논리적 구현이다. 가상화의 기본적인 목적은 리소스에 대한 액세스를 간소화 하고 그러한 리소스를 관리하는 것이다. 소비자는 표준 인터페이스를 통해 리소스에 액세스 한다. 이 표준 인터페이스는 가상화된 리소스의 지원을 받는다. 그러한 리소스들은 물리적 리소스들과 디커플링 된다. 이러한 인터랙션은 가상화 기본 패턴을 통해 설명된다. 가상화를 통해 IT 인프라 관리자는 리소스 설정을 동적으로 관리하면서 엔드 유저와 애플리케이션의 변화에 따른 영향을 완화시킨다.
기사의 원문보기
참고자료 교육
토론
필자소개  | |  | Martin F. Maldonado는 Grid and Virtualization Americas Team의 기술 아키텍트이다. 공공 기관의 클라이언트에게 그리드 및 가상화 기술 구현에 대한 컨설팅을 담당하고 있다. 수 년 동안 IBM 소프트웨어 개발팀의 소프트웨어 엔지니어로 일했다. 최근 IBM WebSphere Commerce Suite and Catalog Architect를 개발했었다. 전자 상거래 애플리케이션 디자인, 개발, 구현, 통합에 이-비즈니스 이니셔티브를 제안하고 있다. 제조업, 유통업, 운송업, 조선, 방위 산업 계통으로 경력을 쌓아왔다. 여러 IBM Invention and Technical Achievement Awards를 수상한 바 있으며 Georgia Institute of Technology에서 컴퓨터 정보 과학 박사 학위를 받았다. |
기사에 대한 평가
 |
| 이 문서 북마킹 하기
|
|  |