虛擬應用架構分析

虛擬應用架構分析

一、概述

        傳統的軟件應用是用戶必須預先在本地安裝軟件,然後用戶纔可以使用。虛擬應用(Virtual Application)是一種“軟件即服務”的概念,軟件部署在虛擬應用服務器,客戶端無需在本地安裝,在瀏覽器中通過瀏覽器插件遠程啓動應用軟件。軟件進程運行在應用服務器上,用戶是以域賬號的身份打開的。

1. 優點

1. 無需安裝,即需即用。用戶只需要點擊圖標、鏈接或者其他形式的啓動標識,即可使用該虛擬應用,而傳統應用則需要本地安裝。

2. 節省資源。軟件啓動後進程是運行在應用服務器上的,消耗的是應用服務器上的計算資源,對本地客戶機的硬件資源需求較少,也可以這麼說值需要一個瀏覽器即可。

3. 節約成本。購買正版軟件的授權是很昂貴的,使用虛擬應用則可以很好的解決這一問題,將正版軟件部署在應用服務器上發佈出去,則可以支持很多用戶的同時使用,不再面臨軟件的授權問題。

2. 缺點

1. 受網絡因素影響較大。客戶端操作的指令流以及應用服務器端的軟件圖像流是通過網絡來傳輸的,因此網絡環境條件影響虛擬應用使用的流暢度,2M的帶寬基本可以滿足。

2. 軟件發佈流程複雜,發佈的應用軟件必須由管理員在應用服務器上安裝部署後才能發佈出來。

二、網絡架構分析

                                      

1. 架構角色說明

1) AD-DC

       域控:域控用於統一管理平臺賬號,在平臺中每創建一個用戶會通過ldapWindows域控中添加一個用戶,因此該用戶就可以登錄所有虛擬應用服務器。

2) AD-GW

       網關:網關用來做調到內網的接口,因爲客戶端需要遠程訪問所有的虛擬應用服務器,因此需要通過一個入口跳進去,網關就是這樣的角色。當前的一種做法就是網關也配置內網地址,在路由器上做一個映射將網關的內網地址映射到外網,這樣位於公網上的用戶就可以識別到該網關,就可以通過網關跳到內網登陸所有的虛擬應用服務器。

3) DIMSTORAGE

       存儲服務器:存儲服務器爲平臺用戶提供統一的存儲。在平臺中每註冊一個用戶,都會在存儲服務器上爲用戶創建一個私有空間(通過samba進行共享),並設置磁盤配額。當用戶通過打開虛擬應用軟件時,通過執行登陸腳本將自己的存儲自動掛載到虛擬應用軟件所在的虛擬應用服務器上,這樣用戶就可以將使用軟件編輯的文件保存在自己的空間中。用戶的空間屬於私有的,別的用戶無法訪問。

4) VAMSERVER

       虛擬應用後臺管理服務器:虛擬應用後臺管理服務器主要負責虛擬應用服務器的管理、軟件的發佈與管理等。它是虛擬應用使用的關鍵。

5) PORTAL-SERVER

      門戶服務器:顧名思義,門戶服務器部署web站點,對外提供web訪問入口,並完成主要業務邏輯。門戶建站,堅持分站的原則,不同的站點完成不同的功能,各站點間通過對外提供接口來完成通信。例如:用戶管理站點,就主要負責用戶的管理,其它站點的登錄和註冊都是跳轉到該用戶管理站點來完成。

2. 系統運行說明

        首先,用戶通過外網訪問PORTAL-SERVER上的web站點,點擊“註冊”會跳轉到用戶管理中心站點,該站點完成用戶數據的入庫、LDAPWindows AD-DC域控上添加賬號、在DIMSTORAGE上創建用戶空間(寫samba配置文件)並設置用戶磁盤配額,完成上述所有操作,註冊流程完成。

其次,用戶登錄平臺,點擊某虛擬應用軟件,會去請求VAMSERVERVAMSERVER會去檢索請求的應用軟件都在哪些虛擬應用服務器上進行了部署,然後通過根據當時的系統資源消耗,選擇消耗最小的虛擬應用服務器,並將它的機器名返回給請求端。

        然後,請求端回根據相關信息(用戶名、密碼、機器名、網關等)生成rdp文件,然後通過該rdp文件遠程打開應用軟件。該過程是通過遠程登陸的方式去啓動的軟件,通過在應用服務器上配置策略,使用戶登錄時都會執行某一腳本,該腳本通過獲取到的信息將用戶的存儲空間掛載到該應用服務器上,至此,軟件打開,在文件瀏覽器中可以看到掛載的屬於用戶自己的用戶目錄。

        最後,用戶利用軟件進行若干創作,最終將該文件保存到自己的存儲空間中,注意:用戶無法將創作完的文件保存到本地,因爲軟件進程是運行在虛擬應用服務器上的,在點擊保存時出現的文件位置選擇也是虛擬應用服務器上的。

三、應用場景

發佈虛擬應用,既可以發佈軟件也可以發佈服務。

發佈軟件很好理解,就是可以讓客戶端用戶使用軟件;而發佈服務則可以理解爲提供服務,一個應用場景是我當前有一個文件,需要用到某軟件進行處理,但是該過程是自動化的,無需我界面進行操作,我只需要提交一個文件即可,然後你最終給我生成的文件。這個過程是用過調用某軟件的處理程序完成的,例如某個exe。下面就分別說下這兩種方式分別是如何實現的:

1. 虛擬應用軟件

發佈軟件很容易實現,過程略。

2. 虛擬應用服務

        首先,在虛擬應用服務器上部署某類軟件,用以將來執行時調用某類子程序完成功能;其次,在DIMSTORAGE存儲服務器上單獨開闢一個獨立的空間,用於存放客戶在web門戶上傳時的文件,然後再將該目錄掛載到某虛擬應用服務器上,就可以使用用戶提交的文件進行處理了。然後,在應用服務器上,編寫守護進程,用來接收用戶提交的http請求(webservicesoap),當收到處理請求後就調用軟件程序對文件進行處理,最終生成目的文件;最後,將該文件拷貝到用戶存儲空間即可。

四、展望

        虛擬應用是雲中“軟件即服務”概念的一種應用方式,具有非常廣闊的引用前景。無論是滿足何種需求(當然大部分是節約成本着想),虛擬應用都是一種很好的解決方案。

       虛擬應用的使用不單單在PC端可以使用,在AndroidIOS設備上同樣可以使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章