微軟Azure開發Tardigrade項目 冀提高Azure服務器的耐用性

微軟正開展多方面的工作以提高旗下Azure數據中心的彈性。Azure的首席技術官Mark Russinovich在上週的微軟構建(Build)大會2019上做了題為“Inside Azure datacenter architecture”(Azure數據中心架構一瞥https://www.youtube.com/watch?v=S2zguwKvlQk)的演講,他概述了微軟關注的一些具體可靠性領域。

微軟Azure開發Tardigrade項目 冀提高Azure服務器的耐用性

Russinovich描述的其中一項工作是“Tardigrade項目”。Russinovich向與會者解釋了Tardigrade的意思,Tardigrade(一種微動物,也被稱為“水熊”或“苔蘚豬仔” https://en.wikipedia.org/wiki/Tardigrade)是目前發現的生命力最強的生物之一。Tardigrade可以在外太空和極端溫度下存活。

微軟的目標是利用Tardigrade項目令雲應用程序能夠在平臺故障發生時保存下來。

Russinovich表示,“我們希望我們的服務器像Tardigrade一樣頑強”糟糕的事情出現時,我們不必重啟虛擬機(VM)。Tardigrade可以“令VM凍結在RAM內存裡,VM的狀態得以保留下來”。如此操作系統可以在新服務器上恢復。

Russinovich沒有提供關於何時推出這項技術的任何細節,但他在構建大會上的演講裡演示了Tardigrade的工作過程。

更新(5月14日):網上可以找到一個名為Tardigrade的微軟研究項目。這份2015年5月的研究報告(https://www.microsoft.com/en-us/research/publication/tardigrade-leveraging-lightweight-virtual-machines-to-easily-and-efficiently-construct-fault-tolerant-services/)詳細描述了微軟對於Tardigrade的觀點,即“利用輕量級虛擬機輕鬆高效地構建容錯服務”。微軟在5月14日晚些時候聯繫了筆者,稱兩個Tardigrades沒有關係。

微軟研究院的 Tardigrade研究論文摘要:

“Tardigrade是個將現存的、未經修改的二進制文件部署為容錯服務的系統。Tardigrade在多臺機器上覆制服務,因而即使其中一些機器出現故障時也能繼續運行。而Tardigrade的服務狀態保持同步,因此客戶端看到強烈一致的結果。“

微軟研究人員概述的Tardigrade使用“輕量級虛擬機的進程沙盒,因此它的外部依賴關係被完全封裝,令其可以跨機器遷移。為了讓未經修改的二進制文件能在這樣的沙箱中運行,沙箱還包含了提供預期所需API的庫操作系統。“

是個庫操作系統嗎?是的,似乎Tardigrade其實是源於微軟做的與“Drawbridge”相關的工作。

Drawbridge曾是微軟研究院的一個項目,旨在為應用程序沙盒提供一種新的虛擬化形式。微軟研究人員對其的描述是,Drawbridge依賴於Picoprocesses(一個具有最小內核的基於進程的隔離容器)和一個庫操作系統,或者說是個重構為能在應用程序裡作為一組庫運行的操作系統。Microsoft靠著Drawbridge概念將SQL Server引入了Linux及將Windows子系統Linux引入了Windows 10。

微軟發言人表示,微軟研究院的Tardigrade與Azure項目的Tardigrade沒有任何關係,儘管二者名字相同(而且對於筆者而言潛在的焦點聽起來也類似)。該發言人表示,Azure 的Tardigrade項目是一項全新的計劃。

Russinovich上週接受Geekwire時表示,微軟也希望通過在全球推出更多可用區域(Availability Zones)來提高旗下數據中心的可靠性。可用區域旨在幫助保護客戶免受數據中心層次故障的影響。這些區域位於Azure區域內,提供獨立的電源、網絡和冷卻系統。啟用的Azure區域裡至少有三個分隔的區域位置。

雖然微軟官員經常聲稱微軟在全球擁有的雲區域比任何雲提供商都多,但支持可用區域的Azure區域卻相對較少。AWS在這一塊則將“區域”定義AWS運營可用區域群集的地理位置。 AWS目前在21個地區擁有64個可用區域。

相關推薦

推薦中...