放棄亞馬遜、谷歌,徹底告別 k8s!

轉自:51CTO 技術棧 - 千山

Ruby on Rails 之父 David Heinemeier Hansson(以下簡稱 “DHH”)向來立場鮮明,言辭激進,其發言屢屢引起爭議。

日前,DHH 發佈的一篇題爲《我們的雲退出已經節省了 100 萬美元 / 年》的文章,再次點燃了技術論壇上的一把火。         

         

當 “上雲” 變成坑,不如果斷 “下雲”

今年 6 月,DHH 就高調宣佈 “我們已經離開雲了”。

這裏的 “我們” 指的是 Basecamp 團隊。

Basecamp 是 37signals 公司旗下的一款基於雲服務的項目管理軟件,上雲已有十多年之久。而 Basecamp 在 2020 年推出的電子郵箱服務 HEY 也一直在雲端運行。作爲 Basecamp & HEY 的聯合創始人,DHH 在去年十月發佈了 “下雲” 宣言。

作爲資深雲用戶,Basecamp 嘗試過亞馬遜雲、谷歌雲,使用過裸虛擬機、Kubernetes,稱得上體驗過雲的大部分功能。但他們最終得出的結論是:

“對於像我們這樣增長穩定的中型公司來說,租用 IT 基礎設施大致上是一筆糟糕的交易。在降低複雜性等方面的承諾從未實現。所以我們計劃離開。”

不過 DHH 並未全盤否定雲的作用。在他看來,有兩種情況,雲是更適宜的選擇。

其一,當你的應用程序非常簡單且流量很低時,可以使用完全託管的服務來減少複雜性。其二,當你的負載波動非常不規律時,誰都無法預判到底是需要 10 臺服務器還是 100 臺服務器的情況下,上雲就是更好的選擇。

但對 Basecamp 來說,這兩種情況都不適用。在 DHH 看來,如果繼續堅持在雲端運行,不但不能發揮雲服務的優勢,而且還要爲某些微小的可能性付出近乎荒謬的溢價。

就像你明明沒有住在地震帶的附近,但你花了近四分之一的房價去買了抗震保險。” 正如 DHH 的描述,爲某些可能性去花費大的代價,固然不能全盤否定,但總體上還是得不償失、浪費資源。

以電子郵件服務 HEY 爲例。DHH 提到,他們每年爲此向亞馬遜的數據庫 (RDS) 和搜索(ES)服務支付 50 多萬美元。“你知道在每年 50 萬美元的預算下,可以買多少臺超級強大的服務器嗎?”

此外,對於某些認爲 “雲能簡化運維,更節省人力” 的說法,DHH 也直接否定了。

“任何認爲在雲端運行像 HEY 或 Basecamp 這樣的大型服務很‘簡單’的人,都是紙上談兵。總的來說,我還沒有聽說過像我們這樣規模的組織,僅僅因爲遷移到雲端,就能實質性地大幅縮減運維團隊。

每月的雲支出:從 18 萬美元下降到 8 萬美元

具體到執行雲退出策略時,總有人說:上雲容易下雲難。

但在 DHH 的表述中,這句話對於 Basecamp 似乎也不適用。

“因爲我們花了好幾年才進入雲端,所以我原本以爲,我們也要花好幾年才能出來。但是,所有將我們的應用程序容器化併爲雲做準備的工作實際上使退出變得相對容易。經過六個月的努力,它完成了。”

從雲中退出只是策略,能看到實際支出的下降才能證明策略的有效性。在今年 6 月官宣正式迴歸本地後,雲退出後的效果也逐漸展露。

“**我們的雲支出 (sans-S3) 已經下降了 60%。從每月 18 萬美元下降至不到 8 萬美元。**按年計算,這是整整 100 萬美元的結餘。另外,剩餘的支出在今年餘下的時間裏逐漸減少之前,我們在 9 月份還會迎來另一個大幅下降。”

當然,爲了回到本地,Basecamp 不得不另外花費 50 萬美元採購了新的服務器來取代雲租賃。

DHH 認爲:“雖然額外的服務器會帶來一些額外的成本,但在整體計劃中,這些成本都是微不足道的 (例如,運維團隊保持不變)。通過節餘和支出的基本對比,還可以看到,我們在不到 6 個月的時間裏,就可以用每個月省下來的錢來買大宗設備了。”

更重要的是,DHH 並不認爲 Basecamp 的案例是個例。如今,雲退出後實際產生的效果似乎也印證了他早前的警告——

首先,在企業生命週期的早期,雲計算對企業來說是有一席之地的,這樣的花費要麼微不足道,要麼 24 個月後它們將不復存在的風險很高。

然後,要小心,不要把那些奢侈的雲積分當成禮物。這往往是一個鉤子,如果你過多地將自己與他們的專有託管服務或無服務器產品捆綁在一起,一旦賬單開始飆升,你將很難逃脫。

再者,有些公司的負載波動很大,這種情況下雲租賃是有意義的。但如果一年中,你只有三天要用到犁,那麼把它放在穀倉的 363 天就是沒有意義的。

最後,大多數老牌公司應該考慮一下所謂上雲熱潮。哪些是實際起效的,哪些是營銷誇大的。因爲實踐中,雲計算可能並不如你預期的那樣可以削減複雜性,而且溢價有時也很嚴重。

當我們考慮雲時,我們到底在考慮什麼?

關於 DHH 主張的雲退出策略,有人支持,也有人反感。

Reddit 論壇上,有技術人員認爲,雲的最大優勢是其實不在於節省成本,而在於以下四點:

1、靈活性。如果採用雲服務,就不可能出現 “我們剛剛訂購了大量昂貴的服務器,然後才意識到我們的應用程序無法在它們上面運行”。

2、責任下放。如果備份不起作用,那麼你可以起訴雲提供商。“在我的公司,託管數據庫佔所有云成本的一半以上,但沒有人質疑這一點,因爲我們意識到自託管的風險。”

3、易於使用。每個雲提供商都爲不同的用例提供了許多解決方案,並且所有這些系統都相互集成。這樣可以節省大量時間。

4、安全和保障。許多公司陷入了困境,因爲他們的機房被毀、被淹或遭到其他什麼意外。使用雲服務時,這種可能性要小得多。

也有人認爲,**上雲還是下雲,**有時並不是單純的技術架構的問題

“我還沒看到有人提過使用雲架構的明顯問題,但它與使用其他服務的問題相同。服務提供商可以在‘鎖定’足夠多的人之後提高價格。這意味着從非雲過渡到雲,可能會帶來短期成本的下降,以季度或年度爲單位看收益的人也許會覺得不錯,但長期來看,一切都可能搞砸。”

還有人覺得,如果公司對於自身定位,還有長遠發展沒有明晰的認知,那麼對於雲的選擇也將曖昧不清

“我想大多數人都知道,這通常是一種成本效益分析,你需要更少的人來構建雲基礎設施,有能力在很少的交付時間內大規模擴展,並獲得許多可以以低成本試用的功能。對於使用特定技術的可預測的工作負載來說,使用本地是更好的,而且更便宜。但關鍵在於,許多公司不知道他們想要什麼,也不知道 X 年後他們會是什麼樣子。

放眼當下,雲計算發展至今,關於上雲益處的聲音被廣泛傳播,但事實上,雲環境並不一定是運行所有應用程序的最佳場所。當雲託管不符合預期時,考慮雲退出也是一種選擇。但是否真的要實施雲退出,對於下雲的複雜性是否有準備,以及什麼樣的雲策略纔是真正符合企業長期發展利益的,都需要審慎考量。

參考鏈接:

https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0

https://world.hey.com/dhh/our-cloud-exit-has-already-yielded-1m-year-in-savings-db358dea

https://world.hey.com/dhh/we-have-left-the-cloud-251760fb

https://www.reddit.com/r/programming/comments/16lqjhf/our_cloud_exit_has_already_yielded_1myear_in/

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/n8AdjRnMYxGkoDgtytkpDQ