2007년 3월 25일 일요일

SOA-SOA환경의 토대로서의 가상화

Perspectives on grid: SOA 환경의 토대로서의 가상화

SOA와 인프라스트럭처 가상화 간 시너지 효과, 제휴, 관계





Matt Haynos_ Program Director,
| Grid Technology and Strategy, IBM



SOA와 인프라스트럭처 가상화 기술은 서로 상승 효과가 있다. 기업에 서비스가 자리를 잡아가고, 크기와 스케일이 커지면서 이들을 지원할만한 인프라스트럭처 가상화 기술을 구현해야 할 필요가 점차 늘어나고 있다. 인프라스트럭처 가상화 없이는 기업은 관리가 매우 까다로워질 것이고, 기민성이라든지 유연성 같은 중요한 측면을 실현할 수 없다. 이 글에서 Matt Haynos는 그리드 컴퓨팅, SOA, 인프라스트럭처 가상화 기술 간 유사점과 차이점을 대략적으로 설명한다.



Perspectives on grid" 시리즈에서 많은 그리드 분야와 경향들을 연구했다. 세 편의 기술자료에서는 효과적인 자동화와 데이터 관리 원리를 그리드 환경에 융합시키는 것의 중요성에 대해 논할 예정이다. 두 편의 기술자료에서는 그리드를 구성하고 있는 것이 무엇인지를 연구할 것이다. 주로, 그리드가 Common Object Request Broker Architecture (CORBA)와 Peer-to-peer (P2P) 분산 컴퓨팅 시스템과 어떤 것이 비슷하고 어떤 점이 다른지를 설명할 것이다.

그리드는 사람마다 다른 의미를 갖기 때문에 계속해서 그리드에 대해 논의를 할 예정이다. 일례로, 2년 전에 발표한 이 시리즈의 원조 기술자료인 "Perspectives on grid: 그리드 컴퓨팅 -- 차세대 분산 컴퓨팅"에 대해 아직도 많은 질문들을 받고 있다.

오늘날에는 서비스 지향 아키텍처(SOA)의 개념이 인기를 끌고 있다. Merrill Lynch의 CIO 여론 조사를 인용한 eWeek(참고자료)의 최신호에서는 엔터프라이즈 소프트웨어의 "차기 대물"로 87퍼센트의 설문 참여자들이 SOA를 언급했다고 인용보도 했다. (개인적으로 나는 SOA가 큰 물건이라고 이미 생각하고 있었다.)

CIO들이 SOA에 관심을 갖는 이유는 자명하다. 비즈니스 도전과 압박이 점점 강해지고 세계화로 진행되고 있다. 새로운 유형의 비즈니스와 운영 모델이 필요하다. IBM의 2006 Global CEO Study(참고자료)에서 비즈니스 리더 3분의 2가 앞으로 2년 안에 기업의 형태를 "급격히 바꿀" 계획이라고 말했다. 기업은 이를 빠르게 착수해야 할 것이다. 시장을 선점하는 기업이 대게 중요한 위치를 점령하고 가장 좋은 몫을 차지하게 되고, 기회들이 빠르게 구체화되고 너무나 빨리 사라지기 때문에 시장 점유 속도와 시간은 필수이기 때문이다.

이는 결코 쉬운 일이 아니다. 적어도 CIO들에겐 쉬운 일이 아니다. 그들은 경쟁적인 시장 역학에 대응하면서 지원 또는 활용할 수 있는 기술 인프라스트럭처를 제공하는 기능을 제한하는 무수한 아키텍처, 인터페이스, 기술들과 싸워야 하기 때문이다.

바로 이것이 SOA가 탄생한 배경이다. SOA는 애플리케이션들을 서비스 구성들로 분해하는 아키텍처 방식을 사용한다. 이러한 서비스들이 구성되어 비즈니스 프로세스를 나타내거나 비즈니스 프로세스로 매핑한다. 그 동안 SOA에 대해 많은 글들이 쓰여졌고 IT 관례를 비즈니스 전략과 제휴하겠다는 무수한 약속도 있었다. 그렇기 때문에 우리는 여기서 소모적인 논쟁은 피하도록 하겠다. SOA는 기업들이 도전적인 시장 역학에 효과적으로 대응하고 새로운 비즈니스 기회들을 이용할 수 있도록 돕는 중요한 수단이 되고 있다.



가상화에 대해서



이전 글에서 그리드와 가상화의 관계를 다루고 그리드가 곧 가상화라고 한 바 있다. 비록 가상화는 오늘날 급부상 되고 있는 주제이지만 이전에도 존재하고 있었다. 이것은 IT 인프라스트럭처에 산재해 있고 우리는 이를 마이크로프로세서, 가상 메모리, 서버 가상화에서 볼 수 있다. 가상화 되지 않은 IT 인프라 포트폴리오는 거의 없고, 일반적으로 인프라스트럭처 가상화(infrastructure virtualization)로 칭하도록 하겠다. 그림 1을 보자.


그림 1. IT 인프라스트럭처에 산재한 가상화 예제 및 레벨

하지만 이것은 좀더 특별한 혜택을 갖고 있고 SOA와 상승 효과까지 있는 보다 새로운 워크로드- 또는 애플리케이션- 가상화 및 정보 가상화이다. 이 두 영역 모두 그리드 컴퓨팅의 핵심을 구성하고 있고, 그리드가 인프라스트럭처 가상화라는 범주에 속하는 이유가 되기도 한다. 또한 그들은 SOA와 접촉하는 주요 가상화 영역이기도 하다.



상승 효과와 제휴



수평적 통합

첫 번째 상승 효과에는 수평적 통합(horizontal integration), 사일로(silos) 해체하기, 보다 세계적으로 통합된 기업이 되는 것이 포함된다. 기업 전반에 걸쳐 기능과 관행이 표준화 되는 것을 생각해 보라.

이러한 공통적인(글로벌) 비즈니스 프로세스를 기반으로 하여 SOA는 각 비즈니스 유닛의 과잉의 서비스와 관행들을 제거함으로서 애플리케이션 사일로들을 없앤다. 통합된 비즈니스 프로세스를 이해하고 실현하기 위해서는 훈련이 필요하지만 일단 이것이 부분적으로라도 성취되면 SOA는 애플리케이션들과 이들의 구성 서비스들을 글로벌 비즈니스 정책과 프로세스들로 연결하는데 도움이 될 수 있다. 결과적으로 비즈니스 단위들은 자신들의 독자적인 서비스를 개발하고 이들을 세계적으로 구성된 프로세스-일반적으로 워크플로우 또는 합성 애플리케이션이라고 한다-에 사용할 수 있도록 함으로써 끊임없이 혁신할 수 있다.

인프라스트럭처 가상화는 컴퓨팅 또는 정보 리소스들을 소유권이나 위치에 관계 없이 하나의 엔터티로서 간주함으로서 인프라스트럭처 사일로들을 해체하는 것이다. 비록, 기업에는 여러 물리적 인프라스트럭처들(데이터 센터 같은)이 있겠지만 이들은 점점 더 하나의 논리적 인프라스트럭처로 간주 및 관리되고 있다. IT 아웃소싱 영역에서 이러한 경향을 점점 더 많이 볼 수 있다. 이 곳에서는 작업이 하나의 데이터 센터에서 다른 데이터 센터로 이동될 수 있다.



기민성(Agility)

기민성은 빠르게 반응할 수 있는 능력에 관한 것이다. 이전 글에서도 기민성에 대해 다루었다. 기민성은 오늘날 기업들에 있어서 가장 중요한 IT 동력일 것이다. SOA는 새로운 서비스들이 빠르게 전개되고 고객과 합성 애플리케이션들이 사용할 수 있도록 하여 기민성을 촉진시키고 있다. 여기에서는 재사용 개념이 중요하며, 이는 SOA의 근본적인 요소가 된다. 기업들이 매번 새로운 서비스들을 만들 수 있는 것은 아니기 때문에 애플리케이션들을 특정 서비스들로 분해하거나, 애플리케이션들을 서비스 정황에 래핑하여 기존 구현들이 빠르게 사용될 수 있도록 하고 있다.

인프라스트럭처에도 같은 개념이 적용된다. 인프라스트럭처 리소스들을 빠르게 전개하고 이들이 새로운 비즈니스 요구 사항들과 기회들을 지원할 수 있도록 하는 것이 기본 개념이다. 가상화는 리소스와 사용자들간 절연 레이어를 제공하여 이들간 강력한 결합을 없애준다. 이러한 디커플링(decoupling)을 통해서 기업들은 리소스를 추가하고, 이들을 인프라스트럭처에 인식시켜, 사용자들이 매우 빠르게 사용할 수 있도록 한다.



유연성

비즈니스 유연성은 기민성과 밀접관 관련이 있다. 개인들과 마찬가지로 기업들은 자신들의 선택권을 열어두기를 원한다. SOA는 서비스 개념을 사용하여 이를 실현한다. 정의가 잘 된 인터페이스를 가진 서비스들은 쉽게 대체될 수 있고 새로운 서비스들이 추가될 수 있다. SOA는 동적인 애플리케이션 구현(또는 혼합) 개념을 지원하여 서비스들이 흥미롭고 혁신적인 방식으로 구성될 수 있도록 한다. 엔터프라이즈 서비스 버스(ESB)가 특히 유용하다. 이들은 서비스 대 서비스 통신을 위해 프레임웍이나 클리어링하우스를 제공한다.

스토리지 가상화는 인프라스트럭처 가상화의 유연성에 대한 좋은 예이다. IBM?? SAN Volume Controller는 스토리지의 가상 구현을 제공하여 기업들이 기반의 스토리지 디바이스들을 퍼포먼스나 기술 향상 또는 가격 하락 시에 쉽게 대체할 수 있도록 하고 있다. 이 프로세스는 애플리케이션이나 사용자에 영향을 주지 않고 빠르게 실현될 수 있다.



단순화

SOA와 인프라스트럭처 가상화의 핵심적인 가치는 복잡함을 줄인다는데 있다. 그림 2를 보면 알 수 있다. 애플리케이션 아키텍처에 대한 SOA 접근 방식은 단일의 강결합 애플리케이션들을 기능이 확실히 구별된 서비스들로 나누는 것이다. 게다가 기업의 다른 영역들에서의 과잉의 기능 구현들이 표준화 될 것이다. SOA는 기업의 애플리케이션 아키텍처의 복잡함을 체계화 할 것을 약속했고 이를 위해 노력하고 있다.


그림 2. SOA와 가상화: 복잡성 줄이기

인프라스트럭처 가상화도 마찬가지이다. 물리적 리소스들과 사용자들 사이에 추상화 레이어를 도입함으로서 SOA와 인프라스트럭처 가상화가 독립적으로 관리될 수 있다. 리소스가 없어지면 새로운 물리적 리소스가 논리적 공간을 차지하게 된다. 더 나은 리소스가 생기면 오래된 리소스들은 없어질 수 있다. 결과적으로 인프라스트럭처 유연성은 사용자나 애플리케이션이 일정한 물리적 리소스에 의존하지 않게 하여 실현될 수 있다.



서비스와 합성 애플리케이션을 위한 인프라스트럭처 요구 사항



SOA의 동력과 애플리케이션과 인프라스트럭처 아키텍처의 가상화 간 유사성에 대해 이야기 했다. 이제는 서비스와 합성 애플리케이션들의 특정 인프라스트럭처 요구 사항에는 어떤 것이 있는지 알아보자. 서비스와 합성 애플리케이션들에는 가상화 기술이 SOA 인프라스트럭처를 위한 강력한 토대로 만드는 특별한 특성들이 있다.

서비스 특징:



서비스는 이동이 쉽고 가상 머신 간 이동할 수 있다.
서비스는 단기간 동안을 위해서도 존재할 수 있다.
서비스는 "온 디맨드"로 시작 및 중지되어야 한다.
서비스는, 이동성에 의해 생기는 특정 결과인 정보와 데이터에 액세스 해야 한다.
서비스는 보안과 탄력성 같은 전형적인 서비스 품질(QoS) 요구 사항들을 갖고 있다.

합성 애플리케이션 특징:


합성 애플리케이션 역시 이동적이다.
합성 애플리케이션은 하나의 작업으로서 대화식 또는 프로그래밍 방식으로 실행될 수 있다.
합성 애플리케이션은 스케줄링 될 수 있다. 상호 의존적인 태스크를 가진 워크플로우로서 종종 렌더링 되기 때문에 이것은 중요하다.
합성 애플리케이션은 해체될 수 있고 병렬로 실행될 수 있다.



더 나은 SOA 만들기: 인프라스트럭처 가상화



가상화가 위의 요구 사항들을 어떻게 채우고, SOA 인프라스트럭처를 어떻게 향상시킬 수 있는지를 생각해 보자. 이 섹션에서는 워크로드, 정보, 서비스 가상화에 집중하기로 한다.

서비스와 합성 애플리케이션의 큰 특징은 이동성과 동적인 본성이다. 분산 인프라스트럭처를 통해서 그들의 라이프 사이클을 직접 관리하는 일은 분명 고통스러운 일이다. 그래서 서비스를 시작 및 중지하고, 합성 애플리케이션들을 스케줄링 하며, 이들을 실행하는 능력은 워크로드 가상화와 IBM의 WebSphere?? Extended Deployment. 같은 제품들의 주 기능들이다.

이전 글에서, 워크로드 가상화는 스케줄링뿐만 아니라 스케줄링 코디네이션, 워크로드 관리, 프로비저닝이라고 주지한 바 있다. 워크로드 가상화는 서비스들이 필요한 장소와 시간에 시작할 수 있도록 한다. 워크로드 요청이 늘어나면 추가 서비스들(클론들)이 추가 리소스에 대해 자동으로 시작될 수 있고 작업이 이들에게로 라우팅 될 수 있다. 이들이 실행하는 서비스나 리소스가 소진되면 똑 같은 자동 시작 및 워크로드 라우팅이 이루어진다.

이 방식을 서비스 가상화(service virtualization)라고도 한다. 이 곳에서 서비스 공급자와 서비스 소비자 간 인터랙션은 추상화 레이어를 통해 이루어진다. (이 경우, 워크로드 가상화라고 하는 것이 이 레이어를 제공한다.) SOA의 전개 범위와 크기가 커지면 서비스 가상화도 점점 더 중요해진다.

게다가, 지능적인 스케줄링 기술은 합성 애플리케이션이나 워크플로우를 나누고 이종의 분산된 리소스 풀(그리드)을 통해 작업을 배분한다.



정보 가상화

서비스와 합성 애플리케이션들은 유동적이기 때문에 기업 내 다른 위치에서 정보에 액세스 하는 것은 중요하고도 어려운 요구 사항이다. 지능적 스케줄링(예를 들어, 서비스 배치)은 필수 정보의 위치 가까이에서 서비스를 시작함으로서 이를 완화시킨다. 하지만 보다 지능적인 정보 액세스와 가상화 형태가 필요하다.

가장 단순한 형태로 데이터 리파지토리들을 연합 또는 가상화 하기 원한다. 분산된 정보를 여러분이 기대하는 모든 양질의 서비스들을 갖춘 하나의 리파지토리로 생각해 보라. (로컬인 것처럼) 빠른 액세스, 보안, 탄력성이 있다. 실제로, 이 프로세스를 구현하기는 까다로울 수 있지만 WebSphere Information Server가 벌써 시작했다. 분산된 정보가 정보 관리 시장에서 가장 빠르게 성장하는 분야들 중 하나라는 것은 놀라운 일이 아니다. 정보를 열고 이해할 수 있는 기능은 모든 기업의 결정적 요인이다.

WebSphere Information Server를 사용하면 정보는 서비스로서 액세스 될 수 있다. SOA 및 서비스 세계에서는 흥미롭고 이치에 맞는 말이지만 막후에 인프라스트럭처 없이는 불가능하다. 이 인프라스트럭처--정보 가상화--에 대해서는 이전 글에서 논의했다. 정보 가상화는 두 개의 주요 영역들로 구성된다. 정보의 글로벌 네이밍 같은 메타데이터 관리와 기본 기능을 지원하는 토대 위에 구현된 콘텐트 및 포맷 가상화와 위치 및 퍼포먼스 가상화가 바로 그것이다.

콘텐트 및 포맷 가상화는 다음과 같은 기능을 갖고 있다: 데이터 변형, 데이터 결합, 데이터 발견, 데이터 청소 및 분석. 위치와 퍼포먼스 가상화는 분산 데이터들이 로컬에 있는 것처럼 보이게 하고 캐싱, 복사, 지능적인 데이터 이동과 배치 등을 적절한 서비스 품질들로 구성한다.



서버 가상화

분산 리소스들에 걸쳐서 워크로드 가상화가 제공하는 것 대부분이 서버 가상화에 의해 머신이나 클러스터 레벨에서 제공된다. 우리는 서버 가상화에 대해 들었고 대부분의 사람들은 가상화라는 단어를 들을 때 서버 가상화를 생각한다. 서버 가상화는 서비스 지향 아키텍처에 특별한 영향을 준다.

우선, 가상 머신은 플랫폼 중립 레벨을 서비스와 합성 애플리케이션에 제공한다. 이것은 실행 환경에 적용된 컨테이너 개념이다. 예를 들어, 다른 유형의 서비스들이 같은 물리적 리소스에서 실행되면 런타임 종속 관계들이 자동으로 제공되고 그 즉시 설정된다. 게다가 시스템 레벨의 워크로드 매니저를 사용하여 머신이나 클러스터 리소스들을 높은 우선순위를 가진 서비스와 합성 애플리케이션에 할당할 수 있다.



결론

어떤 사람들은 SOA와 인프라스트럭처 가상화는 서로 시너지 효과가 있기 때문에 공통적일 것이라고 주장한다. 하지만 인프라스트럭처의 가상화는 SOA를 지원하는 것으로 생각하는 것이 더 옳다. 이 둘은 서로 다른 것들이다. 하나는 애플리케이션 아키텍처가 목표이고 다른 하나는 인프라스트럭처 아키텍처가 목표이다.



맺음말



이 글에서, 기업들이 애플리케이션 아키텍처에 SOA를 채택하는 이유와 인프라스트럭처 아키텍처에 워크로드와 정보 가상화를 중심으로 한 가상화 기술을 적용하는 이유가 매우 비슷하다는 것을 설명했다. SOA와 인프라스트럭처 가상화 기술들은 서로 상승 작용을 한다. 기업에 서비스가 자리를 잡고 이것의 크기와 스케일이 커지면서 이들을 지원할만한 인프라스트럭처 가상화 기술을 구현하는 것의 필요성이 점점 더 커지고 있다. 인프라스트럭처 가상화 없이는 기업은 관리하기에 매우 복잡해지고, 기민성이라든지 유연성 같은 기본적인 혜택도 실현하기 어렵다.



참고자료

교육
- Survey: SOA In Vista Out
- Expanding the Innovation Horizon Global CEO Study 2006
- 그리드 전망대: 그리드 컴퓨팅 -- 차세대 분산 컴퓨팅
- Speed Demons
- Build grid applications based on SOA
- SOA and Web services zone
- Perspectives on grid: The whole is greater than the sum of it's parts
- The Globally Integrated Enterprise (PDF)
- Grid computing zone

제품 및 기술 얻기
- product documentation for WebSphere Extended Deployment
- IBM TotalStorage SAN Volume Controller
- IBM trial software

토론
- grid computing forums
- developerWorks blogs

댓글 없음: