跳到主要內容區塊

ntuccepaper2019

校務服務

軟體按需派送服務建置
  • 卷期:v0022
  • 出版日期:2012-09-20

作者:陳永樵 / 臺灣大學計算機及資訊網路中心作業管理組程式設計師


軟體按需派送系統讓終端使用者能立即使用應用軟體,將軟體安裝於虛擬環境,讓管理者獲得完整的掌握權並且達成軟體共享,有效降低龐大的軟體預算,大大降低了資源損耗以及軟體安裝所需的維護工作。按需派送服務為軟體派發開創了一個嶄新的契機,一個能讓軟體服務有效控制服務質量的架構及更好的軟體部署與維護。

 

前言

雲端運算(Cloud Computing)是一種植基於網際網路的運算方式,使用者可以需求依照來使用各種軟硬體資源。這種運作方式是80年代以來,繼大型主機轉為客戶端-伺服器架構後的一大變革。使用者不需要瞭解『雲端』內的相關設施,也不需相關的專業知識,就可以使用瀏覽器等軟體獲得服務。
雲端運算一般認為包括以下幾個層次的服務:基礎設施即服務(IaaS),平台即服務(PaaS)和軟體即服務(SaaS),而這些雲端服務通常需具備幾項特徵:

  • 自助式的隨選服務
  • 使用網路設備隨時存取
  • 多人共享
  • 快速靈活的重新佈署性
  • 服務可被監控及量測

 

其中的軟體即服務是一種新興起的一種完全創新的軟體應用模式,雲端服務供應者將應用軟體統一部署在伺服器上,使用者可以根據自己的需求,通過網際網路訂購或訂閱所需的應用軟體服務並按照用量支付費用。
本文所提出的服務,擁有雲端服務的相關特徵,除了能配發軟體,也方便管理、支援整個應用軟體的安裝、升級到移除的生命週期。
軟體即服務相關技術
軟體即服務區分為兩大類,一種為Software on Server,另一種就是Software on Client。

  • Software on Server

這種方式最具體的方法包括遠端桌面連線(Remote Desktop Protocol, RDP)及虛擬桌面(VDI,Virtual Desktop Infrastructure)方式,以Citrix與微軟終端服務最具代表性。軟體運行於伺服器,並且在伺服器與使用者之間傳送桌面、鍵盤以及滑鼠等輸入工具。對於資訊管理員而言,這被視為一種高度安全、便於管理的方式,但是它也需要非常好的服務質量(QoS)才能順利運作。此種解決方案所帶來的優點為:可攜性高,高安全性(因為原始資料都位於被密切監控的遠端)以及運行在任何機器上之可行性(僅需網絡、輸入裝置與螢幕)。然而,軟體卻因為使用者無法直接存取資源而降低效能,也無法和其他軟體做有效的整合。

  • Software on Client

這是使用串流技術的一個新穎的軟體使用環境。在此環境下,使用者能享有快速安裝、隨點即用的好處,並且與傳統軟體安裝於本機使用並無差別,軟體直接於使用者端運作,大大降低主機建置的成本需求。

 

軟體按需派送服務

軟體按需派送服務(On demand Application Delivery)是一種軟體配發自助服務平台,它能讓傳統的應用軟體封包,在軟體即服務(Software as a service, SaaS)的模型基礎上迅速配送。軟體按需派送系統還提供軟體即服務之所需元素,例如迅速部署與數位權利管理功能(包含軟體使用監控、立即使用與停用、撤銷使用權與智慧財產權保護)。
 

在此環境下,使用者能享有快速安裝、隨點即用的好處,並且在使用上幾乎與安裝於本機使用的軟體沒有差別。此外,此系統還提供了一個以使用權(而非所有權)作為計價基礎的計費方式,更合理、更符合經濟效益。此系統一方面解決了各項疑慮諸如:軟體衝突、大量硬碟空間需求、複雜的軟體安裝與組態配置,更進一步地提升了使用者對軟體以網際網路派送的信任度。不同於以往需要特殊管理權限才能運行軟體,使用者如今能輕易地使用軟體,就像從自動唱片點唱機中點選歌曲一樣的容易。這些軟體能被迅速的啟用,讓使用者擁有簡單化、乾淨的桌面。使用者能夠選擇從信任的服務提供者中執行這些軟體。
 

這這種環境之下,系統管理員能以最有效率的方式為終端使用者提供支援,並且無須重新編譯或重寫應用軟體就能達到新舊軟體間轉換的目的。他們能控制服務品質,並且能以遠端連線方式,為個體使用者或群組使用者提供系統更新與互動式故障檢測。除此之外,更能透過啟用與解除(如同安裝與移除)軟體使用權利,取得得應用軟體的控制權。軟體按需派送系統讓管理員至終端使用者快速的軟體派送成為可能,並且讓資訊部門的功能從原本的服務台轉移成為軟體服務,減少故障檢測以及與使用者間多餘的互動卻又同時提供即時、直接的幫助。
 

在許多情況之下,使用者對於某些特殊軟體的需求是立即性的。此種需求通常屬於技術層面;例如:使用者需要立刻使用某種特殊軟體來開啟某特殊檔案,而能夠使用此軟體的電腦卻因為某些因素(失竊、故障)無法使用。其他的狀況則屬非立即性。例如在某企業中採用了影像管理機制,資訊管理員必須將影像與使用者做適當分隔。軟體按需派送系統針對以上種種的需要提供了最佳化的解決方案,並且將使用者限定的應用軟體從作業系統中移除以減少影像管理所產生的問題。
 
軟體按需派送系統擁有兩種獨特的計費模式:「每次使用付費」與「使用前先試用」之付費機制。使用者受惠於此種付費方式,能夠以優於傳統下載試用的方式,用本機測試與體驗應用軟體。他們再也無須經歷下載全部應用軟體的漫長等待,就能夠使用軟體。使用者節省了時間、服務提供者則節省了頻寬。軟體按需派送系統成就了應用軟體無所不在與普及化的終極目的,造福了終端使用者。

 

軟體銀行2.0相關技術

本中心建置了一套軟體按需派送服務系統,簡稱為軟體銀行2.0;此系統使用Application Jukebox技術,提供全校師生簡易的雲端軟體服務。

Application Jukebox提供多樣性的軟體需求,依據不同檔案之組態來進行分別的處理。圖一指出了這些方式。其中最簡單方式,從虛擬檔案系統中存取。對於安裝在軟體自身目錄之下的檔案,這種方式尤其適合。因為應用軟體的檔案被放置在實體硬碟中,因此可以被設定為隔離或者整合模式。串流的應用軟體無法存取這些隔離的檔案。而整合模式下的檔案,則會被視為以相同檔案名稱出現並安裝在實體機器上;然而其原始的檔案則沒有經過變更,也無法存取。透過直接存取虛擬隔離的檔案系統是最有效率、彈性的方法,因為它並不會招致額外的存取需求,因此獲得Application Jukebox在管理按需派送的所有好處。


當檔案安裝之後,Application Jukebox提供了管理檔案衝突的有效管道。對於分類的檔案,例如DLLs或者其他系統檔案,Application Jukebox能自動安排其可見性之優先順序。在其它的情況之下,此安裝的版本則會選擇暫時性地取代了早先的版本。無論是上述的哪一種情形,Application Jukebox都能在移除串流的應用軟體後,把系統回復原狀。

在建置檔案系統的時候,唯一需要從串流伺服器上獲得檔案內容的方式是直接將檔案複製至本地系統。然而,為了達到最佳的效能表現,提前獲得部分軟體是一個很好的方式。在此我們指的是軟體的緩衝區(Prefetched or buffered)部分。基於應用軟體執行的分析、監控哪些是軟體運行基本功能的要件,緩衝區的內容得被定義。這些被緩衝的區域將被存放在快取記憶體(Cache)當中,因而它們能在軟體運作的時候隨時備存取。第二部份的緩衝區則能在背景下運行,再加到額外的串流資料序列中。

當Application Jukebox 正在緩衝初步的資料時,系統會在目標機器上安裝檔案系統,並加入一些必須的組態設定。一些特殊的環境變數考量,讓軟體所需的環境因素能夠順利與系統上既存的資訊作完美整合。例如,字體(Fonts)會特別被列入考量,來確保它們順利地被加入系統的資源當中。
Application Jukebox 將軟體組態與存取的設定存入登錄檔(Registry)之中,目標在支援串流軟體與本地資源的完美整合。對於查詢系統組態、印表機的使用、設定檔案關聯性以及相關軟體工具組共享都是非常重要的。串流的軟體會把組態資料存放在虛擬的登錄檔之中,如同於虛擬檔案系統機制,此登錄檔能夠以隔離、整合或者安裝的形式存在於系統。所有登錄檔的變更都由Application Jukebox Player做統一控管,因此當軟體解除後,登錄檔將還原至原始狀態。

 

緩衝之後,雖然有少許的軟體必須在重開機之後才能完成啟用的程序,大部份的應用軟體都能夠立即被使用。當此啟動程序完成後,軟體就像是被安裝在系統上一樣,以相同的方式被執行。

 

當這些可執行文件被開啟時,同時間也存取了虛擬的檔案系統與登錄檔。而應用軟體執行的時候,它也會從虛擬的檔案系統讀取額外的功能。當開啟程式所需的初步資料與功能被預先讀取之後,軟體就會快速開啟。而使用者在操作的過程中所需要的更多功能,會透過Application Jukebox player 向虛擬的商店索取。

相較於檔案層級,Application Jukebox player 以區塊(blocks)做為操縱應用軟體資料的基本單位。這樣做的好處是,當軟體只需要存取某一大檔案中的一小部分,則只需傳送此部分資料至目標機器即可。

另一方面,在索取額外資訊時,player 首先會檢查本機磁碟中是否有此區塊。如果沒有,它會從伺服器端取得。持續進行的最佳化提升了串流過程的效能,尤以序列中的區塊取得最為明顯。當按需派送機制與網絡頻寬、個別軟體特性相關時,通常不會造成使用者的困擾。任何顯著的延遲都被有效控制,即使在最糟糕的情形下,這些不利於使用的因素也都能夠被限制在首次使用的軟體功能上。一旦當軟體的資訊被儲存在本機快取記憶體中後,它的效能將可比擬以安裝在本機上的應用軟體。

一般而言,使用者在不同次的使用間隔裡,會讓應用軟體保持虛擬化。由於快取記憶體持續的存在,軟體效能與直接安裝並無差別。而當使用者不再需要此軟體,Application Jukebox 也能將其完全移除。

移除的動作將虛擬化過程所有的步驟都還原。任何在實體登錄檔的更動都將被還原至原狀;複製到本機的檔案將被刪除;所有本機的版本都會被還原。當移除的過程完成之後,所有應用軟體的元件都將從系統被一一刪除。
 

結論

軟體按需派送系統(On Demand Application Delivery, ODAD) 除了讓終端使用者能立即使用應用軟體之外,還有以下的好處:
- 透過一次性安裝於虛擬環境,以及再次安裝至作業系統,達成緩衝與動態安裝兩大優點,大量降低了資源損耗以及軟體安裝所需的維護工作。
- 實現了其所聯繫的環境所能供給之應用軟體管理和數位內容權力管理(DRM),讓管理者獲得完整的掌握權,促成軟體共享及並有效降低軟體預算。
- 將應用軟體的生命週期與遠端控制涵蓋在環境之下、把變更自作業環境中隔離,讓管理者管理軟體生命周期。這個特性在今日快速派送軟體與高防護措施的雙指標下,顯得更為重要。
- 將應用軟體的安裝與管理交給後端工程師來處理。軟體部署與維護角色從原始的本機管理(無經驗或專業知識) 完全轉移至軟體服務供應者(熟知自己提供之軟體)。

 

按需派送服務為軟體派發開創了一個嶄新的契機,讓軟體服務有效控制服務質量的架構及更好的軟體部署與維護環境。