在上云風(fēng)行十余年后,由于成本、隱私、安全及業(yè)務(wù)需求變化,一股“下云”之風(fēng)逐漸興起。
前段時(shí)間X平臺(tái)通過優(yōu)化云服務(wù)使用并遷移更多工作負(fù)載至本地基礎(chǔ)設(shè)施,月度云成本降低60%,每年節(jié)省達(dá)6000萬美元,引起業(yè)內(nèi)軒然大波。
無獨(dú)有偶,作為“下云”理念的堅(jiān)定追隨者David Heinemeier Hansson(DHH),即 Ruby on Rails 的創(chuàng)作者,早前在博客上宣布其公司 37Signals 成功實(shí)施下云策略甚至預(yù)計(jì)未來五年內(nèi)將節(jié)省高達(dá)700萬美元而受到熱議。近期,針對網(wǎng)友們在社交媒體上頻繁提出的14個(gè)問題,DHH 進(jìn)行了集中的回應(yīng)和解答。
云成本太高,決定下云
讓我們先回顧下 37Signals 的下云歷程。2022年10月19日,DHH 宣布公司將把核心產(chǎn)品 Basecamp 和 HEY 正式實(shí)施“下云”策略。Basecamp 是一個(gè)全球范圍內(nèi)廣泛使用的 Web 端項(xiàng)目管理平臺(tái),云上歷程已有十年之久。HEY 作為全功能的電子郵件服務(wù),自推出以來一直依賴于云服務(wù)。但 37Signals 發(fā)現(xiàn),長期租用計(jì)算資源并不是一個(gè)成本效益高的選擇。因此,37Signals 決定回歸本地基礎(chǔ)設(shè)施,
DHH 在今年2月表示,預(yù)計(jì)在“下云”后,公司未來五年將節(jié)省約700萬美元的服務(wù)器費(fèi)用,同時(shí)無需改變現(xiàn)有的運(yùn)維團(tuán)隊(duì)規(guī)模。為了證實(shí)這一預(yù)測,他進(jìn)行了一系列的成本分析。
2022年我們在云上花費(fèi)了320萬美元。其中將近100萬美元用于在 S3 中存儲(chǔ) 8PB 的文件,并在多個(gè)區(qū)域之間完全復(fù)制。剩余的230萬美元?jiǎng)t用于支持其他所有服務(wù):應(yīng)用服務(wù)器、緩存服務(wù)器、數(shù)據(jù)庫服務(wù)器、搜索服務(wù)器等。
我們計(jì)劃在2023年將云成本削減至零,并考慮在2024年從 S3 中退出 8PB。
經(jīng)過深思熟慮,我們決定花費(fèi)60萬美元購買硬件。在云計(jì)算時(shí)代,60萬美元的硬件投資聽起來可能很多。但如果保守按照五年期來攤銷計(jì)算,每年僅需12萬美元!
當(dāng)然,這只是硬件成本的一部分,還必須考慮連接到電源和帶寬的費(fèi)用。目前,我們通過 Deft 在兩個(gè)數(shù)據(jù)中心之間每月租用八個(gè)專用機(jī)架,花費(fèi)約為6萬美元。我們故意超額配置了空間,實(shí)際上可以將所有新服務(wù)器放置在現(xiàn)有機(jī)架中,而無需額外的空間或電源。因此,總支出仍保持在每年72萬美元左右。
綜合來看,每年的總支出為84萬美元。與云計(jì)算的230萬美元相比,我們將擁有更快速的硬件、更多的核心、成本較低的 NVMe 存儲(chǔ),以及低成本的擴(kuò)展空間(只要服務(wù)器能放入每個(gè)數(shù)據(jù)中心的四個(gè)機(jī)架中)。
粗略估計(jì),這將使我們每年節(jié)省150萬美元。在此期間,預(yù)留50萬美元用于應(yīng)對不可預(yù)見的費(fèi)用,五年內(nèi)總共節(jié)省700萬美元。
今年6月,DHH 宣布,經(jīng)過六個(gè)月的努力,最后一個(gè)應(yīng)用已成功遷回到本地硬件。下云已完成!
半年下云省千萬,DHH 下云答疑
37Signals 的下云引起了廣泛關(guān)注。“數(shù)百萬人通過 LinkedIn、X 平臺(tái)和郵件列表閱讀了我們的更新。我收到了數(shù)千條評(píng)論,大家紛紛要求進(jìn)一步的信息披露,提供反饋意見,并對我們這種反其道而行之的大膽舉措表示驚訝。當(dāng)其他公司正忙于上云時(shí),我們已經(jīng)成功實(shí)現(xiàn)了下云的壯舉。面對種種質(zhì)疑和驚異,我們用實(shí)際成果作出了回應(yīng):不僅快速、高效地完成了下云,而且客戶受到的影響幾乎為零。截至九月,我們的云賬單已經(jīng)節(jié)省了100萬美元,并且這一數(shù)字還在持續(xù)降低。”DHH如此說道。
下云工作的完成,對于 37Signals 來說無疑是一大勝利。2022年該公司的云服務(wù)費(fèi)用高達(dá)320萬美元,往年的費(fèi)用更是這一數(shù)字的兩倍,這意味著37Signals 下云僅半年時(shí)間就節(jié)省了近千萬的費(fèi)用!然而,圍繞下云這一決策的疑問仍然層出不窮。為了節(jié)省時(shí)間,避免重復(fù)解答相同的問題,DHH 編寫了一份詳盡的“常見問題解答”(FAQ)。以下是FAQ的內(nèi)容:
1、你節(jié)省下來的硬件費(fèi)用會(huì)不會(huì)被更大的團(tuán)隊(duì)工資所吞噬?
沒有,因?yàn)槲覀冊谠仆顺龊蟛]有改變團(tuán)隊(duì)的組成。那些在云端操作 HEY、Basecamp 和其他應(yīng)用程序的人,現(xiàn)在正在我們自己的硬件上操作這些應(yīng)用。
這是云營銷的核心欺騙,聲稱一切都將變得如此簡單,你幾乎不需要任何人來操作它。但我從來沒真正見過這種情況,無論是 37signals 還是其他運(yùn)行大型互聯(lián)網(wǎng)應(yīng)用程序的公司。云計(jì)算有一些優(yōu)勢,但它通常不在于減少運(yùn)營人員數(shù)量。
2、你為什么不直接優(yōu)化你的云賬單呢?
我們曾詳細(xì)列出2022年的云服務(wù)費(fèi)用320萬美元,這甚至是經(jīng)過高度優(yōu)化、每月嚴(yán)格審查、大幅討價(jià)還價(jià)后的價(jià)格,而曾經(jīng)的云服務(wù)費(fèi)用是這的兩倍之多。我們幾乎已經(jīng)榨干了檸檬中的每一滴汁液,而且這是一項(xiàng)需要不斷重復(fù)的工作。
這就是為什么我如此看好中型及以上軟件公司下云的原因之一。對于擁有與我們相同數(shù)量的客戶的業(yè)務(wù)來說,每個(gè)月花費(fèi)我們之前開支的2倍、3倍甚至4倍,這是非常容易的。下云對大多數(shù)公司來說意味著可以節(jié)省更多的成本。
3、但是如果你寫了一個(gè)云原生應(yīng)用程序呢?
云原生經(jīng)常被吹捧為利用云的真正方式,但這只是更多的云營銷廢話。它通常圍繞著一種錯(cuò)誤的信念,即無服務(wù)器功能和相關(guān)的按需工具將使成本更低。但如果你需要一磅糖,你買獨(dú)立包裝的小方糖是省不了錢的。
4、安全方面呢?你不擔(dān)心被黑嗎?
在互聯(lián)網(wǎng)上運(yùn)行軟件所面臨的大多數(shù)安全問題來自應(yīng)用程序及其直接依賴項(xiàng)。無論你是擁有運(yùn)行該應(yīng)用程序的計(jì)算機(jī)還是從云提供商那里租用,正確保護(hù)定制應(yīng)用程序所需的工作都沒有任何實(shí)質(zhì)性的不同。
如果有什么區(qū)別的話,那就是在云端運(yùn)營服務(wù)可能會(huì)給人們一種虛假的安全感。認(rèn)為這不是他們需要擔(dān)心的事情,但其實(shí)是需要擔(dān)心的。
但是,現(xiàn)代容器化應(yīng)用程序交付的最大優(yōu)點(diǎn)是,你不再需要花費(fèi)大量時(shí)間手動(dòng)修補(bǔ)機(jī)器。它的大部分都打包在 Dockerfiles 中,無論你是在云上租用機(jī)器還是在自己的機(jī)器上運(yùn)行,部署運(yùn)行在最近更新的 Ubuntu 上的新版本的應(yīng)用程序都是一樣的。
5、你不需要一個(gè)世界級(jí)的超級(jí)工程師團(tuán)隊(duì)來做這件事嗎?
我從不回避夸贊 37signals 優(yōu)秀員工的機(jī)會(huì),因?yàn)槲覟槲覀冊谶@里組建的團(tuán)隊(duì)感到自豪。但是,如果聲稱他們有一些特殊的神奇見解,可以讓他們操作我們自己的硬件,那就太狂妄了。互聯(lián)網(wǎng)在1995年開始出現(xiàn)。云作為默認(rèn)選擇可能直到2015年才出現(xiàn)。所以二十多年來,公司一直在操作硬件來運(yùn)行他們的應(yīng)用程序。這并不是一些隨著時(shí)代的流逝而消失的古老知識(shí)。我們可能不知道金字塔是如何建造的,但我們?nèi)匀恢廊绾螌?Linux 機(jī)器連接到互聯(lián)網(wǎng)。
此外,運(yùn)行自己的硬件所需的90%的專業(yè)知識(shí)與在云上運(yùn)行所需的專業(yè)知識(shí)相同。至少一旦你達(dá)到我們的規(guī)模,擁有數(shù)百萬用戶和每月數(shù)十萬美元的賬單是這樣的。
6、這是否意味著你們正在建設(shè)自己的數(shù)據(jù)中心?
除了超大規(guī)模企業(yè)和谷歌、微軟、Meta 等少數(shù)大型公司之外,沒有人在建設(shè)自己的數(shù)據(jù)中心。幾乎所有人都只是在專業(yè)數(shù)據(jù)中心運(yùn)營商(如 Equinix )那里租幾個(gè)機(jī)柜、一個(gè)房間或一層樓。
因此,擁有自己的硬件并不意味著要擔(dān)心安全、電力輸送、消防系統(tǒng)或任何其他細(xì)節(jié),這些設(shè)施可能需要花費(fèi)數(shù)億美元建造。
7、但是堆疊服務(wù)器以及拉網(wǎng)線怎么辦?誰來做?
我們使用的是一家名為 Deft 的數(shù)據(jù)中心服務(wù)提供商。像他們這樣的公司還有很多。你付錢給他們,讓他們把你買來的服務(wù)器拆箱,直接送到數(shù)據(jù)中心,然后他們把服務(wù)器堆疊、上架,你就能看到IP地址上線了。就像云一樣,即使它不是即時(shí)的。
我們的運(yùn)營團(tuán)隊(duì)基本上從未涉足我們的數(shù)據(jù)中心。他們在世界各地遠(yuǎn)程工作。現(xiàn)在的操作體驗(yàn)更像云計(jì)算,而不是互聯(lián)網(wǎng)早期,當(dāng)時(shí)每個(gè)人都自己布線。
8、可靠性呢?云不能幫你做到這些嗎?
當(dāng)我們在云中運(yùn)行時(shí),我們使用兩個(gè)地理上分散的區(qū)域,每個(gè)區(qū)域內(nèi)都有大量冗余。這正是我們現(xiàn)在正在做的,因?yàn)槲覀円呀?jīng)脫離了云計(jì)算。我們在兩個(gè)地理位置分散的數(shù)據(jù)中心中托管自己的硬件,每個(gè)數(shù)據(jù)中心都能夠承載我們需要的全部負(fù)載,并且每個(gè)關(guān)鍵的基礎(chǔ)設(shè)施都有副本。
可靠性在很大程度上取決于冗余。你應(yīng)該能夠在任何時(shí)候丟失任何一臺(tái)電腦,任何組件,而不會(huì)造成任何問題。我們在云上擁有這種能力,而現(xiàn)在使用我們自己的硬件也能做到。
9、國際化業(yè)務(wù)的性能怎么樣?云不是更快嗎?
我們之前的云設(shè)置在美國使用了兩個(gè)不同的區(qū)域,然后使用了在世界各地都有本地邊緣節(jié)點(diǎn)的 CDN 網(wǎng)絡(luò)。我們下云后,做了同樣的事情,就像可靠性一樣。我們在美國使用兩個(gè)數(shù)據(jù)中心,并使用國際 CDN 來加速內(nèi)容交付。
基本上是一樣的。關(guān)于國際足跡的困難部分通常不是保護(hù)數(shù)據(jù)中心或設(shè)置硬件,而是設(shè)計(jì)應(yīng)用程序來處理多個(gè)主數(shù)據(jù)庫的編寫、處理復(fù)制延遲問題,以及其他使應(yīng)用程序在全球互聯(lián)網(wǎng)上快速運(yùn)行所需的有趣的事情。
我們目前正在計(jì)劃在歐洲的一個(gè)數(shù)據(jù)中心進(jìn)行 HEY 的一個(gè)前哨實(shí)驗(yàn),我們只是依靠我們在 Deft 的朋友來設(shè)置它。與所有硬件采購一樣,交付的時(shí)間確實(shí)比云計(jì)算長。沒有什么比得上云技術(shù)的“我想在日本有10臺(tái)服務(wù)器在線”并30秒后看到它,這是驚人的。
但對于我們這類業(yè)務(wù)來說,你必須為這種即時(shí)啟動(dòng)支付的瘋狂溢價(jià)是不值得的,等待幾周才能看到服務(wù)器上線是一個(gè)完全可以忍受的代價(jià)。
10、你考慮到以后更換服務(wù)器的成本了嗎?
是的,我們是根據(jù)服務(wù)器5年的使用期限進(jìn)行計(jì)算的。這是保守的,我們的服務(wù)器已經(jīng)運(yùn)行了7-8年,運(yùn)行良好。但大多數(shù)人通常使用的是5年的時(shí)間間隔,這便于進(jìn)行財(cái)務(wù)比較。
但問題來了。我們花了60萬美元買了大量新服務(wù)器。我們通過下云節(jié)省的費(fèi)用已經(jīng)支付了這筆投資!因此,如果明年出現(xiàn)一些驚人的技術(shù)突破,我們想再次購買一堆新東西,我們可以很容易地做到這一點(diǎn),并且仍然在成本上領(lǐng)先。
11、那么隱私法規(guī)和 GDPR 呢?
在隱私法規(guī)和 GDPR 方面,云計(jì)算并沒有給你帶來任何真正的優(yōu)勢。如果說有什么不同的話,那就是消極的一面,因?yàn)樗兄饕某笠?guī)模計(jì)算機(jī)都是美國的。所以,如果你在歐洲,你從微軟、谷歌購買云服務(wù),你需要面對的事實(shí)是,美國政府可以合法地迫使提供商交出數(shù)據(jù)和記錄。
因此,如果嚴(yán)格遵守 GDPR 是你設(shè)立歐洲公司的關(guān)鍵,那么您最好擁有自己的硬件并從歐洲數(shù)據(jù)中心提供商處運(yùn)行它。
12、突發(fā)需求怎么辦?自動(dòng)伸縮呢?
購買自己的硬件時(shí),最令人震驚的事情是意識(shí)到它變得如此便宜和強(qiáng)大。僅在過去的4-5年里就取得了巨大的進(jìn)步,這就是云計(jì)算變得越來越糟糕的原因之一。
也就是說,你可以負(fù)擔(dān)得起過度配置自己的硬件,讓自己有足夠的余量來處理峰值,但這幾乎不會(huì)對長期預(yù)算產(chǎn)生影響。
也就是說,如果你經(jīng)常面臨超出基線5-10倍或更高的需求峰值,你可能是潛在的云用戶。亞馬遜在“黑色星期五”或“網(wǎng)絡(luò)星期一”所需的性能遠(yuǎn)遠(yuǎn)超過一年中的其他時(shí)間,所以靈活的硬件是有意義的。
但你也可以混搭。俗話說“買基線,租尖峰”。然而,許多公司甚至不需要為此煩惱。只要在你的增長曲線之前購買一些強(qiáng)大的機(jī)器,隨著時(shí)間的推移密切關(guān)注使用情況,如果你不得不進(jìn)行計(jì)劃外的擴(kuò)展,通常在一周左右的時(shí)間內(nèi),你就可以讓一整組服務(wù)器上線。
13、你在服務(wù)合同和許可費(fèi)用上花了多少錢?
什么都沒有。在互聯(lián)網(wǎng)上運(yùn)行應(yīng)用程序所需的一切通常都是開源的,我們在云中運(yùn)行所有東西都是開源版本,我們的RDS數(shù)據(jù)庫變成了 MySQL 8,我們的 OpenSearch 變成了開源的 ElasticSearch。
有些公司可能確實(shí)喜歡服務(wù)合同帶來的舒適感,而且有很多供應(yīng)商可以提供這樣的服務(wù)。我們曾經(jīng)斷斷續(xù)續(xù)地使用 Percona 的 MySQL 專家提供的出色服務(wù),但它不會(huì)從根本上改變底層。
你必須遠(yuǎn)離最具商業(yè)色彩的機(jī)構(gòu)。通常情況下,如果他們的客戶名單上有銀行或政府,你應(yīng)該另尋他處,除非你就是喜歡燒錢。
14、如果云這么貴,你當(dāng)初為什么要選擇“上云”呢?
因?yàn)槲覀冑I賬了。相信了所謂的更便宜、更容易、更快捷。但只有最后的承諾才真正實(shí)現(xiàn)了,在云上,可以快速配置一整套服務(wù)器。但這并不是我們經(jīng)常做的事情,所以不值得支付巨額溢價(jià)。
我們花了數(shù)年時(shí)間,試圖從“規(guī)模經(jīng)濟(jì)”和“易用性”中節(jié)省開支,但這從未真正實(shí)現(xiàn)。托管服務(wù)仍然需要管理,摩爾定律帶來的進(jìn)步很少被轉(zhuǎn)化為節(jié)省成本。
事后看來,我真的很高興我們對云做了適當(dāng)?shù)膰L試。我們學(xué)到了很多,并因此改進(jìn)了我們的流程。但我真希望我們能早幾年做這個(gè)計(jì)算。
參考資料: