代碼在哪里運行?運行的是什么,為什么中斷?人們可能永遠不會知道。
在以往,企業數據中心的IT人員通常自己運營和維護服務器。IT團隊仔細檢查服務器規格,收集投標書,填寫采購訂單,然后進行交付,以便可以在機房中仔細安裝和測試服務器,IT人員在日常工作中可以對服務器進行檢查、配置、維護。
而企業采用云計算技術可能與硬件無關。因為只需點擊其云計算供應商網站上的網頁就可以創建一個“實例”,而一些IT團隊將啟動服務器的所有工作都交給一些持續集成和部署機器人運行的自動腳本。在配置構建例程時,只是花費一些時間討論實例的規模,而之后工作交給機器人部署例程。這個軟件甚至很智能(在沒有IT人員的幫助下)地協商拍賣備用周期,以最大限度地降低成本。
隨著“無服務器”這個流行術語變得越來越普遍,IT人員與硬件聯系將越來越不緊密。當然,這并不意味著企業業務中沒有服務器,只是IT運營人員不再擔心自己的服務器或IT硬件的運營和維護問題。只需運行幾行代碼,就可以確保云中的服務器運行。
云計算中的許多奧秘可以減少勞動力,并減輕運營壓力。這些秘密并不意味著人們需要思考關于內存配置或硬盤驅動器分區的任何細節,或者損壞的DVD-ROM光驅將如何處理。跳過這些瑣事是件好事。開發人員一直在努力構建敏捷工具和應用程序,因此可以避開硬件故障這些讓人煩惱的問題。
但是有時候云計算中的秘密有些多。在企業與云計算供應商簽定條款之前,他們的討論忽略了太多的細節。好消息是,有時候這些細節都無關緊要,IT人員不再為其硬件擔心,因為這一切都在云計算中得到了解決。
但有時這些秘密需要考慮,以防企業運行的代碼恰好在最重要的時候失效。那么需要考慮一些問題,出現故障的概率是多少,百分之一,千分之一還是數十億分之一。
這并不是說IT人員應該對此偏執,致力于解決硬件失效的問題,但如果確實對此感到擔心,那么需要了解云計算硬件的8個奧秘。
1.服務器在哪里運行?
眾所周知,服務器運行在云端。有人可能會說其運行的實例可能在紐約或卡拉奇運行,但這就是人們知道的結果。通常人們能夠了解的事情就是知道其服務器在哪個城市運營,或在哪個國家運營。
那么應該關心其服務器所在的街道地址嗎?也許其所在的建筑本身位置保密就是一個安全特征,而不是一個漏洞。如果人們不知道服務器的物理位置,那么惡意攻擊者也不會知道。因為云中的服務器并不像企業在自己的機房中那樣觸手可及。
問題是,有些人擔心數據中心的物理位置,有些人擔心稅法或有管轄權的法律問題。也有一些人需要擔心數據出口法律或不讓數據出境。
2采用什么CPU?
CPU是計算機的核心,其核心處理器的作用和人類大腦相似,因為它負責處理、運算計算機內部的所有數據,而人們也許還記得當年CPU每次更新換代對計算機硬件發展的影響。
而現在很有可能人們并不知道云計算服務器CPU的制造商、型號或任何細節。云計算公司向企業出售的CPU的名稱也很神秘,例如“m1”或“large”,但這并不意味著什么,而“m1”和“m2”之間可能沒有任何關系,它們只是名字罷了。
一些云計算公司計算企業正在購買的“虛擬”CPU功率,然后提供適當數量的CPU。這可能與服務器上的核心處理器數量有關,將會影響線程和并行算法,或者可能不會。有可能這一切都只是衡量企業購買的CPU數量。
IT人員關注的CPU的內容會有所不同。有時會出現可以追溯到特定CPU的安全漏洞或故障。“隱藏的神秘模式”漏洞影響了VIA C3的x86芯片組。有時需要了解線程模型和內核,以使算法運行得更快。對于很多這樣的小問題,IT人員不必擔心,因為云計算公司應該為其客戶保持最佳狀態。或者他們會給出承諾。
3.采用什么樣的內存?
在以往,IT人員考慮是否采用更快的內存提高負載運行速度。此外,也想知道一些內存是否比其他內存更好或更穩定。因此選擇了一些知名的內存制造商的產品,并對品牌和技術方法有所了解。
而現在,IT人員不會知道云計算的內存的好壞。這是云計算供應商工程師應該擔心的事,所以企業IT人員沒有必要這樣做。但是對于那些工程師如何處理,人們可能并不知道。而業務出現問題,也許企業的實例因為內存質量不好而崩潰,也許是因為糟糕的代碼。這些事,企業IT人員永遠不會知道。
4.采用什么樣的硬盤驅動器?
一些云計算供應商宣稱使用SSD硬盤。有些供應商表示采用運行速度更快的硬盤。有些云計算供應商只會向人們租用25GB字節的存儲空間,而不會詳細介紹。但并非所有硬盤驅動器都具有相同的可靠性等級,也并非所有閃存都是相同的高性能。很多企業的代碼因為閃存單元的質量而丟失。而采用云計算,通常不再擔心丟失數據,只是啟動另一個實例并繼續實施即可。
5.并不簡單的晶體管
內存可能是服務器中最簡單的部分,它帶有基本和無聊的語義。而晶體管可能看起來只是存儲1和0這兩個值的電子器件,但這只是在教科書的理論部分。在現實生活中,它們本質上是模擬電路,這可能導致一些問題。研究人員正在發現像Rowhammer和RAMBleed這樣智能的技術,而黑客正在研究如何遠程利用它們。如果人們不能相信內存的基本語義,那么還可以信任什么?
6.更加神秘的其他芯片
大多數IT人員很少討論計算機的其余部件。可能人們通常會談論CPU或內存,但除了網絡團隊以外,很少有人討論網絡處理單元(NPU),網絡處理單元(NPU)可以迅速移動數據,但很多人似乎忘記了它的存在。但NPU擁有自己的固件,云計算有精心設計的可重新配置的網絡層,其中包含一些最復雜的語義。雖然IT人員因為濫用分支預測和Rowhammer而煩惱,但是很少有人思考黑客會用網卡做些什么?
7.采用什么技術?
有時IT人員甚至不知道用于描述服務的正確流行術語。例如,亞馬遜公司的冰川存儲是存放數據成本最低的存儲平臺之一,但該公司不會解釋他們正在使用的存儲技術。那么它是由機械硬盤構建的嗎?或者可能將數據刻錄到藍光光盤堆棧上?或者使用機器人手臂裝載的磁帶進行存儲?也許使用了兩種或三種不同的存儲技術,并降低成本?這一切都是一個謎。IT人員所知道的只是每千兆字節的成本是多少以及檢索信息所需的速度。
8.發生什么故障?
有時,企業IT人員永遠都不會知道發生了什么故障。遷移到云平臺并不能消除諸如斷電、硬盤驅動器損壞或勒索軟件等不良事件的危險,但它確實阻止企業IT人員需要了解的發生的事情。而在企業的機房中,IT團隊的成員可以將故障進行通報,讓每個人了解發生了什么。但云計算供應商可能并會將真相告訴用戶。
在云端,人們可能不會認識任何處理問題的人。最多只是通過電子郵件或根據故障通知單上的聯系方式進行溝通。即便如此,云計算供應商的律師、經理和公關部門會讓用戶對故障一無所知,而唯一得到的就是謹慎的措辭。
很好的一個例子是關于最近對QuickBooks會計數據的勒索軟件攻擊的故事。而采用云計算處理數據可以放心的營銷言論讓客戶不知道究竟發生了什么。那么企業的數據中心如果遇到同樣的攻擊很容易崩潰,但其IT人員至少知道發生了什么,并根據情況進行處理。