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