가상화2.0, 단순 서버 통합 이상의 의미…SOA와 완벽 조화돼야

'SOA'와 '가상화'는 요즈음 가장 이슈가 되는 기술이다. 서버 가상화는 유연성을 확보함으로써 비용 절감을 제공하고 SOA(서비스지향 아키텍처)는 애플리케이션의 재사용과 업무에서 요구하는 빠른 응답을 제공할 수 있다. 따라서 이들 두 기술은 궁합이 잘 맞는 '단짝'이다.

BEA시스템즈, IBM, 마이크로소프트, 레드햇, 썬마이크로시스템즈 등 대형 애플리케이션 벤더들이 'SOA+가상화'의 시너지 창출을 위해 골몰하고 있다. 하지만 이 둘을 합치는데서 얻어지는 이점은 아직 그다지 명확하지 않다.

SOA는 애플리케이션을 복수의 서버나 CPU에 분산시키거나 심지어는 외부 서비스 제공자에게 부하를 넘겨줄 수 있도록 작은 덩어리로 나누어 가상화를 돕는다. SOA는 자바와 XML 표준 같은 공통 런타임을 통해서 API를 하드웨어나 운영시스템으로부터 보호하는 보호막을 씌운다. 그 결과 가상화는 새로운 하드웨어 리소스에 대한 프로비져닝을 쉽게하여 SOA를 단순화시킨다.

강력한 단짝이지만 통합하는 것은 많은 장애물이 있다. 가상화 관리 애플리케이션들은 SOA에 직면하면 통신 문제에 직면하고 다른 한편으로 그에 대응하는 웹 서비스는 가상 머신의 경계를 잘 지정하지 못한다. 그렇다고해서 SOA나 가상화 또는 둘 다에 투자하는 것을 꺼려서는 안된다.

◆환상적 커플 'SOA+가상화'=대부분의 IT 전문가들은 서버 가상화하면 제일 먼저 통합을 생각한다. 예전엔 둘, 셋, 또는 10개의 머신을 필요로 했던 것을 하나의 머신으로 처리할 수 있으니 하드웨어와 열, 냉각 등 관리적 측면 모두에서 비용을 크게 절감할 수 있다. 가상화의 가장 큰 이점은 서버를 CPU, 메모리, 디스크 공간과 같은 자원들의 작은 단위로 쪼갬으로써 유연성이 보다 좋아지는 것이다.

소프트웨어에 있어서 이와 똑 같은 것이 바로 SOA다. 프로그래머들은 더이상 각 애플리케이션을 독립적으로 개발할 필요가 없다. SOA를 통하면 몇번이고 반복해서 사용할 수 있는 간단한 서비스로부터 애플리케이션을 구축할 수 있다. 프로그래머들은 갈수록 모델-기반 개발 환경을 사용하여 한줄의 코드도 작성하지 않는 비즈니스 분석가가 된다.

문제는, 애플리케이션 개발을 훨씬 빠르게해주는 재사용이 하드웨어에 부담을 줄 수도 있다는 것이다. 서비스가 재사용되면 그것을 실행하는 서버는 훨씬 더 많은 연산 용량이 요구된다.

이에 대해서 가상화 즉 새로운 하드웨어 리소스의 프로비져닝을 쉽게해줌으로써 SOA를 단순화시켜주는 것이 당연한 해결책이다.

영향 평가: SOA+가상화
이점 위험요소
IT 조직 SOA와 가상화는 모두 IT 조직을 보다 유연하게한다. 문제는 이 둘을 함께 작동하게 하는 것이다. SOA는 아직 성숙되지 않았고 가상화는 아직까지 대부분 서버 통합에 초점을 맞춘다. 애플리케이션을 서버들에게 분산시키거나 SOA 거버넌스와 가상화 관리 플랫폼 간의 데이터 공유에 대한 표준 방법이 없다.
비즈니스 조직 SOA는 IT 서비스를 비즈니스 프로세스와 ,가상화는 기반이 되는 하드웨어 플랫폼을 IT 서비스와 결합시킨다. SOA 가상화는 조직 전반에서 보면 손해될 것이 거의 없다. 실제로 위협이 되는 것은 이 분야의 기술이 미성숙해서 서비스 불능시간이 늘어나고 비용이 낭비되거나 생산성이 떨어지는 것이다.
비즈니스 경쟁력 서비스를 가상화하면 대부분 비즈니스들은 고객에 보다 잘 대응할 수 있어 경쟁력이 좋아진다. 또한 규제를 잘 지키고 하드웨어 비용을 줄일 수도 있다. 이 분야는 빠르게 성장하고 있어 기술이 증명되지 않았다. 중요한 표준이 존재하지 않으며 얼마나 장기간 살아남을 수 있는 업체인지 잘 조사하여 자칫 생산성 향상이 아니라 감퇴를 가져오지 않도록 해야 된다.

결론
SOA 가상화는 오랜동안 중요한 트렌드가 될 것이다. SOA와 가상화에 이미 투자한 기업들은 정말로 기민해지려면 단순한 하이퍼바이저 훨씬 이상의 것이 서버 인프라스트럭처에 필요하기 때문에 당장 계획을 세워야한다.

불행히도 넘어야할 문제가 많이 있다. SOA의 가변 탑재를 실현하려면 한 서버에서 처리할 작은 부분을 여러 서버에 나누어 할당하여 서비스를 제공해야 한다. 아직까지는 대부분 업체들이 하나의 서버를 복수의 운영 시스템에 나누는데 초점을 맞춘, 통합 단계에 머물러 있다. 복수의 서버에 있는 자원을 끌어오려면 현재 VMware와 Xen이 제공하는 것과는 반대 방향인 그리드 컴퓨팅이나 클러스터링 쪽으로 움직여야 한다.

정말 기민한 인프라스트럭쳐는 서버간에 빠르게 움직이는 가상머신도 필요하다. 가상 저장 공간과 가상 네트워크의 사용을 가능하게 하는 가상 머신 말이다. 무엇보다도 중요한 것이, 관리 기능이 전체 소프트웨어에 통합되야한다. 가상화 업체들은 가상 머신의 셋업을 관리하는 툴을 제공하지만, 아직 애플리케이션 관리와 SOA 관리에 통합되진 않았다.

가상화는 SOA를 미들웨어와 근본적인 서비스 이렇게 두 가지 주요 카테고리로 나눠 도울 수 있다. 넓은 의미에서 SOA라 분류되는 제품 중 대부분은 엔터프라이즈 서비스 버스, 매니지먼트, 거버넌스, 보안 소프트웨어를 포함하는 첫번째 그룹에 해당된다.

그러나 SOA 가상화로부터 얻을 수 있는 가장 큰 유연함은 자바, 닷넷 서버와 레거시 플랫폼의 컨넥터를 포함하는 두 번째 카테고리다. 이것은 서비스가 미들웨어보다 더 많은 연산 자원을 사용하고 특정 서비스에 대한 요구는 급변할 수 있기 때문이다.

◆표준없고 독점시스템도 성숙 덜돼 좀 더 기다려야 할 듯=BEA, IBM, 마이크로소프트, 레드햇, 썬 등 업체의 애플리케이션 플랫폼은 상대적으로 가상화하기 쉽다.

첫째, 이들은 이미 부분적으로 가상화되어 있다. 즉 애플리케이션을 OS로부터 격리시키는 자바나 닷넷 가상 머신 내에서 실행된다. 애플리케이션의 이식성과 보안을 높임으로써 개발을 단순화하기 위해서 이뤄졌던 것인데 기민성에도 도움이 된다.

추가로 BEA만 빼고 나머지 주요 애플리케이션 플랫폼 벤더들은 모두 OS 수준의 가상화 기술을 판매하므로 SOA와 가상화가 함께 잘 작동할 수 있게 만들 수 있는 위치에 있다.

OS 수준 가상화를 자바 가상머신과 조합하는 것은 근본적으로 관리상의 문제다. 현재, 운영 시스템의 가상 인스턴스들은 VMware와 XenSource와 같은 업체가 제공하는 하이퍼바이저와 함께 제공되는 소프트웨어에 의해서 만들어지고 관리된다. 이 하이퍼바이저 수준 소프트웨어들은 가상 서버의 자원이 물리적 하드웨어와 어떻게 연관되는지를 잘 이해하고 있지만 애플리케이션 내부를 들여다 볼 수는 없다.

역으로 SOA와 웹서비스 관리 도구들은 애플리케이션 플랫폼 외부를 볼 수 없다. 대개 자바 가상머신 내에서 실행되는 관리 에이전트를 제공하지만, 이것들은 깔려있는 서버가 가상화되었는지 알 수가 없다.

호환성을 최대한 유지하면서 SOA와 가상화를 구현하려는 기업이라면 현재로서는 SOA의 디자인 철학에 따라서 느슨한 결합을 유지하는 것이 바람직하다.

가상 머신에서 웹서비스를 실행하는데 표준이 없고 독점 시스템들도 아직 성숙되지 않은 상태에서 본격적인 결합에는 시간이 오래 걸릴 것으로 보이기 때문이다. 하지만 때가 되었을 때 빨리 도입할 수 있도록 기술발전 상태를 항상 관찰해야 한다.
저작권자 © 컴퓨터월드 무단전재 및 재배포 금지