公告資訊

未經授權,禁止轉載網站文章與內容。如有需要可以跟我聯絡,謝謝!!




2010年2月6日 星期六

Windows Azure 設計概念

這一篇是寫給想要了解如何導入Windows Azure技術的入門文章,釐清一些觀念。

WIndows Azure Platform( http://windows.azure.com ) 是微軟所提供的雲端作業平台,其中包含了三個主要的服務:

1. Windows Azure:提供雲端系統開發前端(Front-End)介面所需要的平台服務,裡面又可以分為Web Role與Worker Role兩個不同的執行環境。Web Role 提供了與ASP.NET相容的執行環境,可以做為雲端系統與使用者或是用戶端應用程式繫結的環境;而Worker Role 則是提供了與Windows Service相似的執行環境,可以用來執行批次的工作。

2. SQL Azure:提供雲端系統暫存交易資料的資料庫服務,像是產品的型錄資料,或是雲端流程處理中的狀態資料等,都可以存放在這裡。SQL Azure也可以與企業系統的資料庫同步,並且將雲端系統處理完成的資料更新回企業系統的資料庫中

3. AppFabic:提供了Access Control 與Service Bus 兩大服務。Access Control提供了雲端系統實作存取控制所需要的環境;而Service Bus,扮演的就是與BizTalk Server類似的服務匯流排角色,可以執行跨應用程式的整合流程。兩者合起來,就可以在雲端建立跨應用程式的分散式系統架構後端所需要的執行環境。

這些雲端服務與企業現有的系統在功能上類似,但是因為是在雲端執行,因此在開發模式上會稍有不同;而雲端系統的設計架構與一般企業系統相比,更是大相逕庭。因此要導入Windows Azure Platform時,千萬不要有:"我要如何將現有的系統完整套用到Windows Azure Platform當中" 這種錯誤的想法 ! 抽象一點來說,如果企業中的系統像是一條一條的高速公路,雲端系統就會像是飛機,我想沒有人會想開著飛機在高速公路上,從台北開到高雄的吧? 你必須要建個飛機場,讓飛機有起降的地方,才可以發揮她最大的效用,也才可以載著貨物飛到其他國家的,不是嗎 ?

若是要導入Windows Azure Platform 的技術,必須要思考的方向是:

1. 功能面:並非所有系統的功能都適合上雲端。以網路訂票系統來說,訂票的操作介面以及處理訂票的流程可以在雲端執行;帳務的管理還是可以由雲端同步回企業內的系統管理。

2. 延展性:Windows Azure Platform可以隨時根據需求,調整執行的instance數目。以網路訂票系統來說,平日每小時平均可能只要處理500筆交易,但是遇到年節,系統使用量可能會短暫爆增到每分鐘平均1000筆以上交易。Windows Azure Platform 可以透過設定,隨時跟據系統需求彈性延展,企業就不需要為了滿足這些不常發生的爆量,浪費 IT投資。

3. 維護性:這應該不用說了,由微軟的人管理伺服器,就不用每次Server上patch或是安裝新版的Service Pack,還要擔心會不會有問題。

4. 成本:我不會告訴各位使用Windows Azure Platform 一定便宜,但是對於中小型網路新興產業來說,可以隨著產品的市場規模彈性調整部署,又省去了租機房機器的建置成本,相對的會降低很多老闆的壓力。

綜合前面幾點,最合適開發在Windows Azure Pltaform 的功能,應該是需要處理大量來自用戶端的交易需求。例如宅配或是物流業,就可以利用Windows Azure建置貨物追蹤的系統,並將追蹤的資料暫存於SQL Azure中;等到貨物送達之後,再將追蹤記錄同步回企業內歸檔。如果搭配AppFabic,還可以更進一步整合 Partner的系統,在雲端設計流程作自動配送的處理。而隨著業務的成長,或是特殊節日的需求,你更可以隨時彈性調整系統所需要的雲端環境。

最後,還有兩點:

1. Windows Azure Platform 讓你可以建立高可靠度與延展性的分散式系統,但是並沒有保證高效能(也沒人敢保證這種)。若是要達到良好效能,分散系統還是必須要自己做調教。

2. SQL Azure不是讓你將 "所有" 的系統資料庫都搬上去使用的,請參考前面標紅字的說明。

沒有留言:

最新回應

Loading...

即時與版主對話


(若狀態顯示"忙碌"時,我可能無法馬上回應。你可以留下Email,我會盡快跟你聯絡,謝謝喔!!)