基於Azure雲計算平台的網格計算(1)

2022-02-27 20:52:52 字數 2721 閱讀 5468

在這個由3部分組成的系列文章中,我們將看一下利用azure雲計算平台的網格計算。在第1部分中,我們將看到所涉及的設計模式以及一些有益的觀點。在第2和第3部分,我們將看到乙個用來展示專門為azure而開發的網格計算框架的**例子。

並不是所有人都清楚,網格計算和雲計算之間的區別,所以我們先來簡短解釋一下兩者。雖然網格計算和雲計算不是同乙個東西,但是它們之間有很多可協同的地方,並且共同使用它們是非常有意義的。

網格計算

網格計算就是利用工作於並行模式而非單機模式的一大批計算機來處理計算問題。這種方式有很多優點:

節省成本:你能使用成本更低的資源來完成工作,而不是購買具有最高端別處理器和記憶體的大量伺服器。就算,你必須購買那麼多的計算資源——卻可以買那些更小、更便宜的機器,它們也更容易用於其它用途。

可靠:網格計算系統必須預先考慮到故障,或個別計算機可用性的改變不會妨礙工作的成功完成。

並不是所有型別的工作都適合於網格計算。只有那些可以被分解為多個小任務的工作才適合,而且處理這些任務的計算機所構成的鬆散耦合網路可以並行執行。為了分發任務、收集結果並管理系統,有必要建立乙個智慧型基礎結構。無需感到驚訝,網格計算的早期採用者都需要去解決一些巨大的計算問題。因此,你會看到網格計算如今用於遺傳學,保險統計計算,天文分析以及電影動畫渲染。不過,現在有所改變:網格計算越來越關注普通的業務問題,且雲計算帶來的競爭也加速這方面的發展。計算任務並非要無比龐大才能從網格計算方式中獲益,也不一定要計算密集的任務才適合進行網格計算。任何具有反覆執行特點的任務都適於網格計算。不管你是那種需要每月處理4百萬訂單的財富500強企業,還是那種只需批准1千個信用申請的中型企業,網格計算都能為你所用。網格計算早於雲計算10年出現,所以如今的網格計算自然而然不會使用雲的方式。最通常的方式是:

雲計算可以成為網格計算的另外一種實現方式,其具有很多吸引人的特點,可以根據你的業務模型提供靈活的伸縮,並已經準備好很多傳統方式必須定製開發的支撐基礎結構。

用於網格計算的業務應用程式

為了把網格計算帶入主流,需要出現一些引人注目的業務應用程式。讓我們來看一下3類適合於網格計算方式的業務應用程式,以及獲得的巨大商業價值。第一類例子是資料探勘。資料探勘和其他形式的資料分析,都能識別來自業務資料中有趣的關係和模式。

第二類例子是決策分析,就是為了作出業務決策需要執行一組向前連動的業務規則。在某些場景中,涉及複雜計算的決策需要非常快速地作出。網格的並行性可用來獲得很快的響應時間,在工作量增加的時候也不會出現延誤。

第三類例子是批處理,在你偶爾需要處理突發的大量工作負荷,而內部又沒有這麼多的能力來處理的時候,就可借助於網格計算。

這些例子描述了網格計算走出應用程式型別的限制,變為一種所有業務型別都可考慮使用的常見形式。

雲計算和微軟的azure平台

雲計算就是利用具有智慧型基礎結構的大規模資料中心來為你提供所需的計算資源。雲計算橫跨應用程式託管和儲存,並且提供用於通訊、工作流、安全和同步的服務。雲計算的優勢包括如下幾點:

微軟的雲計算平台也叫azure,當前由4個主要服務領域組成:

azure是乙個全新的平台;在本文編寫的時候,它還處於預覽的階段,有望在今年年底投入商用。

把網格計算和azure雲計算放到一起

azure被設計來支援多種應用程式型別,但沒有為網格計算提供特定的特性。然而,azure提供了網格計算系統所需的很多功能。為了讓azure成為乙個優秀的網格計算平台,只需運用正確的設計模式和框架來提供網格特定的功能。我們現在先來看一下設計模式,在第二部分我們將研究支援這個模式的框架。

對於這個模式,你需要注意的第一件事情是,在azure雲中和企業端分別存在一些軟體/資料,以及一些基礎功能。它們分別完成什麼事情,以及為什麼要這樣安排?

在這個模式中的軟體角色是:

在這個模式中的資料角色是:

演練:建立並執行azure上的網格計算應用程式

讓我們來把上面講到的東西混合到一起,並演練一下使用這個模式和適合的框架,如何從頭至尾地開發並執行網格計算應用程式:

1. 網格計算應用程式需求的確立。就是要確認需要完成的任務、輸入資料和結果目的。

2. 使用框架,開發人員新增自定義內容到他們的專案中:

3. 此應用程式的azure專案通過azure門戶**來進行託管和儲存的配置。網格執行器打包並部署到雲宿主中,測試後,公升級為產品版本(production)。

4. 使用網格管理器控制台,網格的工作執行在此定義和啟動。載入器的執行也在此啟動。

5. 載入器讀取本地企業資料,生成任務,並把每個任務寫入到任務佇列。

6. 網格執行器專案在azure門戶**中啟動,其會產生網格執行器的多個例項。

7. 每個網格執行器都持續地從任務佇列中接收新任務,確定任務型別,執行適當的**,並把任務結果傳送到結果佇列中。azure佇列工作的方式在此非常有用:如果執行器出錯,在完成任務的過程中失敗,那麼任務在超時之後將重新出現在佇列中,並會被其他網格執行器獲得。

8. 聚合器從結果佇列中讀取結果,並把它們寫入到本地企業儲存庫中。

9. 在網格執行的時候,管理員能夠使用網格管理器控制台幾乎實時地觀察網格執行器執行任務的狀態。

10. 在聚合器獲知所有計畫中的任務已經完成時候,它通過控制台發出乙個關於這個狀態的提醒。到此,網格就完成了它所有的工作,它的結果也安全地儲存到企業端。

11. 通過azure門戶**可以暫停網格執行器,以避免帶來額外的計算時費用。雲儲存在所有佇列被完全地讀取後,已經是空的了,因而沒有額外的儲存費用產生。

把azure用於網格計算的附加值

從技術和經濟兩方面來說,azure平台用於網格計算再好不過:

下次,我們將來看看使用azure的網格計算框架,如何在**中實現這個模式。

AZure雲計算學習(雲計算,霧計算,邊緣計算)

1.azure雲計算學習 雲計算,霧計算,邊緣計算 azuer devops 傳統瀑布模式開發 計畫,分析,設計,開發,測試,發布 敏捷模式 啟動 人 需求 分析 設計 開發 測試 發布 分析 設計 開發 測試 發布 分析 設計 開發 測試 發布 azure devops 敏捷開發工具 資料庫設計三...

Skype完全遷移到Azure雲平台

微軟今天宣布,2011 收購的skype已經差不多完全遷移到 azure 平台,也就是從 p2p 點對點 架構轉移到了中心化的雲架構 這樣更適合多裝置和移動場景。根據 skype 和 skype for business 部門主管兼企業副總裁 gurdeep pall 的說法,skype 目前是大部...

「雲與網格」計算雜談

雲計算概念是新的,但內容並非是新的,只是為了某種利益 比如商業效應 學術效應,但最終都是經濟效應 人們把他總結了出來。雲計算的關鍵在於對雲計算的某種定位,比如充分利用現有網路能力提供高階計算 帶智慧型化的服務 定製的專家系統與自學習系統 提供共享儲存 網格 再比如裡面涉及到的分布式計算的排程 資訊的...