애플리케이션 가상화는 데스크톱 가상화의 필수 요소로서 SBC를 구현하는 핵심 기술이다. 서버 자원의 효율성을 높이는데 사용되는 가상화 기술은 데스크톱으로 영역을 넓혀 업무 이동성, 보안성 등까지 지원하고 있다. SBC에 적용되는 가상화 기술에 대해 알아본다.
자료 제공 | 시트릭스시스템즈코리아
SBC의 핵심인 애플리케이션 가상화 기술은 효율적인 애플리케이션 관리, 모바일 업무 환경, 컴플라이언스 규제 지원, 보안 환경의 업그레이드, 비즈니스 연속성 등을 모두 해결해 줄 수 있는 솔루션으로 각광받고 있다. 특히 애플리케이션과 네트워크 복잡성이 빠르게 증가하는 오늘날의 IT 환경에서 기업은 효율성, 보안, 성능 문제를 한꺼번에 해결해야 하는 상황에 직면하고 있다. 점점 늘어나는 애플리케이션과 복잡해지는 관리와 업데이트, 유비쿼터스 업무 환경으로 인한 모바일 사용자 증가, 글로벌 지사와 원격 지점의 직원 증가는 기업 생산성에 직·간접적인 영향을 미치고 있다. 이에 따라 SBC와 가상화 기술에 대한 관심이 어느 때보다 높아지고 있다. 서버 기반의 애플리케이션 가상화는 이미 많은 도입 사례들을 통해 장점을 보여준 바 있다. 가상화 솔루션의 전략적인 활용과 그 성과에 대해 기업들이 주목하고 있는 만큼 앞으로 도입이 폭발적으로 늘어날 것으로 예상되고 있다. 애플리케이션 가상화는 앞으로 기업의 애플리케이션 설치와 도입에 대한 기본 모델 자체를 바꾸게 될 것이며, 궁극적으로 기업의 주요 애플리케이션 정책의 표준이 될 것으로 예상된다. 애플리케이션 가상화와 관련 기술 정의 애플리케이션 가상화는 컴퓨팅 자원과 아키텍처를 중앙 집중화해 중앙에서 배포와 관리가 이뤄지도록 한 것이다. 즉, 애플리케이션 가상화 기술은 정보를 저장하고 프로세싱하는 서버로부터 애플리케이션 이용을 분리한다. 포괄적인 관점에서 본다면 애플리케이션 아이솔레이션(isolation)과 같은 관점도 포함하고 있다. 애플리케이션 가상화에 대해 일반적이고 명확한 정의가 내려져 있는 것은 아니다. 가상화는 어댑티브, 온 디맨드, 유기적 혹은 동적 컴퓨팅이라는 이름으로 널리 알려져 있는 유틸리티 컴퓨팅 개념으로, 애플리케이션 가상화, 데스크톱 가상화, 스토리지 가상화 등으로 구분할 수 있다. 데스크톱 가상화는 운영체제나 애플리케이션과 같은 시스템의 일부분이나 모든 컴포넌트가 집행되는 보안이 가능한 PC 환경에서 기본적인 하드웨어·소프트웨어 플랫폼과 분리된 환경으로 정의할 수 있다. 즉 가상 네트워크 세그먼트를 기초로 네트워크를 구축하는 프로세스 장치들은 실제 물리적인 위치와 실제 네트워크로 연결되는 통로에 관계없이 가상 세그먼트에 연결되며, 가상화 층은 가상 환경과 시스템의 다른 부분 사이의 상호작용을 조정한다. 애플리케이션 가상화는 데스크톱 가상화의 필수 요소로서, 운영체제과 물리적 디바이스로부터 애플리케이션 로직을 가상화한다. ‘.dll’과 같은 실행파일이나 레지스트리 파일 흔적을 남기지 않고 애플리케이션을 실행시킨다. 또 디바이스 종류나 플랫폼에 관계없이 중앙집중화된 애플리케이션과 데이터에 유연한 액세스를 제공한다. 서버 통합이나 클라이언트 측면에서 보면, 애플리케이션 가상화는 같은 하드웨어에서 다른 운영체제을 충족시키는 애플리케이션을 실행시킨다. 때문에 애플리케이션 가상화는 하드웨어 통합으로 인한 비용절감, 물리적인 구축비용 절감 등의 장점을 제공한다. 또 애플리케이션 관리와 구축, 운영비용 절감, 사용자의 생산성 향상, 신속성과 보안 향상 등의 효과를 가져올 수 있다.
애플리케이션 가상화와 가상 운영체제 컨테이너 가상화 기술은 하나의 플랫폼에서 독립적인 복수의 파티션이나 컨테이너 상에서 여러 개의 애플리케이션을 가동할 수 있게 해주는 것으로, 하나의 컴퓨팅 시스템이 여러 개의 ‘가상’ 시스템 역할을 한다. 운영 시스템 가상화의 초기 용도 중 하나는, 몇 개의 다른 애플리케이션 버전과 운영체제이 같은 물리적 하드웨어 상에서 동시에 수행하게 하는 것이었다. 같은 클라이언트나 서버 시스템에 다양한 운영체제 버전을 운용하는 것에 대해 법적으로 제한이 있었을 당시, 가상화는 물리적 서버의 부족을 효과적으로 해결해 줄 수 있는 유일한 솔루션이었다. 그러나 대부분의 운영체제 컨테이너는 단순히 잘 작동하지 않는 애플리케이션을 따로 격리시키는 데만 이용됐다. 대개의 경우 애플리케이션 가상화는 성능 향상을 위해 리소스 집중적인 접근을 꾀한다. 업계에서는 앞으로 애플리케이션 가상화가 운영체제 컨테이너를 이처럼 특정 목적으로 대체하게 될 것으로 예상하고 있다. 또 서버 측면에서는 서버 기반 애플리케이션 가상화를 보완하는 기술로서 운영체제 가상화를 바라보고 있다. 싱글 하드웨어 디바이스에 복합 가상 머신을 생성해 통합하면 애플리케이션과 데이터 통합을 통한 서버 인프라스트럭처의 관리 비용을 줄일 수 있다. SBC와 애플리케이션 스트리밍 애플리케이션 가상화는 국내에서 서버 기반 컴퓨팅(Server Based Computing)이라는 개념으로 일컬어지고 있다. SBC의 핵심 개념이 바로 클라이언트·서버 애플리케이션 가상화인데, 모든 서버와 클라이언트 애플리케이션은 애플리케이션 가상화를 통해 클라이언트 디바이스에서가 아닌, 중앙의 서버 환경에서 처리되고 관리된다. 즉, 서버 기반 컴퓨팅은 모든 애플리케이션과 정보를 서버에 두고 100% 서버에서 실행되도록 하는 컴퓨팅 환경으로, 클라이언트는 단지 서버의 실행 결과만을 보여준다. 은행에 예금을 맡겨놓고 가까운 ATM에서 인출해 사용하듯, 중앙 서버에 모든 정보와 애플리케이션을 두고 필요할 때마다 접속해 각자의 단말에서 불러내 쓰는 것이다. 모든 정보를 서버에 저장하기 때문에 사용자가 언제, 어디서나, 어떤 기기나 네트워크를 통해서도 필요한 정보에 접속해 온 디맨드 형식으로 이용할 수 있다. 이와 유사한 개념이 애플리케이션 스트리밍이다. 그러나 애플리케이션 스트리밍과 SBC의 가장 큰 차이점은, 애플리케이션이 뒷단의 서버에 물리적으로 설치돼 클라이언트에서 구동되는 것처럼 SBC는 데스크톱에서 실행된다는 점이다. 애플리케이션 스트리밍은 가상화와 개념이 다르지만, 이 기술을 통해 기존 씬 클라이언트의 단점을 상당 부분 극복할 수 있을 것으로 예상하고 있다.
애플리케이션 가상화 기술의 적용 과정 애플리케이션 가상화의 가장 기초적인 단계는 사용자의 컴퓨터에 애플리케이션을 실제로 설치하지 않고 애플리케이션을 사용할 수 있게 하는 것이다. 이 때 로컬 디바이스에서 소프트웨어를 설치하고 작동하게 하는 방식이 아니라 중앙 서버의 데이터센터에서 애플리케이션을 구축해 사용할 수 있다. 네트워크 상에서 서버는 많은 사용자들이 애플리케이션의 싱글 인스턴스 위에 기반한 ‘세션’에 액세스하며, 이 세션은 마우스 컨트롤과 키보드 조작으로 스크린 디스플레이와 사용자 디바이스를 사용할 수 있게 한다. 구축된 가상 애플리케이션의 메뉴 등은 다른 로컬 애플리케이션에도 직관적이고 통합된 같은 사용자 경험을 전달할 수 있다. 애플리케이션 가상화 기술은 하드웨어 리소스들로부터 분리돼 있는 애플리케이션이나 운영체제에 프로그래밍된 애플리케이션 인터페이스로부터 분리돼 있는 실행 환경을 뜻한다. 분리된 프로세스는 서로 다른 이기종 네트워크의 어떤 환경에서도 동작할 수 있게 되며, 실시간으로 변환될 수 있다. 이로써 컴포넌트를 빠르게 처리하고 네트워크 상에서 가장 효율적으로 애플리케이션을 전달할 수 있다. 가상화 적용 시 유의점 다양한 장점을 가진 애플리케이션 가상화를 실제 기업 IT 환경에 적용시키기 위해서는 기술적인 문제들과 적용 방법을 살펴야만 한다. 특히 SBC나 보호된 영역에서 애플리케이션을 실행시키는 방식(Sandboxing) 등 다양한 가상화 기술들은 상호 독립적이지 않다. 때문에 IT 관리자나 정책 결정자들은 다양한 환경을 위해 기술간 상관적인 적합성을 이해하고, 비용, 자원, 기업의 인프라스트럭처, 사용자 분포를 고려해 애플리케이션을 어떻게 딜리버리할 것인가를 계획해야 한다. 일반적으로, 최적화된 애플리케이션 딜리버리를 위해 고려해야 할 사항은 운영 비용, 고객 리소스 제한, 데이터센터 인프라 스트럭처, 네트워크 등으로 분류된다. - 데이터센터 인프라스트럭처 데이터와 애플리케이션 중앙화를 실현하기 위해서는 서버의 성능 강화, 스토리지 관리 용이성 향상을 위한 서버 인프라스트럭처 투자가 필요하다. 따라서 초반의 데이터센터 자본 비용의 순증가에 대비해야 한다. 그러나 서버 비용 증가는 애플리케이션 관리 비용의 감소로 상쇄시킬 수 있는 면이 분명히 존재한다. 또 PC를 씬 클라이언트 기기로 교체해 부분적으로 업그레이드 비용을 절감할 것인지, 모든 기능이 지원되는 PC를 이용할 것인지도 고려해야 한다. 애플리케이션 샌드박싱은 원격 클라이언트 시스템 리소스를 이용해 애플리케이션 로직을 실행하기 때문에 일반적으로 데이터센터에 큰 변화를 가져오지 않으며, 애플리케이션과 리소스를 공급하기 위해 패키징할 때 더 적은 세트의 서버를 이용한다. 그러나 각각의 클라이언트 디바이스가 모든 애플리케이션을 실행시키기 위해서는 충분한 프로세스 리소스 관리를 필요로 한다. - 네트워크 대역폭 일반적으로 네트워크는 인터넷을 포함해 사용자와 주변 기기에 애플리케이션을 연결하는데, 이 때 애플리케이션 가상화를 가능하게 하는 추상적 기술의 호스트를 위해 스테이지를 설치한다. 이 형태는 유연하고 적용이 쉽고 관리가 편리한 애플리케이션 환경을 위한 것이다. 클라이언트 서버에서 WAN과 인터넷, 장거리 네트워크를 이용할 경우, SBC는 지속적인 UI 트래픽의 간접 비용이 상대적으로 낮아 훨씬 개선된 네트워크 대역폭을 이용할 수 있다. 이는 원격지 사무실, 해외 지사나 네트워크 환경이 좋지 않은 개발도상국이라면 생산성과 관리 비용을 생각해 꼭 고려해야 할 사항이다. 반면, 각 클라이언트에서 애플리케이션을 실행하는 일반적인 상황에서는 네트워크 트래픽을 발생시키지 않으나, 데이터와 애플리케이션이 서버에 보내는 요청 자체를 충족시키기 위해서는 더 큰 네트워크 트래픽이 발생할 수 있다. - 클라이언트 시스템 수용성 애플리케이션을 사용할 때 클라이언트의 일부가 효율적이지 못하면 서버를 기반으로 실행해야만 한다. 이와 마찬가지로, 강력한 클라이언트 시스템은 애플리케이션 샌드박싱을 통해 더 효율적으로 처리가 가능해 자본을 효율적으로 사용할 수 있다. 대개의 IT 조직은 이와 같은 고려 사항들을 개별적으로 살펴보는 경향이 있다. 이런 경우, 취약점은 애플리케이션 가상화를 전략적으로 도입함으로써 보완할 수 있다. 그러나 고려 사항들을 종합적으로 살펴보기 위해서는 애플리케이션 가상화에 대한 투자 효과를 더욱 전략적으로 이해할 수 있는 일반적인 가이드라인을 제시해야 한다. 예를 들어, 서버 기반의 애플리케이션 가상화에는 클라이언트 서버 애플리케이션, 백엔드 서버와 네트워크화된 스토리지 리소스와 지속적으로 교류하는 애플리케이션, 대역폭에 제한이 있는 원격지 사무실이나 해외 지사로의 애플리케이션 딜리버리 등이 포함된다. 물론 예외로 데스크톱 애플리케이션과 같이 일반적으로 오프라인에서 사용되는 애플리케이션을 들 수 있다.
애플리케이션 아이솔레이션(Isolation)은 관리 중앙화와 단일 애플리케이션 이미지의 유지와 같은 혜택을 제공하면서도 데스크톱 애플리케이션과 오프라인 이용을 해결할 수 있다. 그러나 이는 네트워크화된 애플리케이션의 성능과 애플리케이션의 통합을 의미하지는 않는다. 애플리케이션 가상화 기술은 관리 효율성 증가, 설치 시간 감소, 데이터 보안, 비즈니스 연속성 증가 등 다양한 장점을 가지고 있다. 특히 클라이언트 애플리케이션 유지비용 감소, 클라이언트 측면의 호환성 문제 해결, 운영체제 마이그레이션은 관리성과 생산성 향상을 위해 기업이 눈여겨봐야 할 대목이다. 월간 온더넷 2007년 10월호 |