Upload
joan-jarvis
View
45
Download
0
Embed Size (px)
DESCRIPTION
雲端程式設計介紹. Chang Chi-Chung 2011.05.10. Cloud Computing. 一個模糊概念 濫用的名詞? !. 雲端技術 Cloud Computing Technologies. 雲端服務 Cloud Computing Services. Gartner 不是人名喔. Gartner 對於 Cloud Computing 的分類方式. 雲端運算何以成真?. Representational State Tranfer. Service-Oriented Architecture. Virtualization. - PowerPoint PPT Presentation
Citation preview
雲端程式設計介紹
Chang Chi-Chung
2011.05.10
Cloud Computing
雲端服務Cloud
Computing Services
雲端技術Cloud
Computing Technologies
Gartner 對於 Cloud Computing 的分類方式
Gartner不是人名喔
雲端運算何以成真?
Web Service
XML
SOAP
WSDL
Cluster Computing
Grid Computing
Distributed Computing
Service-Oriented ArchitectureVirtualization
UDDI
Representational State Tranfer
Computing Roadmap
HPC Lab., CSIE, Tunghai U. 4
Networking:The Internet
(TCP/IP)
Communications:e-mail
(pop3,SMTP,Mime)
Information:World-wide Web
(html, http, j2ee, xml)
Applications:Web Services
(SOAP, WSDL, UDDI)
Distributed Computing:Grid
(Globus -> OGSA)
Operating System: Linux
Cloud Computing ??
?
Web Services使用 HTTP 協定,可穿越防火牆通訊的內容為 XML 格式文件,程式化存取網站的服務允許豐富的、動態的通訊於應用程式間Components for the Web
Web Services
OS Service
Web Service
Rich Client UI Logic
Rich Client UI Logic
ServersData, Hosts
ServersData, Hosts
Richer Browsers
Richer Browsers
XML 、 SOAP 、 HTTP
XML 、 SOAP 、 HTTP
防火牆
Web Service
Web Service Consumer
正則語言樣本字串 [0-9]* 與來源字串 ABCDE 作比對,傳回結果成功,因為空字串也符合樣本字串。
本程式叫用先前 http://www.johnaxer.idv.tw /example 的 Web Service
RESTREST (Representational State Transfer) ,西
元 2000 年由 Roy Fielding 在其博士論文中提出。
是一種設計風格而不是標準。資源是由 URI 來指定,並利用 HTTP 1.1 所定義方法 POST 、 GET 、 PUT 、和 DELETE 來操作資源,對應於 CRUD 。
使用 HTTP 並遵循 REST 原則的 Web 服務,稱作 RESTful 。
REST Examples列舉所有文件
GET http://www.johnaxer.idv.tw/docs
取得某一份文件GET http://www.johnaxer.idv.tw/docs/8
刪除某一份文件DELETE http://www.johnaxer.idv.tw/docs/8
新增一份文件POST http://www.johnaxer.idv.tw/docs
<documents>
<content> ... </content>
</documents>
Grid Computing (1)
這些資源唾手可得,具體展現了虛擬化 (Virtualization) 的概念。
把有用的功能隱藏在界面之後,以掩蓋住功能運作方式的細節。
Grid Computing (2)
Grid Computing (3)
Grid Computing(4)
http://www.twgrid.org/
雲端服務主要類型 儲存即服務 (Storage as a Service)
提供使用者儲存空間 Dropbox 、 Windows Skylive
軟體即服務 (Software as a Service, SaaS) 提供使用者網路的軟體應用。 Yahoo 電子信箱、 Google 地圖、 Youtube 、 Facebook 、趨勢科技的雲端防毒。
平台即服務 (Platform as a Service, PaaS) 建置平台以提供運算或解決方案,並提供了整合的 API( 應用程式介面 ) ,可以讓客戶的
應用程式放在該平台代管,佈署更簡便,而且節省成本。 微軟的 Windows Azure 、 Google 的 App Engine 、 Yahoo 的 Application Platform 。
基礎設施即服務 (Infrastructure as a Service, IaaS) 直接提供硬體的環境及網路頻寬給用戶使用, 中華電信的 HiCloud 、 IBM 的 Blue Cloud 、 HP 的 Flexible Computing Services 及亞馬遜
的 EC2 。
雲端運算的優點高可用性 (High Availability)
可用性指得是系統或服務可以使用的時間,通常以百分比表示,百分比越高,表示系統或服務可以使用的時間越長。
高延展性 (High Scalability)延展性或稱擴展性,指系統或服務可以依需求,增加或減少服務量。
高可靠性 (High Reliability)可靠度指得是系統或服務,平均無故障的時間長短,可靠度越高,平均無故障時間就越長。
Amazon 的雲端運算Amazon WebService ( 亞馬遜網路服務,簡
稱 AWS)S3 (SimpleStorageService ,簡單儲存服務 )EC2 (Elastic ComputeCloud ,彈性雲端運算 )SQS (SimpleQueuingService ,簡單訊息佇列服
務 )VPC(Virtual Private Cloud, 虛擬私有雲 )SimpleDB… 等。
Amazon WebServicehttp://aws.amazon.com/free/
介紹網址: http://blog.soft.idv.tw/?p=823
雲端程式設計Microsoft Windows Azure
Visual Studio 2010Windows Azure Tools for Microsoft Visual Studio Windows Azure AccountC# 、 PHP 、 VB.Net…
Google App EngineEclipse and PluginsGoogle App Engine SDKGoogle AccountPython 、 Java
三螢一雲
Microsoft Azure at Chicago
Microsoft Cloud Computing
Windows Azure Platform 概觀
Windows Azure Platform
Windows Azure Platform Architecture
Windows Azure 作業系統計算能力服務 (Compute Service)儲存體服務 (Storage Service)Fabric 服務 (Fabric Service)
Windows Azure Storage
提供四種資料儲存型態 Blobs: 二進制資料 (Binary Data)
Tables: Entity-based Storage ( 並非關聯式資料庫模型 )
Queues: 以訊息為基礎之通訊方式 Drives : 提供虛擬磁碟功能,支援檔案系統 (NTFS API)
存取方式 僅可透過 REST 為存取界面 資料可提供
Windows Azure 應用程式使用其他 on-premises 應用程式使用
Programming in Visual Studio(1)
點選後,即可自動安裝 Windows Azure Tools
Express 的版本,請使用 Visual Web Developer 2010 Express
Programming in Visual Studio (2)
WebRole 需要 UI 的程式WokerRole 類似 Windows Service
目前依據 Microsoft 的規定,雲端程式一但佈署到 Windows Azure Platform 上,即開始計費。
Google App Engine
Python
Java
http://code.google.com/intl/zh-TW/appengine/docs/whatisgoogleappengine.html
DEMO