計世網

你對這8個云硬件的暗黑秘密一無所知!
作者:Peter Wayner | 來源:計算機世界
2019-10-18
企業的代碼在哪里運行?在什么設備上運行?為什么宕機了?你可能永遠也不會知道細節究竟如何。

 

很久以前,服務器是屬于企業的,而且是屬于一個部門的。你和你的部門會仔細檢查規格,收集報價,填寫采購訂單,然后提貨,最終就可以在離你辦公室不遠的服務器機房中仔細地安裝并測試機器。你和你的部門可以靠近觸摸機器,檢查LED燈是否亮著,聽到風扇安靜的嗡嗡聲,心里感覺很踏實。你甚至還能用襯衫袖子蹭一蹭前面板。

而現在,你可能與硬件沒有任何關系了。有些人仍然點擊云公司的網頁來創建一個“實例”,但我們中的很多人把啟動服務器的所有工作都留給了由集成度越來越高的部署機器人運行的自動腳本。在配置構建例程時,我們最多花費一些時間來討論實例的大小,但之后,工作就留給了我們的一個機器人部署例程。這種軟件甚至非常聰明,足以去協商空閑周期的價格問題,以減小成本,所有工作都不需要我們的參與。

隨著“無服務器”這個流行語越來越普遍,我們與硬件越來越無關了。當然,這些實際上并不意味著整個過程中沒有服務器,只是說,你不必再擔心大大小小的硬件機箱和四處連接的線纜了。只需給我們幾行代碼,我們就可以確保后臺倉庫中的一些硬件將運行它。

其中很多奧秘都是省力和減壓的創新。兩眼一抹黑并不意味著我們再去思考關于內存配置或者硬盤分區的任何細節,或者那些損壞的DVD-ROM托盤是否重要……等等,就是浪費時間。不再思考這些問題是件好事。開發人員一直在努力構建敏捷工具和機器人程序,這樣,我們就不用召開員工會議來討論并審查煩人的問題。

但有時,有些事情被掩蓋得太深了。有時候,我們還沒有進行詳細的討論,便點擊按鈕并同意那些幾乎沒有人讀過的、沒完沒了的合同的無數條款。

好消息是,很多時候這些細節都無關緊要。我們不用再擔心這些了,因為我們可以放心了,一切都解決了。之前忽略它們算是賭的不錯,所以我們又賭了一次。

但有時,如果我們的代碼恰好是最重要的一次,那么就得仔細想想這些奧秘了。不管這一次是百分之一、千分之一,還是十億分之一,此時我們都應該多問幾個問題。

我們不是說你應該執著于此。我們也不是說你擔憂這么多的事情以至于徹夜難眠。但是如果你發現自己無法入睡,那么當你實在沒有更好的事情做的時候,不妨想想下面這些現代硬件的奧秘。

服務器在哪里?

在云中。我們所知道的不過如此。這些企業可能會說,我們的實例在紐約或者卡拉奇運行,而我們知道的僅此而已。通常我們最多就是知道這個城市的名字,甚至僅僅知道是某個國家。

我們需要關心街道地址嗎?也許大樓本身的模糊位置就是一個安全特性,而不是漏洞。如果我們不知道機箱的實際位置,那么,犯罪分子也會感到困惑。這不像我們西裝革履地參觀服務器機房時那樣——摸摸機箱,聽聽機器的嗡嗡聲。

問題是,我們中的一些人實際上應該擔心數據中心的物理位置。我們擔心的是稅法或者與司法管轄權有關的法律問題。我們中的一些人應該擔心出口法,能不能讓我們的數據越境。我們中的一些人讓律師打電話來問我們類似的問題。我們中的一些人不得不處理傳票。

CPU是什么?

還記得你是想要第六代芯片呢,還是熱衷于炙手可熱的第七代芯片?還記得一排又一排的基準測試數字,然后將成本除以速度嗎?還記得當你得意洋洋地吹噓升級到第四代CPU是多么的有趣,你的某位同行卻被他精打細算的老板逼著又用了一年第三代芯片的事兒嗎?

現在,你很有可能不知道CPU的制造商、型號或者任何其他細節。云計算公司向你出售的實例的名稱也很神秘,比如“m1”或者“large”什么的,但這并沒有多大意義。“m1”和“m2”之間可能沒有任何關系。它們只是個名字而已。

一些云計算企業嘗試衡量你購買的“虛擬”CPU的能力,然后讓你給出正確的數量。這可能與機器上內核的數量有關——可能影響線程和并行算法,也可能與此無關。這一切都可能只是表面現象,不過是為了衡量你購買的數量。

有時,硬件導致了差異。有時,會出現可以追溯到特定芯片的安全漏洞或者故障。“隱藏上帝模式”漏洞影響了VIA C3系列的x86芯片。有時我們需要了解線程模型和內核,目的是讓我們的算法運行得更快。像這樣的小問題和不大不小的問題有幾十個。我們可以放寬心,因為云計算企業應該為我們把所有這些都辦好了。至少他們是這么說的。

什么樣的內存?

很久以前,我們考慮是否值得采用很多糾錯電路來安裝更快的內存。很久以前,我們想知道某些RAM是否比其他RAM更好或者更穩定。很久以前,我們選擇了某些RAM制造商而不是其他制造商,并對品牌名稱和技術方法提出意見。

而現在,我們將永遠不會知道硬件有多好。這是云計算企業工程師應該考慮的,而我們不必擔心。但他們會為我們考慮嗎?我們真的永遠不會知道。我們的實例可能因為內存不好而崩潰。也許是因為我們自己的代碼太差了。我們永遠不會知道到底是什么原因。

什么樣的硬盤?

一些云計算企業會吹噓使用了固態硬盤。有些會吹噓使用更快的硬盤。有些只會租給我們25GB的存儲空間,而不告訴我們詳細信息。但并非所有的硬盤驅動器都具有相同的可靠性等級。并非所有的閃存性能都一樣。我們的程序失敗了,是因為某個被重寫了很多次的閃存單元嗎?還是因為某個新程序員迫切地想要推送新的代碼?我們再也不用擔心了。我們只需要啟動另一個實例,并繼續。

甚至晶體管也不簡單

RAM可能是整個機器中最簡單的部分,它有一些基本的、枯燥的語義。輸入一些與地址相匹配的比特,當出現該地址時,就會輸出相同的比特。

晶體管似乎是只存儲兩個數值的數字器件,但這只是教科書里的理論。在現實生活中,它們本質上是模擬電路,會導致一些可怕的泄漏。研究人員開發了像Rowhammer和RAMBleed這樣聰明的技術,而狡猾的黑客正在研究怎樣遠程利用它們。如果我們不能信任RAM的基本語義,我們還能信任什么?

其他芯片則更神秘

大多數人很少花時間思考計算機的其余部分。我們討論的是CPU,有時是GPU,但是除了網絡部門,還會有人討論網絡處理單元NPU嗎?它很安靜地呆在那里,專心致志而且鎮定自若地移動數據,以至于所有人都忘記了它的存在。但是NPU有自己的固件,而且有精心設計的、可重新配置的網絡層,其中包含一些最復雜的語義。當我們因濫用分支預測和Rowhammer而煩惱時,有沒有人花些時間來考慮黑客用網卡干什么了?

什么樣的技術?

有時我們甚至不知道采用什么合適的術語來描述服務。亞馬遜的Glacier存儲是一種比較便宜的存儲方式,但亞馬遜不會解釋他們使用的是什么技術。它是由慢速磁盤架和機架構成的嗎?或者他們把數據燒錄到一堆一堆的藍光光盤上?或者他們可能使用機器人手臂裝載的磁帶機?也許他們使用了兩到三種不同的技術,這樣他們就能降低成本了?這一切都是謎。我們所知道的只是每千兆字節的成本和檢索信息的速度有多慢。

到底怎么了?

有時候我們根本不知道發生了什么。遷移到云端并不能避免斷電、硬盤驅動器內爆或者勒索軟件等不良事件帶來的危險,但我們確實不知道發生了什么。在企業的服務器機房中,每個人都隸屬于我們的部門,所有人都向同一個老板報告。他們可能并不總會告訴我們真相,但他們一般來說會更坦誠一些。

而在云中,我們可能不知道誰在處理問題。充其量,我們將通過電子郵件和故障通知單進行溝通。即便如此,律師、經理和公關部門也擋了我們的路,而我們唯一得到的就是措辭謹慎的官話。充其量,我們知道“出現了錯誤”。最壞的情況是,我們什么也聽不到。

如此混亂的一個很好的例子是最近對QuickBook會計數據進行的勒索軟件攻擊的報道。那些相信“讓云來處理數據,讓生活變得無憂無慮”的營銷說辭的客戶,還是想知道到底發生了什么。同樣的攻擊很容易摧毀我們的數據中心,但至少我們知道這些人的名字,而且我們在公司野餐會上可能會碰到他們。

作者:Peter Wayner是InfoWorld的特約編輯,他撰寫了16本各種主題的書籍,包括開源軟件、自動汽車、增強隱私計算、數字交易和信息加密等。

編譯:Charles

原文網址:https://www.infoworld.com/article/3411996/8-dark-secrets-of-cloud-hardware.html

責任編輯:周星如