雲端計算 Cloud Computing

Download Report

Transcript 雲端計算 Cloud Computing

第12章 SaaS關鍵技術
1
大綱
• 12.1
• 12.2
雲的技術
端的技術雲的技術
2
概述
• SaaS是眾多技術的集合
 平台
 服務層級
 使用者介面
3
概述
• 平台
 傳統或雲端平台提供執行環境
• 服務層級
平台即服務(PaaS) 或 基礎設施即服務( IaaS)
 服務間的通訊或整合
 提供SaaS特性  雲的技術
• 使用者介面
 提供有趣且為互動式的介面
 降低使用的困難度
 端的技術
4
服務層級
• 服務層級提供諸多服務概念
 如何降低開發時間及成本?
 如何結合或整合服務和公司?
 如何處理存取控管?
5
情境
• 一個公司想要設計並發展新的網路服務…
 有眾多的子計畫可以彼此合作
 一個子計畫只包含一個或少數的成員
 只有幾個月的開發時間
6
服務導向架構
• 可應用服務導向架構的概念,得以節省成本、人力資源以
及開發時間





可重用性
開放的標準介面
服務抽象化
鬆耦合
無狀態
7
概念
• 重複使用每個服務
 所有的服務模組,理論上皆可以重複利用並避免重複開發
 設計一個新的專案時,開發單位只需要設計新的服務模組
• 開放的標準介面
 藉由使用相同的介面標準,讓服務易於跨平台,進行整合與溝通
 如REST, SOAP, RPC等
8
概念
• 服務抽象化
 使用者只須知道如何使用
 藉由隱藏冗餘的資訊,使用者可用最少的必要資訊來得到所需要的
服務
• 鬆耦合
 服務模組間只需知道少部分或無需知道其他模組的實作方式
 容易更新或改版,不需修改其他的模組
• 無狀態
 不需要額外的資源來記錄每次服務的使用狀態
 藉由每次請求中的參數來操作服務,讓服務更具有彈性
9
取捨
• 然而,過度使用這些概念將會限制服務的使用
 高度抽象化會導致無法直覺地使用服務模組
 鬆耦合會導致在溝通時需要額外的資訊
 無狀態使得傳送時,需要帶入額外的資料,而這將會降低效能
10
情境
• 服務模組可能不會在同一台機器
 在相同的機櫃裡
 在相同的叢集電腦
• 服務之間的通訊很重要
 描述服務
 遞送服務
 宣傳服務
11
網路服務
• 網路服務是回應使用者請求的服務,藉由…
 使用網際網路技術
 橫跨不同的平台
 和其他的服務互動、整合與溝通
• 網路服務的核心概念
 重複使用服務
 可彈性的與其他服務整合
12
基於網頁的服務
• 基於網頁的服務(Web-based Service)是透過網頁介面提供
的服務
 可能會和其他網頁互動
 可能會提供自己的服務
• 基於網頁的服務的好處
 跨平台 ─ 可以藉由瀏覽器存取服務
 無論何時何地,在可以連結到網際網路的地方皆可使用
13
為何我們需要網路服務
• 時間
 提供服務愈快,愈容易賺到錢
• 成本
 重複使用服務可以減少研發費用
• 可伸縮性
 整合服務可提供更全面的服務
14
三種基本元素
• 網路服務可以分成三個基
本的部分
 網路服務描述語言(WSDL)
• 描述網路服務,包含服務
名稱、功能、公司名稱、
使用方法…等等
 簡單物件存取協定(SOAP)
• 用於交換兩平台的訊息之
方法
 統一目錄服務(UDDI)
• 一個註冊中心,可用於收
集、整合、發現網路服務
15
WSDL –
Web Services Description Language
• 網路服務描述語言是用來敘述服務的XML格式文件,包
含…




服務資訊
抽象操作
溝通型態
其他可以改善服務交換效率的資訊
• 本機端可以藉由分析WSDL檔案得知網路服務
16
特性
• WSDL在交換網路服務資訊時,有四種特色




服務抽象化
跨平台
自動化產生
遠端調用
17
特性
• 服務抽象化
 使用者在呼叫或使用服務時,不用了解服務背後是如何實作以及
背後的運作邏輯
 供應商在替服務做更新或改版時,只需要抽換背後的實作方式,
對使用者而言服務本身並沒有改變
• 跨平台
 使用XML格式所產生的WSDL具有著跨平台的特性
 XML和平台、作業系統、程式語言沒有相依性
18
特性
• 自動化產生
 有很多工具可以產生、編排與解碼XML的文件
 產生WSDL檔案時,可以降低成本與人力資源
• 遠端調用
 藉由連結網際網路,得到正確的操作模式,使用者可在任意時間、
地點,存取、調用服務
19
四種基本元素
• WSDL文件用四種基本元素來描述網路服務
 型態(Type)
• 網路服務中資料的型態
 訊息(Message)
• 用來傳遞訊息的參數
 綁定(Binding)
• 網絡上使用的通訊協定
 埠口類型(PortType)
• 請求/回應型態的通訊
20
埠口類型
• 單向操作(One-Way)
 服務只接受訊息
 操作有單一輸入元素
• 請求回應(Request-Response)
 服務接收一個請求並傳送回應
• 徵求回應(Solicit-Response)
 服務傳送一訊息並接收一回應
• 通知(Notification)
 服務只傳送訊息
21
SOAP – Simple Object Access Protocol
• 簡單物件存取協定是基於XML的溝通協定
 藉由HTTP或者其他網路協定
 交換網路服務的資訊
 連結其他的網路服務
22
核心概念
• SOAP的核心概念是簡單且可擴充的
 SOAP為了達成這兩大特點,略過在訊息框架中常見的特徵
• 可靠性、安全性、關連性與路由等
 相反地,將這些功能放置於可擴充模組
• SOAP可以是輕量型的協定,且有更多的彈性
23
三個基本模組
• 訊息框架可以分成三個模組
 處理模組
 底層協議綁定
 訊息建構
• 甚至於,SOAP有擴充模組,可以增加能力,用在豐富的
訊息傳遞環境
24
處理模組
• 處理模組




此模組定義訊息的處理方式
訊息從最初的發送者發送,經由數位中間人到達最終接收者
支援了多種的訊息交換模式
每一個訊息被獨立處理
• 這表示SOAP並不記錄訊息的狀態
25
底層模組
• 此模組用於描述SOAP所用的網路協定
 可以和其他協定並存或在其之上
• SOAP和底層協議的界線稱為綁定,有兩個目的
 處理送往其他節點所需使用的協議及相關機制
 收到從底層協議來的訊息訊息時所需要回應的處理機制
26
訊息建構
• 定義在SOAP 中交換訊息所使用的資料結構
 以XML文件格式來描述
• SOAP訊息包含




指令
元素
屬性
命名空間
27
UDDI – Universal Description Discovery and
Integration
• 統一目錄服務是一種跨平台服務





基於XML
一個註冊伺服器
可用來找到需要的服務
可以發布服務
可以和別的公司交換自己的服務
28
為何需要UDDI
• 在真實世界
 我們無法到達所有地方
 我們無法直接找到服務
 我們無法將服務銷售給世界上的每一個人
• 在網際網路世界
 網路連結每一個在網際網路的人
 網際網路沒有地域限制
29
三種頁面
• 白頁(White Pages)
 白頁提供服務供應商的名稱以及相關的服務描述,原則上可以支
援多種語言
• 黃頁(Yellow Pages)
 利用標準的分類方式,將網路服務進行分類
• 綠頁(Green Page)
 描述如何取得網路服務,包含URL位址、使用介面、協定
30
例子:UDDI
• 一間公司想在網路上提供服務給網路上所有的使用者
 找一個註冊中心
 設計並上傳他們的WSDL檔案及SOAP協定
 等待,直到用戶連結、使用他們的服務
• …但是他需要一些幫忙
 從UDDI註冊中心搜尋服務
 利用一些關鍵字找服務
 藉由WSDL檔案及SOAP協定連結到特定的網路服務
31
例子:網路服務
註冊伺服器
WSDL
WSDL
尋找廠商
我需要
花
銷售他的服務:花
32
當數量增大時…
• 網路服務提供一種新的使
用服務及與其他公司合作
的方式,但是…
 當使用者的數量成長到一定
的程度,就會讓服務的狀況
產生質變
 當服務的數量成長到一定的
程度,公司就需要再開發新
的服務
33
解決方法
• 在SaaS,雲端提供無限制的環境,盡可能的服務更多使用
者
• 但是服務可能會再被開發多次
 有許多服務在網際網路
 開發新的服務成本高且風險大
• 公司應該要專注於有價值的服務,而非重複開發
34
建議
• 對於這個問題有眾多建議




重複使用服務
比SOAP更容易連結服務
減少使用服務的複雜度
一個量化的服務標準
35
網路協議與規範
• OpenID及單一登入
• 服務層級協議
• 表象化狀態轉換
36
情境一
• 有許多服務在網際網路上
 Email、部落格、 社群網路、 網頁遊戲…等等
 眾多服務需要使用者認證
• 這些將產生兩種問題
 太多對帳號/密碼需要記憶
 在一個不安全的網站註冊相同的帳號密碼是不安全的
37
OpenID
• OpenID是一種新型態的身分認證系統
 一種開放的標準,使用者可以透過分散的方式來被認證
 使用者可以只藉由同一組帳號密碼來認證許多網頁服務
 帳號管理是由信任的廠商負責的
38
簡單架構
• 使用者
 想向某網站表明身分的真實用戶
• 消費者
 想對終端用戶進行身分認證的網路服務供應商
• 身分提供者
 認證伺服器
39
單一登入
• 單一登入(Single Sign-On, SSO)是另一種認證方式
 應用於想要存取同一個服務供應商或是網域底下的多個服務
• SSO可以提升安全層級
 降低被網路釣魚的機會
 避免重複輸入帳號和密碼
 可以一次登入/登出系統,避免使用者離開電腦時所造成的安全漏
洞
40
情境二
• 一個跨國公司想要租用一個網路服務
 如何選擇供應商?
 服務供應商可以提供什麼層級的服務?
 如何評估服務品質?
• 服務被中斷或不能符合需求時
 如何要求賠償或損失?
41
服務層級協議
• 服務層級協議(Service Level Agreement, SLA)是供應商與
使用者間,劃分服務層級、定義條約內容的合約
 服務可靠度
 效能保證
 平均的停機時間
• 消費者可以透過SLA選擇服務供應商
42
合約項目
• 合約項目
 服務品質
• 計算能力、儲存大小、CPU速度
 管理與維護
 平均故障間隔時間,平均回覆時間與故障率
• 退費或賠償
 低於服務品質的保證
• 退10%的費用
• 提供額外數量的免費使用時數
• 全額退費
43
情境三
我想要爸爸給的糖果
想
可能是吃、玩或
是拿著
我爸爸
某個人給的
東西
糖果
棒棒糖、巧克
力…等等
44
HTTP與REST
• 超文本傳輸協定(HyperText Transfer Protocol, HTTP)是廣
泛用於網際網路的協定
 全球資訊網(WWW)的資料通訊基礎
 一個應用層級的協定
 HTTP可以建構在任何通訊層(不只有TCP) ,像是簡單服務發現協
定(Simple Service Discovery Protocol, SSDP)
• 表象化狀態轉換(REST, Representational State Transfer)
是網路服務的三種實作方式之一
 與SOAP及XML-RPC相比,REST更簡明
45
三個元素
• REST有三個基本的溝通元素
 動詞(Verbs)– 你想要的東西
• 存取圖像、帶入使用者名稱及密碼…等等
 名詞(Nouns) – 提供服務的目標
• www.google.com/? 或 www.youtube.com/watch? …等等
 內容(Content) – 資訊或是服務需要的東西或回應
• 圖像、影像、需要的東西
46
益處
• 無狀態




REST的服務端沒有狀態紀錄
使用者發出包含狀態的請求,可以幫助服務端平行處理請求
REST較容易暫存常用的資料
當服務端更新或修補時,並不會通知使用者,服務仍然可以正常
運作
• 用戶端
 瀏覽器就是用戶
 降低軟體的需求
47
端的技術──使用者經驗
• 使用者經驗(User experience, UX)是使用者在使用一個產品
或服務的當下,所得到的感受或體驗
 強調經驗的、情感的、有意義的、有價值的觀點
 包含個人感知,如使用方面,是否簡單使用、系統是否有效率
• 考慮以下情形
 打開網頁或是點擊按鈕
 觀看YouTube上的MV
48
存取模式
• 另一方面,如何供應服務,對於使用者經驗也是很重要的
 命令列
 純文字或靜態圖像頁
 影音互動介面
49
裝置
• 甚至於,裝置也影響使用者經驗
 若使用Zuse Z3,第一個可編程式的電腦?
 若使用IBM PC 5150?
 或使用iPad?
50
網路技術──網頁
• 瀏覽器是最重要的網際網路服務傳媒
 使用瀏覽器閱讀或觀看新聞、八卦、影片或是你有興趣的東西
 和朋友通訊或是在網路上交新的朋友
• 網頁提供許多東西給使用者,像是文字、圖像或影片
 如何提供使用者喜歡的東西?
 如何吸引使用者的注意力?
51
存取模式
• 使用者介面深深影響使用者的感受
 終端機是原始的介面,使用者害怕使用它
 圖形使用者介面(Graph user interface, GUI)對於使用者來而言較好
使用,但是它很難跨平台
 基於網頁的介面(Web-based interface, WUI)是GUI底下的一類,且
大部分的電腦都有瀏覽器
 觸控式螢幕是最新的顯示技術,使用者不需要鍵盤和滑鼠便可以
控制顯示器
• 未來…
 語音輸入、肢體感測、腦波傳遞?
52
基於網頁的介面
• 基於網頁的介面近幾年最受歡迎
 Web 1.0給使用者新的感受,並且改變了使用者使用電腦的行為
 但Web 1.0只提供靜態的資訊,如圖像和文字,無法滿足現今使用
者的需求
 Web 2.0是一群新的技術,可以和使用者互動
 Web 2.0提供社群網路、網路遊戲及豐富的網路服務給使用者
53
基於網頁的介面
• Web 2.0整合眾多新技術
 互動式的訊息協定,如XMLHttp,用於使用者和網頁之間的溝通,
無需重新載入整個網頁
 JavaScript提供豐富生動的介面,改善使用者經驗
 可基於服務導向架構,讓網路應用程式展現自己的功能,使得其
他的服務可與其協調整合
54
互動性
• 在Web 2.0,網頁或網路應用程式提供更有趣的界面及功
能給使用者
 網路遊戲
 社群網路
 …等等
• 成功的要素
 可以和世界上的其他使用者互動
55
Ajax
• Ajax (Asynchronous JavaScript and XML)是達到與人互動
的技術
 Ajax不是單一的技術,相反地,是一群技術包含
•
•
•
•
JavaScript
CSS (Cascading Style Sheets, CSS)
文件物件模型(Document Object Model, DOM)
XMLHTTPRequest
56
Ajax
• 基本上,web 2.0是建立於web 1.0之上
 基本的HTTP協定,如超連結、圖片或文字
• JavaScript廣泛使用於客戶端
 提供豐富且互動的介面
• …並且包含CSS
 將網頁建立與排版區分開
 增加原始檔案的可讀性
 可被客製化
57
文件物件模型
• 文件物件模型是處理XML檔案的標準模組
 可將XML儲存於記憶體,便於立即做刪除、修改及重新排序
 如同暫存的功用,伺服器可以藉此改善效能
 然而,全部的資料包含無用的節點與資料,也將會被存進記憶體,
造成時間和空間的浪費
58
XMLHTTPRequest
• 早期的網頁需要使用者主動更新頁面才能得到新的訊息
 浪費時間
 降低伺服器的效能
• XMLHTTPRequest是 JavaScript、VBScript或其他用於瀏覽
器上的函式庫
 傳送或接收網頁伺服器與瀏覽器之間的XML檔案及訊息
 使得網頁的動態改變或更新,不需任何的擴充或重新刷新整個網
頁
59
應用程式
• 傳統的應用程式,需要…





下載到本地端的電腦
安裝或解壓縮
考慮系統的相容性
考慮儲存空間及記憶體大小
在不使用時,解除安裝
下載
安裝
相容性
解除安裝
效能
60
網路應用程式
• 網路應用程式
 連結到網頁
 試用
 關閉瀏覽器
• 與傳統的應用程式相比,網路應用程式是




更簡單且更方便
降低儲存空間的成本
不需要更新
可跨平台
61
缺點
• 瀏覽器
 如果瀏覽器不能支援該功能,應用程式將不能正常運作
 一般而言,網路應用程式不能離線運作
• 應用程式




大部分的網路應用程式不是開放源碼
不容易被客製化
完全依賴供應商,當供應商關閉應用程式,便停止服務
業者可以收集任何資料或使用者的行為
62
WebOS
• WebOS 是一堆網路應用程式的集合,如同桌面作業系統的
方式運行在網際網路上
 像網路應用程式,但是功能更加強大
 提供許多應用程式
• 如記事本、音樂播放器…等等
 不需實體儲存空間
• 相反地,全部的資料與應用程式都存在伺服器端
63
eyeOS
• eyeOS是一個開源的、基於瀏覽器的網頁版桌面系統
 以LAMP為基礎
 如同一般作業系統的運作,簡單使用
• 就像網路應用程式
 降低成本,只需…
• 一個可存取網路的裝置
• 一個瀏覽器
64
客戶端裝置
• 客戶端裝置也會影響使用者經驗
 客戶端裝置昂貴或便宜?
 客戶端裝置重或輕?
 客戶端裝置是實用的或多餘的?
• 準確來說,我們需要何種裝置?
65
精簡客戶端
• 如果使用者在乎裝置的價錢或是使用時間
 維持核心功能及必需的介面
• 減少硬體及設計成本
• 減少能源使用
• 減少管理及維護的負擔
 移除硬碟、複雜的作業系統…等等
• 只保留顯示器、I/O介面、通訊界面和快閃記憶體
66
益處
• 管理
 移除機械的移動裝置,如硬碟或CD-ROM,可以降低損壞的比例
 很多的資料將不會儲存在客戶端
• 成本
 沒有硬碟、CD-ROM和高效能的CPU,將降低總成本
 移除額外的硬體,將減低了能源消耗
67
相對於複雜客戶端
• 複雜的客戶端是全方位的電腦
 與精簡客戶端相比,複雜的客戶端可以提供更全面的功能
 與精簡客戶端相比,複雜的客戶端更加厚重且複雜,需要繁雜的
操作方式
• 適合使用在以下兩種情境
 需要計算複雜的工作
 需要在任何地方工作
68
移動裝置
• 專注於裝置的大小及使用的難易度
 Wifi已被廣泛地使用於校園及商業區
 在擁擠的公車上使用者可能想上網找最近的餐廳
• 不同於桌上型電腦,使用者使用移動裝置來提高效率進
行…
 收發電子郵件
 尋找路線圖
69
可移動且簡單
• 不同於筆記型電腦,使用者需要使用簡單且易於攜帶的手
持裝置
 小到可以手持且可放進口袋
 夠輕,不會造成負擔
 夠簡單,容易使用、控制
• 有兩種受歡迎的移動裝置
 掌上型電腦(PDA)
 智慧型手機(Smart phone)
70
掌上型電腦
• 掌上型電腦(Personal Digital Assistant, PDA)如同個人資訊
的管理者
 有觸控式螢幕可輸入資料
 有記憶卡可以儲存資料
 有Wifi和藍芽可上網或交換資料
• PDA也可以用於




瀏覽網頁
展現多媒體
玩遊戲
全球衛星定位導航
71
智慧型手機
• 智慧型手機是包含作業系統的電話
 可以安裝第三方的應用程式
 系統無需等待改版,便可以被客製化
• 智慧型手機是當下最受歡迎的移動裝置
 與PDA相比,智慧型手機包含電話與電腦的功能
 甚至於,智慧型手機可以下載豐富的第三方的應用程式
• 如遊戲、天氣或交通資料、新聞等
72
總結
• SaaS既不是單一個技術,也非一個新名詞
 一群新舊技術的結合
• 伺服器、平台、通訊、介面、客戶端裝置




伺服器和平台可以使用雲端技術或傳統技術
通訊方法必須考慮跨平台及多使用者的環境
介面需要簡單且容易使用
使用者裝置和介面會影響使用者經驗
• 更重要的是
 以服務的形式提供軟體與應用的存取和操作方式
73