國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
10. 要有非常好的互動關卡設計。
2.4 雲端運算 雲端運算 雲端運算 雲端運算平台架構與功能 平台架構與功能 平台架構與功能 平台架構與功能
雲端運算從 2010 年隨著硬體與傳輸技術的成熟與普及,加上硬體技術的加速進 展,使得雲端運算風起雲湧,成為最熱門主流。但隨著各領域、各產業或是從資訊服 務業的角度,提出各式各樣運端運用各類型或創新型服務百花齊放之後,終是有些沉 澱,回到先從務實的、有市場利基的、可實現性等方向調整。而雲端軟硬體建置,也 將在網路通訊、網路服務、載具匯流趨勢中,漸漸會成為網際網路服務的基礎建設,
惟雲端基礎建設之上,會發展出什麼樣的商業功能與服務,則將隨著不同產業在雲端 需求的成熟度而有所不同。遊戲產業就是在一開始之際,各家提出非常多的雲端服務 完整解決方案、雲端運算創新服務功能等,至今則在大廠觀望、試運行以及中小、新 創公司提出對雲端遊戲服務需求中,逐漸看到可以服務方式與功能的可能。
無論現今雲端運算服務到什麼樣的程度,我們還是要先探討雲端運算服務的架 構與功能,從中再去對應遊戲產業中可能運用到雲端運算的部份為那些可能,而發展 雲端平台在線上遊戲產業上可以有那些服務與功能提供,讓雲端服務平台落實在線上 遊戲產業中,其中更以已經開始提供線上遊戲雲端服務平台的新創公司案例中,去研 究與探討線上遊戲雲端運算服務平台的發展機會與挑戰。
台灣是全球資訊設備設計與生產的基地,雲端運算的興起可說是為我國引以為 傲的資訊產業開創一條新的營運與發展方向,也為相關產業締造時代潮流的新契機。
雲端運算的崛起,將會帶動基礎建設所需要的 IT 設備、雲端平台相關應用軟硬體、各 式各樣終端上網設備的大幅成長外,更會帶出各產業、各領域雲端創新服務營運模式,
其影響與產值將是不可預期。因此,這樣的預期誘因,已吸引了國內資訊大廠紛紛地 投入,如鴻海、廣達、華碩、緯創等,而政府也積極推展雲端運算的基礎建設、平台 與服務,像工研院負責研發貨櫃型電腦、中華電信成立資料中心、政府部門設立雲端
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
平台,以及設置台灣雲端生活實驗室等。
本文係以探討的線上遊戲之雲端服務平台發展為主題,因此將只針對與平台服 務有關的 SaaS、PaaS、IaaS 之服務架構與功能進行資料蒐集與研究。
圖 2.13 雲端架構層次
資料來源:天下出版/雲端策略/,2010
依照 Wikipedia 的定義,雲端運算在建置架構上大致分成三個階層:基礎設施(基 礎雲)、平台(平台雲)與應用程式(應用雲)。而基礎設施階層的基礎雲,就是基礎設施 即服務(Infrastructure as a Service;IaaS);平台階層的平台雲,就是平台即服務(Platform as a Service;PaaS)、應用程式階層的應用雲,就是軟體即服務(Software as a Service;
SaaS)。
接下來參考天下 2010 年出版的陳瀅著的雲端策略以及電腦人 2010 年出版日經 BP 社出版局編著/鄧瑋敦譯的雲端運算大解密,針對 IaaS、PaaS、SaaS 三類之功能與 服務整理如下:
公有雲
(透過Internet提供公共服務)
混合雲
(透過Internet和Intranet提供 公共和私有服務)
私有雲
(透過Intranet提供私有服務)
應用層
軟體即服務 (Software as a Service, SaaS)
平台層
平台即服務 (Platform as a Service, PaaS)
基礎設施層
基礎設施即服務 (Intrastructure as a Service, IaaS) 公有雲
(透過Internet提供公共服務)
公有雲
(透過Internet提供公共服務)
混合雲
(透過Internet和Intranet提供 公共和私有服務)
混合雲
(透過Internet和Intranet提供 公共和私有服務)
私有雲
(透過Intranet提供私有服務)
私有雲
(透過Intranet提供私有服務)
應用層
軟體即服務 (Software as a Service, SaaS)
平台層
平台即服務 (Platform as a Service, PaaS)
基礎設施層
基礎設施即服務 (Intrastructure as a Service, IaaS)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
1.基礎設施的雲端服務:IaaS (Infrastructure as a Service)
是將基礎軟硬體架構虛擬化後的硬體資源和相關管理功能的集合。是一種接近 於直接操作硬體資源的服務介面,透過這些介面,使用者可以自由使用運算與儲存的 服務,幾乎不受限制,但使用者需自行設定任務,因為基礎設施服務只為使用者提供 運算資源與儲存等基礎功能,未提供任何應用服務。雲端的硬體資源包括了運算、儲 存和網路等。透過虛擬化技術,抽象化基礎架構的實體資源,實現內部流程自動化與 資源管理優化,進而向外部提供動態、靈活的基礎架構層服務。
基礎架構及服務層一般具有以下幾個基本功能:
(1) 資源抽象:需將大規模的硬體資源進行抽象化、硬體資源虛擬化,必須對每種硬 體資源提供統一的管理邏輯與介面。也就是,無論是有多種品牌、型號或規格的 實體硬體資源,都會視為全局統一資源池的方式進行管理並呈現給客戶,對客戶 而言,他們並不會感覺是哪些硬體資源在提供服務,他們只需透過網路介面入口 即可。
(2) 資源監控:資源監控是保證基礎架構層高效率工作的重要任務之一。資源監控是 負載管理的前提,如 CPU 通常會監控的是 CPU 的使用率,記憶體在儲存方面除 了監控利用率外,還會根據需要監控的讀寫作業,而對於網路則需監控網路即時 輸入、輸出及路由狀態進行等。透過資源監控,用戶可以直覺地監控資源使用情 況及其對效能的影響,進而對解決方案可以採取必要的調整。
(3) 負載管理:在基礎架構層中所有節點的負載都是不均勻分布的,太多節點的資源 利用率過低或過高,或是節點間負載差異過大時,都會造成嚴重的問題,基礎架 構層就需要提供自動化的負載平衡機制,自動能將負載整合與調整,達到各節點 負載最接近平衡與均衡。
(4) 資料管理:這部份有三個重要的功能要兼顧,就是完整性、可靠性與可管理性。
完整性就是所有關聯式資料狀態在任何時間都是確定的,也就是無論任何時候都 能正確讀取、在寫入作業中做適當同步化。可靠性就是需要將資料的損壞與遺失 的機率降到做低,通常需要對資料進行備援或備份。可管理性則是需要資料可以
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
被管理員及上層服務供應商以簡單的方式或邏輯加以管理,這需要基礎架構層內 部的資料管理有充分、可靠的自動化管理流程。
(5) 資源部署:意指透過自動化部署流程將資源交付給上層應用的過程。常見的有基 礎架構層的動態擴充性,是可讓雲端應用可以在短時間內,根據具體使用需求和 服務狀態的變化而調整,用戶服務工作負載過高時,可以容易將服務實例從數個 擴展到數千個,並自動獲得所需要的資源,這種擴充性都是在極短的時間內完成,
還要保證操作複雜度不會隨著規模增加而變大。除此,故障恢復和硬體維護,也 是資源部署功能中常見且非常重要的部份。雲端運算是由多個伺服器組成,硬體 故障時,必須要有維護硬體同時也具有暫時搬移應用的快速功能,必須能夠複製 各伺服器的資料和作業環境,透過動態資源部署,在另一個節點上建立起相同的 環境,保證服務從故障中快速恢復。
(6) 安全管理:安全管理是為了保障基礎架構層資源被合法使用且有安全保障。在個 人電腦中都會安裝防火牆及防毒軟體以阻止各式威脅,且資料中心也要設有專屬 防火牆,甚至規劃出隔離區防止惡意程式入侵。雲端運算也需要提供客戶可靠的 安全防護機制保障資料安全,提供安全審查機制保障雲端資料的操作都是經過授 權,並且可被追蹤管理。
(7) 計費管理:雲端運算採用按量計費的模式,透過監控上層的狀況,計算出每一個 時段內應用所需要的儲存、網路、記憶體等資源,再根據這些運算結果向用戶端 收費。
目前市面上的 IaaS 服務,在運算資源分派服務上如 Amazon CloudWatch,以及提 供虛擬機器服務的如 Amazon EC2;在網路資源分派服務上則如 Amazon VPC 虛擬私 有雲端;在原生儲存資源分派服務上則有 Amazon EBS 為代表。
2.平台層的雲端服務:PaaS (Platform as a Service)
這個層面是透過雲端提供中介軟體資源的服務模式,包括應用軟體、資料庫和 訊息處理等。這類型所面對的不是一般消費使用端,而是軟體開發人員,讓他們能夠
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
充分利用這些開放資源來開發各式各樣客製化的應用。透過雲端的平台提供簡易的高 級編輯程式介面,使開發人員可以在短時間內完成開發工作,縮短應用上線時間;因 為應用的開發和運行都基於同樣的平台,相容性問題較少;開發者無需考慮應用的擴 充性、服務容量等問題;平台所提供的維運管理功能還可協助開發者對應用進行監控 與計費等優勢。此層級的功能與服務大致分成三大塊:
(1) 開發測試環境:開發平台需有清楚的定義應用模型,須具備一套 API 與 SDK,以 提供必要的開發測試環境。一個完備的應用模型包括開發應用的編輯程式語言、
應用的 Metadata 模型,以及應用封裝的發佈格式。平台層除了提供開發環境,也 須提供測試環境,測試環境包括連線測試以及離線測試,也就是開發者可以在離 線時也還能有一個真實運行環境,且是非常類似本地的測試環境,待離線測試後,
開發人員則須再將應用上傳到平台層中雲端運行,而一切的開發與測試任務都在 伺服器端完成。
(2) 運行環境:完成開發測試工作以後,開發人員就需將應用部署上線。首先要將封 裝好的應用上傳到遠端雲端平台上,之後再由雲端平台解析 Metadata 資訊,再對 應用進行組態,使應用能正常存取平台服務。在組態過程中須配合驗證,以避免 運行過程時衝突發生。雲端應用的部署啟動是平台層基本功能,除此,還須具隔
(2) 運行環境:完成開發測試工作以後,開發人員就需將應用部署上線。首先要將封 裝好的應用上傳到遠端雲端平台上,之後再由雲端平台解析 Metadata 資訊,再對 應用進行組態,使應用能正常存取平台服務。在組態過程中須配合驗證,以避免 運行過程時衝突發生。雲端應用的部署啟動是平台層基本功能,除此,還須具隔