在20126月的互動國際數位新產品發表會上,針對最新版ArcGIS 10.1各產品線的十大重點特色,快速的帶領大家預覽新版本的重大變革(下載簡報),而本文希望將更進一步較為深入說明ArcGIS Server 10.1版本在架構上的轉變。Esri總裁Jack在今年的7Esri使用者大會上提到「GIS 正在演變成一個全新的平台:雲端地理資訊系統(Cloud GIS),而Esri正在將GIS往雲端上移動(連結影片)」。Esri長期以來每年投注20%以上的營收在研發上,持續關注與發展符合未來趨勢的產品,除了推出SaaS層級的ArcGIS online以外,在這次新產品ArcGIS Server的架構上,我們也看見了10.1版本直接提供了更多支援PaaS層級雲端平台建構的特性,而對於一般中小型企業或組織內的管理者而言,新的架構在建構容錯機制與設定管理上更是方便迅速,讓我們一起來一窺新版本在架構上的重要特性。

一、以站台(SITE)為架構單位,簡化安裝設定程序

ArcGIS Server 10與10.1版本架構比較示意圖    1 ArcGIS Server 1010.1版本架構比較示意圖
      如上圖 1在10.0版以前,ArcGIS Server的運作方式主要是透過SOM(Server Object Manager)與SOC(Server Object Container)角色合作搭配完成,兩者缺一不可,SOM就像部門主管,專門接收從Web伺服器傳來的使用者需求,然後將任務分配給轄下有空檔的部屬(SOC)來執行空間運算處理工作,SOM與SOC可以依不同需求情境採用分散式安裝佈署在不同機器上,設定程序會較為複雜些;然而在ArcGIS Server 10.1新版本的安裝程序簡化非常多,架構上也不再區分SOM或SOC角色,每一台機器的安裝內容都是完整的ArcGIS Server功能,每一個 ArcGIS Server就是一個可以獨立運作的站台(Site),並且內建提供網站伺服器(Web Server),

ArcGIS以站台(Site)為獨立運作管理單位  圖 2 ArcGIS以站台(Site)為獨立運作管理單位

      可以直接透過預設的6080 通訊埠來存取GIS服務或進行管理作業。如下 3管理者可使用瀏覽器登入Web管理介面線上進行站台設定,並且可自行加入、移除、啟用或停止站台中安裝有ArcGIS Server 的任何一台機器(以下我們將稱呼每一台安裝有ArcGIS Server的機器為節點)

ArcGIS Server Manager網站式管理介面(10.1版)  

3 ArcGIS Server Manager網站式管理介面(10.1)

二、高彈性的資源運用,線上快速隨需調控

      企業或組織內部的GIS運算需求有可能會隨不同情境而需擴張或縮減,例如防災單位可能在突發的災害發生期間需要大量提供地圖服務或空間分析演算,因此我們就可以運用10.1版本以站台(Site)為架構單元的特性,建置可隨需調動的高可用性容錯備援機制。在平常需求量少期間,我們可以僅開啟一台機器來維持平常作業,而在高用量期間,就可以將多台已安裝好ArcGIS Server的實體或虛擬裝置啟用,加入同一站台組成聯盟來服務大量的需求;在多節點佈署的情境下,即使有節點臨時故障無法提供服務,其他的節點也會馬上接手提供服務。

ArcGIS Server 10.1多節點佈署方案範例  

4 ArcGIS Server 10.1多節點佈署方案範例

      而在這個架構機制的背後,每一個站台(Site)都需要有一個秘密基地放置站台共用的檔案,並且凡是加入站台的節點的服務帳戶都必須有權限來存取,其內容主要包含兩大類:

  1. 組態儲存區(Configuration Store): 放置ArcGIS Server站台、節點、安全性與資料來源註冊資訊等重要的設定檔案,採用JSON格式儲存。
  2. 伺服器目錄區(Server Directories):儲存快取地圖(Cache)、地理處理工作暫存檔(Job)、服務輸出暫存檔(Output)、系統資訊檔案(System)

Server Directories目錄設定畫面  

5 Server Directories目錄設定畫面

三、運用叢集(Cluster)作為邏輯單位,有效平衡資源運用

      在上述之多節點佈署情境中,ArcGIS Server節點可再分類群組成一種邏輯單元,叫做叢集(Cluster),而每一個叢集可以依設定來執行某些特定組合的服務,如下 6,一個站台(Site)中共有三個ArcGIS Server 節點,管理者建立了兩個叢集:叢集A僅含一個節點,專門執行處理時間較短的地圖服務(Map Service),而叢集B則擁有兩個節點的運算能力,處理較為耗費資源的地理處理服務(Geoprocessing Service),透過這樣的方式,即使是重量級的地理處理服務已經將資源用光,也不會導致多數使用者需要瀏覽查詢的地圖服務因等待資源分派而中斷服務。

ArcGIS Server10.1服務叢集(Cluster)範例畫面  

6 ArcGIS Server10.1服務叢集(Cluster)範例畫面

      叢集機制讓管理者可以平衡、隔離、指派資源給特定的服務使用,而更能夠有效的運用資源 10.1版在安裝完畢完成站台設定後,預設會自動建立一個叫做「default」的服務叢集(Cluster),管理者可以透過管理介面線上直接設定叢集與節點,而發布者在進行服務發布流程工作時,則可指派服務使用的叢集資源。( 7 8)

叢集(Cluster)管理設定畫面  

7 叢集(Cluster)管理設定畫面

發布服務時設定叢集畫面  

發布服務時設定叢集畫面

提醒  關於通訊埠:ArcGIS Server預設會運用到以下幾個通訊埠,因此要記得設定防火牆打開這些通訊埠以避免被擋住而無法運作。

  • HTTP port 6080:預設ArcGIS Server提供各種服務通訊使用。
  • HTTPS port 6443:如果啟用SSL則預設通訊採用6443
  • Ports 4000-4003:在多節點佈署情境時,各節點之間溝通會使用這四個通訊埠。
  • Ports 4004以上:叢集(Cluster)使用,預設叢集會使用4004,之後每建立一個新的叢集就會往上增加一個埠號。 

四、運用Web Adapter強化架構安全性

      在多節點佈署環境中( 4),每一台GIS Server都有一個內建的網站伺服器以預設6080Port來提供服務,然而每一台節點的主機名稱不同, 因此我們可以運用10.1新版提供的ArcGIS Web Adapter作為整個站台GIS Server Site對外提供服務的集中入口存取點,並可以使用標準的HTTP(S)通訊埠來提供服務,除此以外使用Web Adapter可以增強整體架構之安全性,其優點如下:

pic1010810_09  

9 ArcGIS Web Adapter增強架構安全性

1.可隱藏ArcGIS Server預設通訊端口6080與/arcgis/網站目錄,外部連接僅能由標準HTTP(s)通訊埠存取服務,例如以下轉換範例

2.ArcGIS Server內建網站伺服器提供兩個Web目錄來進行伺服器管理,其URL範例如下:
3.可阻擋一般使用者用ArcGIS for Desktop軟體建立管理者或發布者連線。
4.安裝在IIS上時可結合Microsoft Active Directory進行整合式的Windows認證。

    基於上述優點,在正式的運作環境中,即使您僅安裝一台ArcGIS Server仍強烈建議您安裝Web Adapter來增強整體安全性。

ArcGIS Web Adapter管理設定畫面  

10 ArcGIS Web Adapter管理設定畫面

五、更成熟完善的安全性機制

      新版的ArcGIS Server在安全性上提供多種控管機制,確保服務可正常安全的運作:

1.新型態的角色:在新版中有4種類型的使用角色

  • 主要站台管理員(Primary Site Administrator Account):每一個獨立運作站台(Site)只有一位,為最高權限者,請注意請不要和ArcGIS Server Account(服務帳號)混淆。
  • 管理者(Administrator):系統管理者可以進行各種站台、節點等全面性之管理任務。
  • 發布者(Publisher):服務發布者,可建立服務,刪除服務或製作快取地圖等服務相關之管理工作。
  • 使用者(User):僅能依照服務的授權設定來使用服務。
2. 多元化組合的認證授權方式:主要提供以下四種認證方法
  • ArcGIS Server內建(Built-in)
  • 整合LDAP 伺服器
  • 整合Windows AD伺服器
  • 用戶自訂型

      內建認證方式為安裝ArcGIS Server的預設方式,設定上較為簡單,由ArcGIS Server儲存管理與進行使用者認證授權,而(2)~(3)則可整合企業內部既有之安全性控管機制(LDAP、AD Server或其他),提供較高等級的安全性。

pic1010810_11  

11 ArcGIS Server管理介面群組設定畫面

六、開放Administrator API ,可自動化執行管理任務

      除了繼承自前版ArcGIS Server在伺服器端提供了ArcGIS Server REST APISOAP Web Service讓開發者可以存取伺服器端的服務外,Esri10.1版本額外提供了一組特別的「Administrator API」,這個API使用RESTful架構,開發者可以使用例如Python, Java, JavaScript, PowerShell, C#, Ruby, Perl等程式語言呼叫Web Service來進行各種伺服器管理任務,管理者可以透過程式化Script自動化執行管理工作,包含管理站台(Site)、節點(Machine)、叢集(Cluster)、資料來源(Data)、安全性(Security)、各式服務發布與狀態監控(Service)、日誌紀錄(Log)等等各種管理工作。如果您有興趣進一步了解,可在伺服器安裝完畢後,使用瀏覽器連線到http://{hostname}:6080/arcgis/admin查看Administrator API Reference提供那些功能。(如圖 12)

ArcGIS Server 10.1 Administrator Directory畫面  

12 ArcGIS Server 10.1 Administrator Directory畫面

七、總結

      綜整本次新版架構上的功能特色配合Administrator API的開放,新版的ArcGIS Server10.1在架構上具備以下優勢:

  1. 透過擴充節點(Machine)加入叢集(Cluster)邏輯單位的方式,可快速提供GIS運算的共享資源池(Pool),只要基礎架構上的硬體資源足夠,可隨意快速的擴展或縮減
  2. 運用Administrator API,可實現自動化資源管理,更可進一步開發管理介面,使用者可依其需求進行自助式資源調配,或者可量測資源使用狀況進行成本核算,支援發展雲端平台所需之特性功能。
  3. ArcGIS Server採用公開標準化的網路服務架構與通訊方式,並提供各種用戶端(包含Web、Desktop、Mobile)應用程式開發工具,可廣泛的支援多元化的網路用戶端存取。

      基於以上之架構優勢,對於希望發展GIS私有雲端平台之大型組織或是需要具備快速容錯備援機制的中小型企業,ArcGIS Server都會是您最佳的選擇。


參考資料:ArcGIS HELP 10.1 

本文作者: 技術服務處 / 喬依絲,更多技術文章敬請期待互動國際數位股份有限公司官方網站技術服務區

創作者介紹
創作者 喬伊絲( I am GIS ) 的頭像
喬伊絲

喬伊絲( I am GIS )

喬伊絲 發表在 痞客邦 留言(0) 人氣( 1608 )