Web-Scale IT 我之見!

Gartner 曾在發表過的一篇文章中表示,到2017年,全球50%的企業將使用Web-Scale IT 架構。下面咱們來看看 Andre Leibovici 對 Web-Scale IT 的見解:html

Web-scale IT 不只僅是一個流行詞,更是一種設計數據中心和軟件架構的方法,它體現了一種多維概念,包含可擴展性、一致性、容忍度和版本控制等。web

Web-scale 描述了現代架構的趨勢,即增加(遠)大於線性速率。Web-scale 系統可以快速有效地進行處理,並避免在關鍵時刻須要從新架構的瓶頸問題。編程

Web-scale 架構和屬性並非一個新鮮的詞條,它們已經在一些大型的網絡公司中系統地使用了,好比谷歌、Facebook 和亞馬遜。然而對比以往最大的區別就在於,這種可擴展到海量計算規模的架構,以往只出如今大型互聯網公司而當下已經過專門的虛擬化定製方法走入主流企業。服務器

在一個內部討論中,Nutanix CEO Dheeraj Pandey 總結了關於 Web-scale 架構的重要概念。而本文對其中一些思想進行了引用,並擴展到其餘不一樣領域。網絡

同時,這裏須要注意的是,高擴展性的分佈式系統對筆者來講也是一個全新的領域,而筆者也會分享本身的學習收穫。架構

首先要記住的是:Web-scale 不僅適用於 SDS(軟件定義存儲);它也是大型分佈式系統的架構模型。這裏有一個視頻講述了什麼是 Web-Scale IT運維

經過軟件途徑,讓大量運行着標準 x86 硬件的主機能夠同時作一件事情。這是 Web-scale 第一次與 SDDC(軟件定義數據中心)交互,在沒有計算機硬件作支撐的狀況下。許多服務已經採用這種辦法,包括 SDN(軟件定義網絡)、虛擬服務和 SDS(軟件定義存儲)。異步

對於管理服務的無單點故障和瓶頸問題,在架構上應有所考慮。故障的容忍度是架構穩定、可擴展分佈式系統的關鍵。發生故障時的運行能力也是可用性的關鍵。像 vector clocks、two-phase commit、consensus algorithms、leader elections、eventual consistency、multiple replicas、dynamic flow control、rate limiting、exponential back-offs、optimistic replication、automatic failover、hinted-handoffs、data scrubbing 等技術是構成分佈式系統處理故障能力的要素。分佈式

Web-scale 系統應該提供一個靈活構建系統的服務,並具有並行構建的能力(http://en.m.wikipedia.org/wiki/Embarrassingly_parallel)。並行方法可以進行無干擾地接近傳統的顛覆性任務,例如滾動或叉式升級、不間斷集羣和全部工做流所有在線。性能

Web-scale 系統應該可以被擴展,而且繼續像一個單元那樣正常運行。而不是依靠運行單元的多部署,這些單元不能自行擴展。

Web-scale 容許獨立架構,它須要容忍故障,並提供性能、可用性保障和服務級協議。

Web-scale 系統應該爲內部和數據中心通訊提供用於徹底控制和基於 HTTP 服務自動化的編程接口。這些 APIs須要爲異步請求響應支持延時和容錯協議。

Web-scale 系統應該提供自定義(和版本化)的對象。在 SDS 用例,具備編碼能力的自定義磁盤高效地格式化和序列化結構數據,且是可擴展格式,好比 protobuf、Avro 等。這樣,能夠不用常常地更新磁盤數據。考慮到規模,Web-scale 不能假定只有一次數據更新。

Web-scale 系統應具備自描述(和版本識別)服務,這樣分佈式系統的不一樣部分能夠在不一樣版本下進行通訊,不用期待全部的部分一次升級。

分析軟件爲了減小人機交互。在大型網絡公司中,Web-scale 基礎設施與每臺機器管理的 SRE 是1:10000的比例。通常的公司是1:500的比例。這個巨大的差距只能由分析和自動化來填補。

嚴格且最終一致的一致性模型,對 CAP 原理有清楚的理解(一致性、可用性和分區容錯性)(http://en.m.wikipedia.org/wiki/CAP_theorem)。筆者發現 Julian Browne 寫的一篇文章是學習更多 CAP 原理的好資料。

enter image description here

此外,另外一個好的例子是 vCenter 服務器。vCenter 應該從頭設計成爲一個分佈式管理平臺,它可以利用徹底無共享結構,提供零故障操做環境。衆所周知,vCenter 服務器是 vSphere 集羣的關鍵性部件。當其不可用時,可能嚴重影響運做。微軟 Hyper-V 和 SCVMM 也是這樣的。

當管理程序是獨立單元,不須要管理服務器便可運行時,就不會有缺少管理的問題。

若是 vCenter 用 web-scale 原理設計,它不是集羣虛擬設備,就是在管理程序核心進行架構。添加到集羣的節點越多,處理方式就越靈活。而且當有一個節點不可用,其餘節點可以成爲管理端點。

Nutanix 選擇從頭架構數據和控制層,使其成爲一個具備上述性能和指導方針的 Web-scale 分佈式系統。這些指導方針不只保證彈性、可擴展性、一致性和容錯性,並且確保它是一個引導未來數據中心創新的平臺。

原文:understanding-web-scale-properties,做者 Andre Leibovici 是 VMware 架構師,兼職做家和博主。 本文系 OneAPM 工程師編譯整理。

Cloud Insight 集監控、管理、計算、協做、可視化於一身,幫助全部 IT 公司,減小在系統監控上的人力和時間成本投入,讓運維工做更加高效、簡單。本文由 OneAPM 工程師翻譯整理,想閱讀更多技術文章,請訪問 OneAPM 官方技術博客

本文轉自 OneAPM 官方博客

相關文章
相關標籤/搜索