Windows Azure HandBook (6) Azure頻寬與Azure Blob雲端儲存

來源:互聯網
上載者:User

標籤:

  《Windows Azure Platform 系列文章目錄》

 

  在筆者這幾年Azure售前工作中,經常會遇到客戶提同樣的問題:Azure 虛擬機器的頻寬是多少?Azure提供獨享頻寬嗎?這個項目我們需要200兆的獨享頻寬。

  當遇到這種情況的時候,筆者就會問客戶:請問您需要獨享頻寬的目的是什麼呢?

  客戶經常會回答:這個應用需要視頻(大檔案)的上傳下載功能,或者是並發使用者數巨大,需要獨享頻寬來相應更多的Internet請求。

  這種情況我表示非常理解,因為我們平時在購買電信寬頻時候,都是購買30M,100MB一年,頻寬要求越高,價格越貴。

  

  對於這種獨享頻寬的問題,筆者詳細寫一篇文章,來介紹一下。主要內容分為以下幾節:

  1.獨享頻寬的弊端

  2.分析互連網頻寬內容

  3.相關案例分享

  

 

  1.獨享頻寬的弊端

  在中國,互連網接入頻寬的費用是非常昂貴的。我問了其他同事,中國的互連網頻寬費用大約是美國的20倍。獨享頻寬的價格顯而易見是非常昂貴的。

  雲端運算非常適合的情境包括:開關模式、爆發增長模式等。購買獨享頻寬不能體現雲端運算彈性的優勢。如果購買了獨享的頻寬的情況下,客戶用不用雲端運算,頻寬成本是必須支付的。假設使用者購買了200M獨享頻寬,結果項目上線後發現使用者量很少,互連網頻寬閑置了,但是這200M頻寬費用還是必須支付的。

  我們假設購買某雲端運算廠商的獨享頻寬200M,從其官網上可以看到,1個月的費用約為17717元。如:

  

  Azure頻寬雖然是共用頻寬,在筆者的項目經驗中發現一般情況下單台Azure A3 VM(4Core/7GB)的頻寬約為70MB。

  對應該廠商的頻寬水平,3台Azure A3 VM做負載平衡,可以提供近似200MB的獨享頻寬水平。但是3台Azure A3 VM,每個月的價格僅僅為6071元。如:

  

  相比該雲端運算廠商的獨享頻寬200M的價格,微軟Azure的價格還是非常具有競爭優勢的。

  另外微軟Azure的頻寬是隨著負載平衡伺服器的數量增加而逐漸增加的。

  當實際項目上線後發現互聯頻寬不夠怎麼辦,把更多的Azure VM加入到負載平衡器上。當我們發現互連網頻寬閑置了,則將部分Azure VM關閉即可。

  這種Azure虛擬機器動態增加/減少的優勢,可以協助客戶極大的減少成本。

 

  

  2.分析互連網頻寬內容

  客戶又說,我們的應用需要支撐10萬使用者線上進行視頻播放功能,我們需要獨享頻寬保證使用者體驗。

  我們分析一下該情境。當我們瀏覽一個網站的時候,其內容可以分為以下幾個部分:

  (1)靜態HTML頁面

  (2)靜態檔案,如視頻、照片、文檔等

  (3)動態編譯頁面,如ASPX,JSP等

  當使用者訪問的視頻都是走主機(Azure VM)頻寬的話,毫無疑問主機頻寬越大越好。

  但是請大家別忘記了,Azure Block Blob每個檔案提供60MB/S的互連網頻寬,一個Storage Account提供10GB/S的互連網頻寬。

  Azure Block Blob就類似於雲網盤。

 

  我們只需要改變一下軟體架構:

  -  動態編譯的頁面還是走主機頻寬

  -  靜態檔案,比如視頻,儲存到Azure Block Blob,例如地址為: http://leizhangstorage.blob.core.chinacloudapi.cn/videos/1.mp4

  -  靜態照片檔案,儲存到Azure Block Blob,例如:http://leizhangstorage.blob.core.chinacloudapi.cn/images/1.jpg

  通過將靜態內容請求發送到Azure Storage,將動態內容的請求發送到Azure 雲主機,就可以大大減少雲主機獨享頻寬的的壓力。

 

  接下來我們說一個案例。是我一個客戶將線上培訓系統遷移到Azure平台上。

  (1)項目背景:企業A線上培訓系統,主要為企業內的員工進行線上視頻培訓。

  (2)現有架構:客戶自建資料中心購買了60M獨享頻寬,所有的動態請求和靜態視頻檔案都走該互連網頻寬。

  (3)痛點:當需要培訓的使用者量爆發性增長的時候,60M頻寬不能響應大並發請求。

  客戶對視頻檔案還有安全性的要求,不能通過CDN服務來加快視頻訪問。所以只能將視頻檔案儲存到Azure Storage,通過Azure Storage設定SAS Token來控制使用者存取權限。

 

  在將該線上培訓系統遷移到Azure雲平台之前,我們還在全國8個不同的城市(北京、上海、廣州、深圳、成都、杭州、青島、福州)進行了Azure Storage下載壓力測試,測試結果表明Azure Storage下載速度均達到了本網可允許的最大下載速度。

 

  該項目遷移到Azure雲平台的整理架構圖如下:

  

  該項目為混合雲方式,既保留了本機資料中心的現有投入,又將視頻流儲存到Azure Storage以響應大並發請求。

  整體訪問流程如下:

  (1)某員工通過手機應用,SSO單點登入到IDC 負載平衡器上(Load Balancer)

  (2)自建IDC資料中心的Web伺服器將該請求產生一個Token,並且將Token發送到部署在Azure上的Web伺服器。

  (3)Azure Web伺服器將該Token返回到IDC資料中心的Web上進行驗證,證明該請求是有效。

  (4)Token驗證通過後,Azure Web根據線上培訓系統的商務邏輯,通過使用者訪問的ID,分別訪問北京和上海的Storage Account。

  如果使用者ID來自北方,則將位於中國北部(北京)的Azure Storage產生SAS(Shared Access Signature) 視頻URL返回給用戶端。

  如果使用者ID來自南方,則將位於中國東部(上海)的Azure Storage產生SAS 視頻URL返回給用戶端。

  最後員工手機應用的視頻連結地址,其實就是Azure 上海或北京的Storage產生的SAS URL。

 

  客戶收益:

  (1)Azure Web伺服器只驗證了IDC資料中心發送的Token是否有效。所以視頻流量不經過Azure Web伺服器。如:

  

   可以看到,在過去7天時間內,Azure Web伺服器的輸出網路流量和輸入網路流量均不超過75MB

 

 

  (2)Azure Storage用來儲存視頻檔案,並返回SAS URL。視頻流量都經過Azure Storage。如:

  

  可以看到,在過去7天,Azure Storage出口流量總計為276.5GB。

 

 

  Ticky:

  在之前的內容中,筆者介紹了Azure Block Blob每個檔案提供60MB/S的互連網頻寬,一個Storage Account提供10GB/S的互連網頻寬。

  如果使用者訪問量非常大,超過了單個檔案60MB/S的互連網頻寬怎麼辦?很簡單,只要我們將一個視頻檔案複製多個副本即可。

  我們將一個視頻在同一個儲存帳號儲存了6個副本,則一共有360MB/S的互連網頻寬。

  我又同時在北京和上海有2個儲存帳號,則總體的互連網頻寬水平為720MB/S。非常驚人了。

 

  筆者在Azure Web伺服器上開發了一個小的程式,通過將不同的請求平均分配到不同的視頻檔案上。避免出現所有使用者訪問同一個視頻檔案,產生頻寬效能瓶頸。

  

   

 

 

  ========================================================分隔字元==========================================================

  好了,將了好的案例。我們再討論一個不怎麼成功的案例。

  某企業B將平台整體遷移到Azure雲平台,因為其平台擁有300萬粉絲,所以訪問量也非常大。

  這裡面牽涉到的負載平衡器的技術點,如:

  

  微軟建議的負載平衡模式如左側,通過將多個Azure VM防止在負載平衡器的後端,響應Internet的請求。

  而企業B的軟體開發商只用一台Azure VM作為前置機,如VM1。所有的使用者請求都發送到VM1上,再通過VM1的內網IP,分流到VM2和VM3上。

  這種架構的缺點有2個:

  (1)雖然VM3分攤了出站流量,但是VM1的公網入站流量會非常大。

  (2)VM1會出現單點故障,如果VM1宕機了,則整個應用平台不可用。

 

  另外客戶低估了並發使用者的請求,在項目上線之前把VM2關機了。整個架構中只有VM1和VM3在運行。

  而且客戶沒有把靜態檔案儲存到Azure Storage中,所有的請求都是走主機頻寬,壓力會非常大。

  

  項目上線後,立刻出現問題。如:

  

  VM1這台前置機5分鐘內的輸入資料流量為9.28GB,輸出資料流量頻寬為3.05GB。網路直接卡死。服務宕機。

 

  經過這次不成功的經驗,總結如下:

  (1)需要提前和客戶溝通,做好上線評估

  (2)將檔案佔用主機頻寬的弊端想客戶說明。同時建議將靜態檔案儲存至Azure Storage,避免佔用主機頻寬。

 

  

Windows Azure HandBook (6) Azure頻寬與Azure Blob雲端儲存

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.