Amazon AWS云管理平臺技術內幕

作者: 光頭老蔣  來源: 光頭老蔣博客  發布時間: 2010-12-05 15:30  閱讀: 2848 次  推薦: 1   原文鏈接   [收藏]  

  云架構 是滿足按需分配的服務而設計的軟件架構。 云架構上構建服務流程是這樣,基本的計算及基礎設施只是在有需要時(例如處理一個用戶請求)才分配出去,分配必要的資源上的需求(如計算服務器或存儲),執行特定的工作,然后放棄不必要的資源。 在整個業務過程,云平臺負責根據客戶的需求(并發數,吞吐量,數據存儲空間等)來彈性的分配資源,然后將不用的資源收回 。老蔣認為這個過程中提供整個計算及存儲等基礎設施管理,分配,回收等工作的就稱為云管理平臺。

  云架構能解決大型數據處理的很多問題。 例如傳統數據處理中很難使用多臺服務器來運行一個應用程序。 第二,在需要計算或者存儲資源的時候,很難去自動獲得一個服務器或者存儲。 第三,難以將大量并發的作業分配和協調不同的機器上,如果一臺機器出現故障如何用備用機恢復工作。 第四,這是難以自動調節資源的的動態負載。 第五,當工作完成時,如何將這些計算及存儲資源回收。 云架構的管理平臺就是為了解決這些問題。

  云架構上構建的應用程序運行,而云的基礎設施的實際位置是由供應商決定。 他們利用互聯網的優勢,方便的服務的簡單API的規模上的需求,其中復雜云計算和云存儲及商業的運算,仍然隱藏在云中。 在云架構資源的使用是根據需要,有時短暫的或季節性的,云管理平臺根據經濟性最大原則,以最優的資源分配給不斷變化的客戶使用。

   讓我們以AMAZON AWS為例來看一看云管理平臺是如何運行的:

  任何一個SAAS在提供服務的時候,云平臺都會通過4個階段對SAAS服務進行資源的分配及調整:
  1.    首先啟動服務,當有客戶進行SAAS服務操作時,云平臺會啟動服務。
  2.    啟動后監控SAAS服務的需求情況。
  3.    當無人訪問時,停止服務。
  4.    回收不被使用的資源

  讓我們看一下AWS具體的操作流程,消息平臺首先發送服務啟動的命令給啟動的控制器,由啟動控制器首先將啟動信息放在simpledb的緩沖區里面,做上時間標記。分配EC2的計算資源,啟動HADoop等操作,將計算數據從S3中導入EC2, 開始進行計算和分析。

  監控控制器接收到監控信息后,對SAAS應用中所有的資源和錯誤進行監控,更新simpledb的緩沖區中的狀態,并且根據用戶的需要隨時增減資源(計算節點和存儲節點)。

  Shutdown控制器在收到關閉消息后,會停止EC2,HADOOP等資源,將運算結果放入S3或者客戶指定的存儲目標,并發消息給結算控制器。

  消息平臺的重要作用

  亞馬遜SQS的被用來作為消息傳遞組件之間的機制。它充當“膠水”的有線不同的功能組件連接在一起。這不僅有助于使不同的組件的松耦合,而且在全面建設彈性系統讓系統避免因為延時的失敗。

  主要有以下3個作用:

  緩沖區

  將有助于緩沖使整個系統更加靈活的流量(或負載)。亞馬遜SQS的行為作為兩個組件之間GrepTheWeb系統(控制器)瞬態緩沖區。如果郵件直接發送到一個組件,接收器將需要消耗由寄件人在支配它的速度。例如,如果計費系統很慢

或者如果Hadoop集群發射的時間超過預期,整個系統就會慢下來,因為這將只能等待。具有消息隊列,發送者和接收者解耦和隊列服務柔滑任何“高低不平”消息流量。

  分離

  GrepTheWeb之間的任何兩個控制器的交互是通過消息隊列中,沒有任何其他控制器直接呼叫控制器。所有的通信和交互發生在通過存儲消息隊列(連接隊列),并從隊列(去隊列)檢索信息。這使得整個系統的松耦合和接口簡單,干凈。亞馬遜SQS的轉移提供了不同應用程序組件之間的信息統一的方式。每個控制器的功能是獲取信息,處理信息(執行的功能),并存儲在其他隊列中的消息。

  異步

  由于這是很難知道每個階段將采取的執行多少時間(例如,動態地啟動階段決定需要多少個實例開始執行的要求,因此基于時間未知)亞馬遜SQS的建設異步系統的幫助。現在,如果發射階段需要更多的時間來處理,或顯示器相失敗,該系統的其他組件都不會受到影響,整個系統更加穩定和高可用性。

1
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()