作者 | 雲昭
“離開雲計算”,自去年10月下旬提出這個打算後,DHH一直在馬不停蹄地實作這個目标。
近日,他釋出一條博文,給出了更具體的目标:入秋前就可實作“雲退出”目标。根據初步計算,這樣的話,五年内節省大約700萬美元的伺服器費用,而且運維團隊的規模也不會有太大變化。
一、裸機:一年隻需12萬
如此豪情源自于這樣一個契機:DHH所在的公司37signals在與一家企業Kubernetes供應商商進行了一次短暫的迂回之後,他們開始自己建構的工具,并在幾周前成功地将第一個小型應用程式移出了雲計算。
粗略的計算是這樣的:2022年,我們在雲上花費了320萬美元。其中不到一百萬是在S3中存儲8 PB的檔案,并在多個地區完全複制。是以,其他一切都需要花費約230萬美元:應用伺服器、緩存伺服器、資料庫伺服器、搜尋伺服器等。這是我們計劃在2023年将預算歸零的部分。然後我們将擔心2024年從S3退出8PB。
經過深思熟慮、多次基準測試,加上對AMD新的Zen4晶片與第4代NVMe驅動器的結合表現出的驚人速度,可以說,DHH表示,公司差不多準備好向Dell下訂單了,大約60萬美元。
目前仍在精确調整所需的配置,但最終會在每個資料中心訂購8台運作雙64核CPU的機器(每台機器總共256個vCPU。此外,還需要為兩個資料中心,分别添加大約2000 vCPU,是以将會有4000 vCPU用于性能和備援。
在雲時代,花60萬美元購買一堆硬體可能聽起來很不值,甚至有些吃虧。但如果你在保守的五年内分期償還,每年隻需12萬美元!而且,DHH補充道,别忘了這些機器中有很多即便七年以後也能繼續運作。
二、機架安裝也很省
當然,光伺服器還不夠,伺服器隻是盒子。它們還必須連接配接到電源和帶寬。目前DHH的做法是,通過Deft,每月在兩個資料中心之間的八個專用機架上花費約6萬美元。同時,公司還特意調配了多餘的空間,這樣我們就可以在現有機架中安裝所有這些新伺服器,而不需要更多空間或電源。是以,這方面算下來,支出會保持在每年72萬美元左右。
整體算下來,每年需要花費總計84萬美元。帶寬、功率,還有攤銷計劃為五年的伺服器。相比之下,37Signals在雲計算的開銷則近三倍,為230萬美元。
而且,這樣做的好處在于,公司将擁有更快的硬體、更多的核心、更便宜的NVMe存儲,以及以極低的成本進行擴充的空間(隻要每個DC仍能容納四個機架)。
任何具有穩定工作負載的中等規模SaaS企業和更進階别的企業,DHH建議需要将雲伺服器的租賃費用,和自己購買伺服器的方案進行比較,如果沒有做考量,那将會犯嚴重的财務錯誤。“我建議你先給戴爾打電話,然後再給Deft打電話。擷取一些真實世界的數字,做決定吧!”DHH如是說。
三、被證僞的質疑
有人質疑DHH這種将硬體成本和托管硬體的成本進行比較的做法。
這是一個奇怪的數學:将硬體成本與托管硬體成本進行比較。“我不是雲供應商的事先串通的人,但230萬美元不僅僅是‘帶寬、功率和裸機’。您可以獲得身份通路管理、使用者控制台、CLI、免費Terraform插件(開發和維護成本不低)、計費報告、靈活配置設定現貨執行個體以應對峰值(系統從不面臨峰值嗎?)以及其他許多功能。”
具體展開,例如,如何確定從這些裸機通路遠端S3伺服器?如果您計劃托管S3叢集,那麼這不在84萬美元的賬單中。
另一個例子,DHH另一篇博文《Why we're leaving the cloud》中提到使用AWS關系資料庫(RDS)和ES。托管資料庫是一回事;操作資料庫則是另一回事,而且更昂貴。他是否将備份檔案存儲在/tmp fyles系統的tarball中?如果沒有,誰開發和維護該解決方案?
他不可能沒有考慮過應對這一現實,或者他認為平台的“建立和營運”成本将低于150萬美元/年。(經筆者查證:事實是,其實有關存儲這塊的費用,HDD已經考慮在内了,繼續沿用雲托管存儲方案。)
當然,公有雲自然也會有好處,一位朋友說出了資料中心被不可抗力毀于一旦的故事。
“在我工作的一個地方,我們的辦公室資料中心遭到雷擊。至少可以說是一團糟。而上雲則不同。大約4年前,當Azure出現問題時,美國西南部資料中心(US Southwest data center)将Azure的其餘部分帶走,而它在崩潰時,我們沒有丢失任何資料,也不必進行消防演習來修複任何問題。”
另一方面,如果停機時間不是非常關鍵,并且不需要擴充和其他雲功能,那麼自托管成本可能會低得多。
四、三點啟發
每次有人釋出這些關于離開雲後節省了多少成本的資訊時,他們無外乎采取這些措施:
要麼使用不利用任何雲平台功能的系統設計。
要麼将自行管理的工資、停機、機會成本,而且将複雜性和開發之間的摩擦視為免費的,因為很難量化所有這些資訊。
但此次雲賬單爆表到下雲的實踐之是以得到圈内關注,帶來了三點啟發。
1.雲暴露的問題
雲彈性擴充有些不給力。假設一個“吃瓜”事故突然發生,突然有500萬人想立即通路網站,雲的擴充速度會非常緩慢。在真實的突然高負載場景中,規模擴大簡直像一個謊言。
一位評論者提到自己公司使用的K8s叢集,需要很長時間來擴充可用的節點數量,即EC2執行個體。它們的運作開銷大約為10個空閑節點(并且總是會少一個CPU,或者少1GB RAM……),但一旦它們滿了,例如,當一個很高的負載進入時,則需要2-5分鐘才能擴充。
這位吐槽說:“我真的不知道什麼是好雲了。它的規模不快,安裝不容易,也不便宜。你唯一能節省的就是購買硬體等前期費用。”
正如另一位在擴充方面感到頭疼的朋友所言,在不同的現場活動中,雲廠商要麼為不同的客戶機重新配置設定能力不足的伺服器,要麼在活動中達到上限并失敗,這是一個持續存在的問題。
再一個就是服務态度問題。“當活動産生故障向客服回報後,他們的結論是,不是配置問題,也不是擴充問題,而是用戶端的問題,他們太頻繁送出請求了~”
2.私有雲的實踐參考
關于Hey的下雲遷移、可能節省的成本以及可能産生的額外成本,有很多讨論。我認為這可能是一個很好的長期案例研究,相信對于雲原生的落地,未來如何根據公司實際情況進行取舍,有了更進一步的實踐參考。
因為巨頭總是少數的,大多數公司可能會考慮在這兩個領域進行投資——購買裸機以獲得固定負載,然後使用雲來實作可變負載和備援。
當然,并不是所有的私有雲都能省錢。一位人士指出,我們嘗試使用自己的私有雲。這不值得。當我研究AWS生态系統時,我發現保留一些基礎設施并采用混合模式是我公司的最佳解決方案。比如,在雲中歸檔内容更輕松些,同時減少了本地伺服器的維護時間。尤其是當一個舊的基礎設施到處運作RAID6時。
也有這樣一種觀點,雖然AWS、Azure等雲服務解決方案并不完美,但專業化之是以有效,是因為大規模的系統往往更便宜。
3.價值主張的探讨
有人士分析,DHH還沒有将在這個項目上浪費的人力資源計算在内,其實這個項目所占用的資源本可以用來建構更實際的差異化功能。
但反駁者則認為,這一點有些避重就輕,因為這種觀點忽略了勞動力資本的價值。如果他們把這些錢花在了改善公司的勞動環境和待遇上,而不是為了一個沒有明顯更好的服務水準的雲廠商而燒掉這些錢,那麼即便他們為内部積累豐富經驗而燒掉了700萬美元或更多,也是一個合理的價值主張。為一項專項服務而付費,還是為提升内部經驗和能力買單,你說哪個劃算?
來源: 51CTO技術棧