熱門資訊> 正文
2023-10-29 22:15
在《下雲奧德賽》中,我們翻譯了下雲先鋒 DHH 的十篇博客文章,記錄了他們從雲上搬下來的完整旅程。現在DHH已省下了近百萬美元雲支出,未來的五年還能省下上千萬美元。我們跟進了下雲先鋒的最新進展,譯為中文以饗讀者。
譯序
世人常道雲上好,託管服務煩惱少。
我言云乃殺豬盤,溢價百倍實厚顏。
賽博地主搞壟斷,坐地起價剝血汗。
運維外包嫖開源,租賃電腦炒概念。
世人皆趨雲上游,不覺開銷似水流。
雲租天價難為持,開源自建更穩實。
下雲先鋒大衞王,引領潮流把槍扛。
不畏浮雲遮望眼,只緣身在最前鋒。
曾幾何時,「上雲」近乎成為技術圈的政治正確,整整一代應用開發者的視野被雲遮蔽。DHH 以及像我這樣的人願意成為這個質疑者,用實打實的數據與親身經歷,講清楚公有云租賃模式的陷阱。
很多開發者並沒有意識到,底層硬件已經出現了翻天覆地的變化,性能與成本以指數方式增長與降低。許多習以為常的工作假設都已經被打破,無數利弊權衡與架構方案值得重新思索與設計。
我們認為,公有云有其存在意義——對於那些非常早期、或兩年后不復存在的公司,對於那些完全不在乎花錢、或者真正有着極端大起大落的不規則負載的公司來説,對於那些需要出海合規,CDN等服務的公司來説,公有云仍然是非常值得考慮的服務選項。
然而對絕大多數已經發展起來,有一定規模的公司來説,如果能在幾年內攤銷資產,你真的應該認真重新審視一下這股雲熱潮。好處被大大誇張了——在雲上跑東西通常和你自己弄一樣複雜,卻貴得離譜,我真誠建議您好好算一下賬。
最近十年間,硬件以摩爾定律的速度持續演進,IDC2.0與資源雲提供了公有云資源的物美價廉替代,開源軟件與開源管控調度軟件的出現,更是讓自建的能力變得唾手可及——下雲自建,在成本、性能,與安全自主可控上都會有非常顯著的回報。
我們提倡下雲理念,並提供了實踐的路徑與切實可用的自建替代品——我們將為認同這一結論的追隨者提前鋪設好意識形態與技術上的道路。
不為別的,只是期望所有用户都能擁有自己的數字家園,而不是從科技巨頭雲領主那里租用農場。這也是一場對互聯網集中化與反擊賽博地主壟斷收租的運動,讓互聯網——這個美麗的自由避風港與理想鄉可以走得更長。
2023年10月27日:推特下雲省掉60%雲開銷
X celebrates 60% savings from cloud exit[1]
馬斯克在X公司(Twitter)大力削減成本,簡化流程。這個過程或許並非一帆風順,但卻效果顯著。他不止一次地證明了那些對他嗤之以鼻的人們是錯的。儘管有許多聲音説,在經歷了這麼大的人事變動后推特很快會翻車,但事實並非如此。X不僅成功地維持了網站的穩定運行,還在此期間加速了實驗功能的推進。無論你喜歡還是討厭這里的政治立場,這都是令人印象深刻的。
我明白對於很多人來説很難置政治於不顧。但無論你站哪一邊,總是能找到一張圖表來證明,X要麼正在繁榮,要麼即將崩潰,所以在這里擡槓沒有意義。
真正重要的是,X 已經將下雲(#CloudExit)作為它們節省成本計劃的關鍵組成部分。以下是其工程團隊在慶祝去年成果時的發言:
我們優化了公有云的使用,並在本地進行更多的工作。這一轉變使我們每月的雲成本降低了60%。我們進行的改變里有一個是將所有的媒體 / Blob工件從雲端移出,這讓我們的總體雲數據存儲量減少了60%,另外我們還成功地將雲上的數據處理成本降低了75%。
請再仔細讀一遍上面那段話:把同樣的工作從雲端轉移到自己的服務器上,讓每月的雲費用降低了60% (!!)。根據早先的報道,X 每年在 AWS 上的開銷是1億美元,所以如果以此為基礎,他們從雲退出的成果可以節省高達6,000萬美元/年,堪稱驚人!
更令人印象深刻的是,他們在團隊規模縮小到原來的四分之一的情況下,還能夠如此迅速地削減雲賬單。Twitter 曾有大約八千名員工,而現在據報道 X 的員工數量不到2,000。
CFO 和投資人沒法無視這一現象:如果像 X 這樣的公司能夠以四分之一的員工運營,並且從下雲過程中大大獲利,那麼在許多情況下,大多數大公司從雲端退出都有巨大的省錢潛力。
下雲運動 / #CloudExit 或許即將成為主流,你算過你的雲賬單嗎?
2023年10月6日:託管雲服務的代價
The price of managed cloud services[2]
自從我們下雲以來,經常有人反駁説我們不應該指望一個簡單的下雲遷移能有什麼好果子吃——雲的真正價值在於託管服務和新架構,而不僅僅是在租來的雲服務器上運行同樣的軟件。翻譯過來就是:「你用雲的姿勢不對!」 ,這種論調簡直是胡說八道!
首先 HEY 是在雲中誕生的。在發佈前,它從未在我們自己的硬件上運行過。我們在2020年開始使用 Aurora/RDS 來管理數據庫,使用 OpenSearch 進行搜索,使用 EKS 來管理應用和服務器。我們深度使用了原生的雲組件,而不僅僅是租了一堆虛擬機。
正是因為我們如此廣泛地使用了雲提供的各種服務,賬單才如此之高。而且運營所需的人手也沒有明顯減少,我們對此深感失望。這個問題的答案絕不可能是「只管使用更多的託管服務」,或者揮一揮 「Serverless 魔法棒」 就解決了。
以我們在 AWS 上使用 OpenSearch 服務為例。我們每月花費三十萬($43,333)來為 Basecamp、HEY 以及我們的日誌基礎設施提供搜索服務,每年近四百萬(52萬美元),這僅僅是搜索啊!
而現在,我們剛剛關閉了在 OpenSearch 上的最后一個大型日誌集羣,所以現在是一個很好的時機來對比替代選項的開銷。我們購買所需硬件大約花費了$150,000(每個數據中心 $75,000 以實現完全冗余),如果在五年內折舊攤銷,大約是每月 $2,500。我們在兩個數據中心里還要為這些機器提供電力、機位和網絡,每月開銷大約 $2,500。所以每月總共是五千美元,這還是包含了預留緩衝的情況。
這比我們在 OpenSearch 上的開銷少了整整一個數量級!我們在硬件上花費的 $150,000 在短短三個月內就回本了,從三個月后我們每月將節省約 $40,000,這僅僅是搜索啊!
這時,人們通常會開始問人力成本的問題。這是一個合理的問題:如果你得僱傭一大堆工程師來自建自維服務,那麼每月節省 $40,000 又算得上啥呢?首先,我得説即使我們不得不全職僱傭一個人來負責搜索服務,我仍然認為這是一件很划算的事,但我們沒有這麼做。
從 OpenSearch 切換到自己運行 Elastic Search 確實需要一些初始配置工作,但長遠來看,我們沒有因為這次切換而擴大團隊規模。因為在自己的設備上運行,與在雲上運行並沒有本質上的工作範圍差異。這就是我們整體下雲的核心理念:
在雲上運營我們這種規模所需的運維團隊,並不會比在我們自己硬件上運行所需的規模更小!
這原本只是一個理論,但在現實中看到它被證實,仍然是令人震驚的。
2023年9月15日:下雲后已經省了百萬美金
Our cloud exit has already yielded $1m/year in savings[3]
把應用搬下雲非常值得慶祝,但看到實際開支減少纔是真正的獎勵。你看,要將雲端的價格從「荒謬」的程度降至「過分」的唯一方式是「預留實例」。就是你需要簽約承諾在一年或者更長時間範圍里,消費支出保持在某個水平上。因此,我們賬單並沒有在應用搬離后立即塌縮。但是現在,它要來了。哦,它就要來了!
我們的雲支出(不包括S3)已經減少了 60% 。從每月大約十八萬美元($180,000)減少到不到八萬美元($80,000)。每年可以在這里省下的錢摺合一百萬美元,而且我們在九月還會有第二輪大幅降低,剩余的支出將在年底前逐漸減少。
現在可以將省下的雲開銷與我們自己購買服務器的支出相比。我們需要花五十萬美元來採購新服務器,用於替換雲上所有的租賃項目。雖然會產生一些與新服務器有關的額外開銷,但與整體圖景相比(例如我們的運維團隊規模保持不變)這隻能算三瓜倆棗。我們只需要把新花掉的錢和省下來的錢進行簡單對比,就能看出這個令人震驚的事實:我們會在不到六個月的時間內,省下來足夠多的錢讓這筆採購服務器的大開銷回本。
但是請等我們把話説完,看一看最終省下來的結果:用不着小學算術就能看出,最終能節省下的開銷金額高達每年兩百萬美元,按五年算也就是整整 一千萬美元!這真是一筆巨大的錢款,直接擊穿了我們的底線。
我們要再次提醒,每個人的情況都可能有所不同,也許你沒有像我們之前那樣使用這些昂貴的雲服務:Aurora / RDS,以及 OpenSearch。也許你的負載確實有着很大的波動,也許這,也許那,但我並不認為我們的情況是某種瘋狂的特例。
事實上,從我看到的其他軟件公司未經優化的雲賬單來看,我們節省下來的錢實際上可能不算大。你知道過去五年 Snapchat 在雲上花費了三十億美元嗎?在以前的泡沫時代沒人在乎業務是否盈利,能省個十幾億這種事「不重要」,也沒人願意聽,但現在確實很重要了。
2023年6月23日:我們已經下雲了
We have left the cloud[4]
我們當初花了幾年時間才搬上公有云,所以最初我以為下雲也要耗費同樣漫長的時間。然而當初上雲時做準備的工作——比如將應用容器化,實際上使下雲過程相對簡單很多。如今經過六個月的努力,我們完成了這個目標——我們已經從雲上下來了。上周三,最后一個應用被遷移到了我們自己的硬件上。哈利路亞!
在這六個月中,我們將六個歷史悠久的服務遷回了本地。雖然我們已經不再銷售這些服務了,但我們承諾為現有的客户和用户提供支持,直到互聯網的終點。Basecamp Classic、Highrise、Writeboard、Campfire、Backpack 和 Ta-da List 都已經有十多年的歷史了,但仍在為成千上萬的人提供服務,每年創造數百萬美元的收入。但現在,我們在這些服務上的運營開支將大大減少,而且歸功於強大的新硬件,用户體驗更加絲滑迅捷了。
不過,變化最大的是 HEY,這是一個誕生於雲端的應用。我們以前從未在自己的硬件上跑過它,而且作為一個功能齊全的電子郵件服務,它有許多組件。但是我們的團隊通過分階段遷移,在幾周內成功地將不同的數據庫、緩存、郵件服務和應用實例獨立地遷移到本地,而沒有出現任何岔子。
將所有這些應用遷回本地的過程中,我們所使用的技術棧完全是開源的——我們使用 KVM 將新買的頂配性能怪獸——192 線程的 Dell R7625s 切分為獨立的虛擬機,然后使用 Docker 運行容器化的應用,最后使用 MRSK 完成不停機應用部署與回滾——這種方式讓我們規避了 Kubernetes 的複雜度,也省卻了各種形式的 「企業級」 服務合同糾葛。
粗略的計算表明,購置自己的硬件而不是從亞馬遜租賃,每年至少可以為我們節省150萬美元。關鍵是在完成這一切的過程中,我們的運維團隊規模並沒有變化:雲所號稱的縮減團隊規模帶來生產力增益純屬放屁,壓根沒有實現過。
這可能嗎?當然!因為我們運維自己硬件的方式,實際上與人們租賃使用雲服務的方式差不多:我們從戴爾買新硬件,直接運到我們使用的兩個數據中心,然后請 Deft 公司那些白手套代維服務商把新機器上架。接着,我們就能看到新的 IP 地址蹦出來,然后立即裝上 KVM / Docker / MRSK ,完事!
這里的主要區別是,從需要新服務器和看到它們在線之間的滯后時間。在雲上,你可以在幾分鍾內拉起一百台頂配服務器,這一點確實很牛X,只不過你也得為這個特權掏大價錢。只不過,我們的業務沒有那麼反覆無常,以至於需要支付這麼高昂的溢價。考慮到擁有自己的服務器已經為我們省了這麼多錢,使勁兒超配些服務器根本不算個事兒——如果還需要更多的話,也就是等個把星期的事兒。
從另一個角度看,我們花了大概 50萬美元從戴爾買了兩托盤服務器,為我們的服務容量添加了 4000核的 vCPU,7680GB 的內存,以及 384TB 的 NVMe 存儲。這些硬件不僅能運行我們所有的存量服務,還能讓 HEY 滿血復活,併爲我們的 Basecamp 其他業務換個嶄新的心臟。這些硬件成本會在五年里攤銷,然而購買它們的總價還不到我們每年省下來錢的三分之一 !
這也難怪為什麼當我們分享了自己的下雲經驗后,許多公司都開始重新審視他們每個月那瘋狂的雲賬單了。我們去年的雲預算是 320萬 美元,而且已經優化得很厲害了——像長期服務承諾、精打細算的資源配置和監控。有大把的公司比我們掏了幾倍多的錢卻辦了更少的事兒。潛在的優化空間和 AWS 的季度業績一樣驚人——2022 Q4 ,AWS 為亞馬遜創造了超過 50億 美元的利潤!
正如我之前提到過的:對於那些非常早期、完全不在乎花錢、或者兩年后不復存在的公司,我認為雲仍然是有一席之地的。只是要小心,別把那些慷慨的雲代金券當作禮物!那是個魚鈎,一旦你過於依賴他們的專有託管服務或Serverless產品。當賬單飆上天際時,你就無處可逃了。
我還認為可能確實會有一些公司,有着極端大起大落的不規則負載,以至於租賃還是有意義的。如果你一年只需要犁三次地,那麼在其余的363天里把犁放在谷倉里閒置,確實是沒有多大意義。
但是對絕大多數已經發展起來的公司來説,如果能在幾年內攤銷資產,你真的應該認真重新審視一下這股雲熱潮。好處被大大誇張了——在雲上跑東西通常和你自己弄一樣複雜,卻貴得離譜。
所以,如果錢很重要(話說回來,什麼時候不重要呢?)—— 我真的建議您好好算一下賬:假設您真的有一個能從不斷調整容量大小中獲益的服務,然后設想它下雲之后的樣子。我們在六個月內搬下來七個應用,你也可以的。工具就在那里,都是開源免費的。所以不要僅僅因為炒作,就停留在雲端。
2023年5月3日:從雲遣返到主權雲
Sovereign clouds[5]
我一直在討論我們的下雲之旅——「雲遣返」。從在AWS上租服務器,到在一個本地數據中心擁有這些硬件。但我意識到這個術語可能會錯誤地讓一些人感到不舒服——有一整代技術人員給自己標記上「雲原生」。僅僅只是因為我們想擁有而非租用服務器這種理由而疏遠他們,並不能幫到任何人。這些「雲原生」人才所擁有的大部分技能都是有用的,無論他們的應用跑在哪兒。
技能的重疊實際上是為什麼我們能從AWS退出如此之快的部分原因。現如今,在你自有硬件上運行所需的知識,和在雲上租賃運行所需的知識十有八九是相同的。從容器到負載均衡,再到監控和性能分析,還有其他一百萬個主題——技術棧不僅僅是相似而已,幾乎可以説一模一樣。
當然也會有地方會有差別,比如 FinOps:如果你擁有自己的硬件,就不再需要像法醫和會計師那樣理解賬單,也不需要像鬥牛犬一樣防止它瘋狂增長了!但這確實也意味着,你偶爾需要處理磁盤損壞告警,找數據中心的白手套來換備件。
但是在全局圖景中,這些都是微不足道的差異。對於一個雲上租賃弓馬嫻熟的人來説,教會他在自有硬件上運行同樣的技術棧並不會耗費太長時間(這個學習曲線肯定比跟上Kubernetes的速度要容易多了)。
針對這個問題,有些人建議使用「私有云」這個術語。這個名字讓我聯想到毛骨悚然的CIO白皮書——雖然我也不認為它有足夠的衝擊力讓公眾明瞭其中的差異。但我得承認,對於剛剛沉澱下一些「雲XX」自我身份認同的整個行業來説,這個術語顯然更能緩和氣氛。這不禁讓我思考起來。
最終,我認為這里的關鍵區別不是公有還是私有,而是——自有還是租賃。我們需要反擊雲上租賃的 「你將一無所有並樂在其中」 的宣傳。這種異端觀點有悖於時代精神,會招致互聯網(這個分佈式的,無需許可的世界奇觀)支持者的強烈反感。
因此,讓我提出一個新術語:「主權雲」。
主權雲建立在所有權與獨立性上。這是一個可選的升級項:對所有的雲租户來説,只要他們的業務強大到足以承擔一部分前期成本。這也是一個值得追求的目標:擁有自己的數字家園,而不是從科技巨頭雲領主那里租用農場。這也是一場對互聯網集中化,和正在興起的賽博地主壟斷租金的反擊運動。
試試看吧!
2023年5月2日:下雲還有性能回報?
Cloud exit pays off in performance too[6]
上周,我們成功完成了迄今為止最大的一次下雲行動,這次是搬遷 Basecamp Classic。這是我們從2004年開始就整起來的元老應用。而現在,在AWS上運行了幾年之后,它又回到了我們自己的硬件上使用 MRSK 管理,天哪,性能實在是太強了,看看這張監控圖:
現在的請求響應時間中位數只有 19ms,而以前要 67ms;平均值從138ms 降至 95ms。查詢耗時的中位數降了一半(當你一個請求做很多查詢時,這可是會累積起來放大的)。Basecamp Classic 在雲上的表現一直還不錯,但是現在95%的請求RT都低於那個的 300ms 「慢」界限。
也別把這些比較太當回事:這並非嚴謹的淨室科學實驗,只是我們剛剛離開精細微調的雲環境,放到自有替代硬件上剛跑出來的峰值。
Basecamp Classic 以前跑在 AWS EKS 上(那是他們的託管 Kubernetes ),應用本身混用 c5.xlarge 和 c5.2xlarge 實例部署。數據庫跑在 db.r4.2xlarge 和 db.r4.xlarge 規格的 RDS 實例上。現在都搬回老家,跑在配備了雙 AMD EPYC 9454 CPU 的 Dell R7625 服務器上。
用來跑應用和任務的 vCPU 核數規格都一樣,122個。以前是雲上的 vCPU,現在是 KVM 配置的核數。而且,在保持上面牛逼性能的前提下,現在負載水平還有很大壓榨空間。
實際上,考慮到我們的每一臺新的 Dell R7625 都有196個 vCPU,所以包含數據庫與 Redis 在內的整個 Basecamp Classic 應用其實可以完整跑在這樣的單臺機器上!這簡直太震撼了,當然,出於安全冗余的考慮你並不會真的這麼做。但這確實證明了硬件領域重新變得有趣起來,我們繞了一圈又回到了 「原點」——當 Basecamp 起步時,我們就是在單個機器(只有1核!)上跑起來的,而到了 2023 年,我們又能重新在一臺機器上跑起來了。
這樣的機器每台不到兩萬美元,除路由器外的所有硬件五年攤銷,就是333美元/每月。這就是當下運行完整 Basecamp Classic 所需的費用——而這仍然是一個每年實打實產出數百萬美元收入大型的 SaaS 應用!而市場上絕大多數 SaaS 業務服務客户所需的火力將遠遠少於此。
我們並未期望下雲能提高應用的性能,但它確實做到了,這真是個意外之喜。尤其是 Basecamp Classic,我們業務中的二十年老將,依然在為一個龐大的,忠誠的,滿意的客户羣提供服務,這些客户在過去十年里都沒獲得任何新功能——不過,嘿,速度也是一種特性,所以呢,你也可以説我們剛剛發佈了一個新特性吧!
接下就是下雲的重頭戲了——HEY!敬請期待。
2023年4月6日:下雲所需的硬件已就位
The hardware we need for our cloud exit has arrived[7]
距離我上次看到運行我們 37Signal 公司服務所使用的物理服務器硬件已經過去很長時間了。我依稀記得上次是十年前參觀我們在芝加哥的數據中心,但是在某個時間點,我對硬件就失去興趣了。然而現在我又重新對它感興趣了——因為硬件領域變得越來越有趣起來。所以讓我來和你們分享一下這種興奮吧:
這是最近運抵我們芝加哥數據中心的兩個托盤。同一天,一套同樣的設備也到達了我們在弗吉尼亞州 Ashburn 的第二個數據中心。總的來説,我們收到了二十臺R7625 Dell 服務器,是支撐我們的下雲計劃的主力。如此令人震驚的算力,佔用的空間卻驚人的小。
這是我們在芝加哥數據中心四個機櫃的示意圖(我們在 Ashburn 還有另外四個)。正如你所見,還有一堆專門給 Basecamp 用的老硬件。一旦我們裝好新機器,大部分老服務器就該退役了。在下面帶有 「kvm」 標記的2U服務器是新家伙:
這兒你可以看到新的R7625服務器位於機架底部,挨着舊設備:
每台R7625都包含兩個 AMD EPYC 9454 處理器,每個處理器 48個核心/96個線程,頻率 2.75 GHz。這意味着我們為私有部署大軍的容量添加了近4000個虛擬CPU!近乎荒謬的 7680GB 內存!以及 384TB 的第四代 NVMe SSD 存儲!除了足以滿足未來數年需求的強大馬力外,在夏季前還有另外六臺數據庫服務器要過來,然后我們就全準備好啦。
與 Basecamp 起源形成鮮明對比的是,我們在2004年以一臺只有256MB內存的單核Celeron服務器啟動了Basecamp,用的還是 7200轉的破爛硬盤。而那些玩意已經足夠我們在一年間把它從兼職業務轉為全職工作。
二十年后,我們現在有一大堆歷史遺留應用(因為我們承諾讓客户依賴的應用運行到互聯網的終點!),一些諸如 Basecamp 和 HEY 的大型旗艦服務,以及讓這些重新運行在我們自己硬件上的使命任務。
想想三個月前,我們決定放棄 Kubernetes 並使用 MRSK 打造更簡單的下雲解決方案,這還是挺瘋狂的一件事兒。但是看看現在,我們已經把一半跑在雲上的應用搬回了家中!
在接下來的一個月中,我們計劃將 Basecamp Classic(這玩意13年沒有更新了,但仍然是一個每年賺數百萬美元的業務——這就是SaaS的魔法!),以及下雲的重頭戲——HEY!全部都帶回家。這樣在五月初的話,我們雲上就只剩下 Highrise 和一個名叫 Portfolio 的小型輔助服務了。我原本以為,在夏末完成下雲已經是很樂觀的估計了,但現在看來,基本上會在春天結束之前就能搞定,絕對算是我們團隊的一個傑出成就。
加速的時刻表讓我對下雲大業更加充滿信心,我本以為下雲會跟上雲一樣困難,但事實表明並非如此。我想也許是每月三萬八千美元的雲消費的原因,它就像吊在我們面前的胡蘿卜一樣,激勵着我們更快地去完成這件事。
我真誠地希望那些看着自己令人生畏的雲賬單的 SaaS 創業者注意到這一點:上雲之后再下來這件事,看起來幾乎是不可能的,但你一個字兒也別信!
現代服務器硬件在過去幾年中,在性能、密度和成本上都有了不可思議的巨大飛躍。如果在過去十年中雲已經成爲了你的默認選項,那麼我建議你重新瞭解一下相關數字。這些數字很可能會像震驚我們一樣嚇到你們。
因此,下雲的終點就在眼前,我們已經解決了所有下雲所需的關鍵技術挑戰,讓這件事變得切實可行起來。我們已經在 MRSK 上運行生產應用一段時間了。道路是非常光明的,我已經迫不及待地想看到那些巨大的雲賬單趕緊消失掉。我覺得之前粗略估算的下雲降本數額已經高度保守了,讓我們拭目以待,我們也會分享出來。
2023年3月23日:裁員前不先考慮下雲嗎?
Cut cloud before payroll[8]
最近每周都能看到科技公司大裁員的新聞,幾個科技巨頭已經進行了第二輪裁員,而且沒人説不會有第三輪。儘管在個人層面上這是很難受但——我太難了!——但對整個經濟來説,還算是有一個積極的方面:釋放了被束縛的人才。
你看,大型科技公司在疫情期間以如此高的薪資吞噬吸收了大量人才,以至於幾乎沒有給生態中其他人留點渣。在關鍵技術人才的競爭中,除了科技巨頭之外的許多公司都出不起價,被擠出了市場。長期來看,這對經濟來説肯定不是啥好事。我們需要聰明人去關注一些除了讓人點擊廣告之外的問題。
儘管 Facebook、Amazon 這些科技巨頭的鉅額裁員佔據了新聞頭條,小型科技公司也在進行裁員,很難相信這里還有什麼生機。當然,小公司也有可能和巨頭們一樣,雄心勃勃地僱傭了一批他們不僅不需要,反而會拖慢進度的人。如果是這樣,那還算有點道理。
但也有這種可能,這些公司的技術的市場正在收縮,而投資者不再願意延長虧損期,所以不得不裁員以削減成本以免破產。這是謹慎的做法,但是人力並不是唯一的成本。
在我所瞭解的大部分科技公司中,主要有兩項大的開支:員工與雲服務。員工通常是最大的開支,但令人震驚的是,雲服務的費用也可以非常非常大。或者對真正算過這筆賬的人來説,「震驚」這個詞不太合適,恰當的用詞是 —— 「可怖」。
在與雲業務有關的事上我可能有些老生常談了,但當我看到科技公司試圖通過裁員,而不是控制他們的雲支出來削減成本時,我真的感到非常困惑。削減雲開支最好的方式,特別是對於中等及以上規模的軟件公司來説,就是部分/全部下雲!
所以我敦促所有正在檢閲預算,想知道在哪里可以降本增效的創始人和高管們優先關注雲開支。也許你可以通過優化現有的資源使用來走的更遠(現在有一整個新冒出來的小行業在干這事:FinOps),但也許你也高估了自己採購硬件自建與下雲的難度。
我們已經完成了一半的下雲工作。我們真正開始全力以赴是在1月份。我們不僅在搬遷那些最先進的現代技術棧,還要遷移很多歷史遺留領域的應用。然而在下雲的進度上,這已經比我敢想到的速度要快太多了。我們已經在下雲日程表上遠超預期了,大幅度的開支縮減肉眼可見。
如果我們可以這麼快地做到這些,那麼當你經營一家公司而準備打印那些解僱通知前,至少有責任計算一下這些數字並檢視一下可行的選項,這也是對你的員工應當負起的責任。
2023年3月11日:失控的不僅僅是雲成本
It‘s not just cloud costs that are out of control[9]
這個月底我們在 Datadog 上的年度訂閲要到期了,我們不打算續費。
Datadog 是一個性能監控工具,倒不是因為我們不喜歡這項服務——實際上它非常棒!我們不續訂是因為它每年花費我們 88,000 美元,這實在是太離譜了。而且這反映出一個更大的問題:企業SaaS定價越來越愚蠢荒謬。
然而,我原本以為我們的賬單已經夠傻X了。但是竟然有一個 Datadog 的客户為他們的服務支付了 6,500 萬美元!!這個信息是在他們最近的財報電話會議上提到的。這顯然是一家加密貨幣公司,用「優化」賬單的方式承認了這項蠢出天際的開支。
冒着陳詞濫調的風險我也要説:這種花在性能和監控服務上的支出就像零利率投資一樣:我無法想象在哪個宇宙里會認為這是一項合理的開支。這種事兒明顯能用開源替代解決,如果你要做點內部二開魔改定製還能解決得更好更優雅。
但我發現很多企業級 SaaS 軟件都是這樣的,比如在一個2000人的公司里採購 Salesforce 的 Slack, 每人每月 15$ :僅僅是爲了一個聊天工具,每年的開支就超過了三十萬美元!
現在,再加上像 Asana 這樣的工具,每人每月30刀。然后是 Dropbox 每人每月20美元。只是這三個工具,每個席位每月就需要每月65刀的費用。對那家2000人的公司來説,每年的成本就是一百五十萬刀。哎媽呀!
我很驚訝於目前還沒有更多的壓力迫使那些為他們的SaaS軟件支付高昂費用的公司去削減成本。但我覺得快了——感覺我們現在正處在一個服務的泡沫里,等待着破裂——總會有人看到這些利潤空間並發現機會。
這也是我們堅持 Basecamp 調性的一個關鍵原因。任何人向我們支付的最高費用不會超過每月299美元 —— 不限用户,不限功能,所有一切。是的,我們是不是扔掉了釣大魚的機會?可能吧。但我不能心安理得地以我自己都不願支付的價格來出售這些軟件。
我們確實需要在這兒調整一下。
2023年2月22日:指導下雲的五條價值觀
Five values guiding our cloud exit[10]
當談及我們離開雲的原因時,已經說了很多關於成本的事兒。儘管成本非常重要,但它並不是唯一的動機。以下是五條引領我們決策的價值觀,我最近在37signals的內網文章里闡述了這些原則:
1. 我們最看重的是獨立性。被困在亞馬遜的雲里,在實驗新東西(比如固態緩存)時,不得不忍受高昂到荒誕的定價帶來的羞辱,這已經構成對此核心價值觀無法容忍的侵犯。
2. 我們服務於互聯網本身。這個業務的整個存在,都歸功於社會與經濟上的異類——互聯網。可以用來進行包括商業在內的各種活動,卻不歸屬任何一家公司或任何一個國家。自由貿易和自由表達得以在一個人類歷史上前所未有的規模上實現。我們不會讓手中的錢,被用於侵蝕這個理想鄉——讓支撐這個美麗的自由避風港的服務器在集中到少數幾個超大規模數據中心的手中。
3. 我們明智地花錢。在幾個關鍵例子上,雲的成本都極其高昂——無論是大型物理機數據庫、大型 NVMe 存儲,或者只是最新最快的算力。租生產隊的驢所花的錢是如此高昂,以至於幾個月的租金就能與直接購買它的價格持平。在這種情況下,你應該直接直接把這頭驢買下來!我們將把我們的錢,花在我們自己的硬件和我們自己的人身上,其他的一切都會被壓縮。
4. 我們引領道路。在過去十多年間,雲作為 「標準答案」 被推銷給我們這樣的 SaaS 公司。我相信了這個故事,我們都相信了這一套,然而這個故事並不是真的。雲計算有它的適用場景,例如我們在 HEY 起步時就很好地使用了雲,然而這是一個少數派生態位。許多像我們一樣規模的 SaaS 業務應當擁有他們自己的基礎設施而不是靠租賃。我們將為認同這一結論的追隨者提前鋪設好意識形態與技術上的道路。
5. 我們尋求冒險。「不要弄些小打小鬧的計劃,它沒有激發人們熱血的魔力,本身也可能無法實現。要繪製宏偉藍圖,志存高遠,並竭盡所能。」(丹尼爾·伯納姆)我們已經在這一行打拼了二十多年了。爲了維持內心的熱情,我們應當繼續設定高標準,堅守我們的價值觀,並在各個方面探索新邊疆,否則我們會枯萎的。我們不需要成為最大的,我們也不需要成為賺得最多的,但我們確實需要繼續學習,挑戰和追求。
我們走!
2023年2月21日:下雲將給咱省下五千萬
We stand to save $7m over five years from our cloud exit[11]
自從去年十月份我們宣佈打算下雲以來,我們一直在腳踏實地地推進。在一個企業級Kubernetes供應商那兒走了一條短暫的彎路后,我們開始自己開發工具,並在幾周前成功地將第一個小應用從雲上搬下來。現在我們的目標是在夏天結束前完全下雲,根據我們的初步計算,這樣做將在五年內為我們節省大約700萬美元的服務器費用,而無需改變我們運維團隊的規模。
粗略的計算方式是這樣的:我們在 2022 年的雲開銷是 320 萬美元。其中有將近 100 萬美元用在 S3 上,用於存儲 8PB 的文件,這些文件在幾個不同區域中進行了全量複製。而剩下的大約 230 萬美元用在其他所有東西上:應用服務器、緩存服務器、數據庫服務器、搜索服務器,其他所有的事情。這部分預算是我們打算在 2023 年歸零的部分。然后我們將在2024年再來着手把 S3 上的 8PB 給搬走。
經過深思熟慮與多次基準測試,我們歎服於 AMD新的 Zen4 芯片,以及四代NVMe磁盤的驚人速度。我們基本上準備好向 Dell 下訂單了,大約 60萬 美元。我們仍在仔細調整所需的具體配置,但是對算總賬來説,無論我們最終是每個數據中心訂購8台雙插槽64核CPU的機器(一個箱子里256個vCPU!),還是14台運行單插槽CPU但主頻更高的機器,這種細節並不重要。我們需要為每個數據中心添加約 2000 核vCPU算力,而我們的業務跑在兩個數據中心里,所以考慮到性能和冗余的需求,我們需要 4000 核vCPU 算力,這都是粗略的數字。
在雲的時代,投入 60 萬美元購買一堆硬件可能聽上去不少,但如果你把它攤銷到五年里,那就只有 12 萬美元一年!這已經很保守了,我們還有不少服務器已經跑了七八年了。
當然,那只是服務器盒子本身的價格,它們還需要接上電源和帶寬。我們目前在Deft的兩個數據中心上有八個專用機架,每月花費大約6萬美元。我們特意超配了一些空間,所以我們呢可以把這些新服務器塞進現有的機架中,而無需為更多機位與電力付錢,因而每年機房本身開銷仍然是 72 萬美元。
所有的花銷總計每年 84 萬美元:包括了帶寬、電力,以及按照五年折舊的服務器盒子。與雲上的 230 萬美元相比,我們的硬件要快得多,有更多的算力,極其便宜的 NVMe 存儲,以及用極低的成本進行擴展的空間(只要我們每個數據中心的四個機架里還放得下)。
我們大致可以説,每年節省了150 萬美元。預留出一個 50 萬美元應對未來五年中尚未預見到的開銷,那麼在未來五年,我們仍然可以省下 700 萬美元!
在當下時間點,任何中型及以上的 SaaS 業務,如果他們的工作負載穩定,卻沒有對雲服務器的租賃費用和自建服務器進行測試比對,那麼可以稱得上是財務瀆職行為。我建議你打電話給 Dell,然后再打給 Deft。拿到一些真實的數據,然后自己做決定。
我們將在2023年完成下雲(除了S3),並將繼續分享我們的經驗,工具,以及計算方法。
2023年1月26日:折騰硬件的樂趣重現
Hardware is fun again[12]
2010 年代,我對計算機硬件的興趣幾乎消失殆盡。一年又一年,進步似乎微乎其微。Intel陷入困境,CPU的進步也很有限。唯一能讓我眼前一亮的是Apple在手機上的A系列芯片的進步。但那更像是與常規計算機不同的另一個世界。現在卻不再是這樣了!
現在,計算機硬件再次活躍起來!自從Apple的M1首次亮相以來,硬件有趣程度和大幅改進的通道已經打開。不僅僅是 Apple ,還有 AMD 和 Intel 。世代躍變發生得更加頻繁,增益也不再是「微不足道」。處理器核數在迅速增長,單核性能定期向前躍進 20%~30%,而且這種進步積累得很迅速。
雖然我對技術本身很感興趣,但我更關心這些新飛躍會帶來什麼。例如在 2010 年代,我們曾經因為手機運行 JavaScript 速度太慢,所以不得不為 Basecamp Web應用創建一個專門的移動版本。現在大多數 iPhone 的速度已經超過了大多數計算機,甚至安卓的芯片也在迎頭趕上。因而維護單獨構建版本的複雜性已經消失了。
在 SSD/NVMe 存儲上也發生了類似的情況,這里的代際躍進幅度甚至比 CPU 領域還要大。我們快速地從第二代約 500MB/秒的速度,到第三代的大約2.5GB/秒,再到第四代大約 5GB/秒,而現在第五代為我們帶來高到荒謬的約 13GB/秒 的速度!這種數量級的飛躍,需要你重新想想你的工作假設了。
我們正在探索將 Basecamp 的緩存和任務隊列從內存實現轉變為 NVMe 磁盤實現。現在兩者的延迟已經足夠接近了,所以容量充足且足夠快的 NVMe存儲更有優勢。我們剛買了一些 12TB 的第四代NVMe卡,使用最新的 E1/E3 NVMe接口規格,價格兩萬塊不到($2,390),這可是 12TB 啊!我們現在正在考慮單機櫃 PB級全閃存儲服務器的可能性,大概二十萬美元,這簡直太瘋狂啦!
有整整一代的應用開發者只知道雲,這使他們一葉障目,無法充分認知到硬件的直接進步速度。隨着越來越多的公司開始重新計算雲賬單,並把他們的應用從服務器租賃市場上撤回來,我認為我們將看到越來越多的開發者,重新關心起裸金屬服務器來。
舉個例子,我很喜歡這個粗略的草稿證明,它證明了 Twitter 可以在單台服務器上運行。你可能不會真的這樣做,但這里的數學計算非常有趣。我認為這確實提出了一種觀點,那就是我們最終可能會很容易地做到這一點:運行我們所有的高級服務,為數百萬用户服務,運行於單台服務器上(或爲了冗余考慮,還是三臺吧)。
我迫不及待地想要一臺配備 Gen 5 NVMe 的 AMD Zen4 機器。擁有 384 個 vCPU 和 13GB/秒帶寬的存儲,全跑在一臺雙CPU插槽的刀片服務器內。我已經等不及報名參加這個即將到來的未來了!
2023年1月10日:「企業級」替代品還要離譜
The only thing worse than cloud pricing is the enterprisey alternatives[13]
我們在過去幾個月一直在想,把 HEY 從雲中帶回家可能會涉及到 SUSE Rancher 和 Harvester。這些企業級軟件產品的組合跑在自有硬件上,卻會給我們提供類似於雲上的使用體驗,而且對現有 HEY 的打包和部署只需進行最小化的改造。但是,當我們需要幾次在線會議才能獲取關於定價的基本信息時,我們就應該覺察到有些不對勁了,然后看看別的,因為最后的報價完全就是個狗屎。
我們每年在雲上租用硬件和服務的開銷大約為 300 萬美元。擁有我們自己的硬件,運行開源軟件來替換,有一部分很重要的目的就是爲了砍低那個荒謬的賬單。但是我們從 SUSE 收到的報價竟然更為荒謬,200 萬美元,僅僅是許可和支持成本,僅僅是在我們自己的硬件上運行 Rancher 和 Harvester。
最初,我們其實認為這不會是一個問題。企業銷售以高出天際的標價而臭名昭著,然后打折回到實際價格以成交。當我們採購我們熱愛的戴爾服務器時,經常能得到 80% 的折扣!所以,配置出一個一萬美元的服務器並沒有揮霍的感覺——如果實際成交價只是2000美元。
如果這里的情況也類似,那麼這個兩百萬美元的合同將會是每年40萬美元。仍然太高,但是我們可以在這里那里削減一點,也許最后能得到我們可以接受的結果。但當我們開始討價還價施加壓力以獲得折扣時,答案是 3, 3%。好吧,服了,拉倒吧!
我並不是來告訴別人市場能承受什麼價格的。我聽説 SUSE 把這些套餐賣給軍隊和保險公司的生意還不錯,祝他們好運。
但是為什麼他媽的這幫人要在一個又一個的會議中對價格折扣守口如瓶,浪費我們的時間?
因為那就是企業銷售遊戲。討價還價,欺詐,玩弄。看看我們能逃脱多少狗屎的遊戲,讓那些在談判中搏鬥的西裝革履的人生活有意義。那就是贏得交易的含義 —— 阻撓欺騙另一方。
我受夠了。事實上,我極其厭惡它。
所以現在我把那種怨氣裝瓶搖兩下,然后大口悶下去以驅使我選擇另一條路:我們要建造自己的主題公園,有二十一點,以及……沒有那些該死的企業銷售人員。
2022年10月19日:我們為什麼要下雲?
Why we‘re leaving the cloud[14]
過去十多年間 Basecamp 這個業務一隻腳在雲上,而 HEY 自兩年前推出以來就一直獨佔雲端。我們在亞馬遜雲和谷歌雲上大展身手,我們在裸金屬與虛擬機上運行,我們在 Kubernetes 上飛馳。我們見識了雲上的花花世界,也都嘗試過大部分。終於是時候畫上句號了:對於像我們這樣穩定增長的中型公司來説,租用計算機(在絕大多數情況下)是比糟糕的交易。簡化複雜度帶來的節省並未變成現實。所以,我們正在制定下雲的計劃。
雲在生態位光譜的兩個極端上表現出色,而我們只對其中一個感興趣。第一個是當你的應用非常簡單,流量很低,使用完全託管的服務確實可以省卻很多複雜性。這是由 Heroku 開創的光輝之路,后來被 Render 和其他公司發揚光大。當你還沒有客户時,這仍然是一個絕佳的起點,即使你開始有一些客户了,它也能支撐你走得很遠。(然后隨着使用量增加,而賬單蹭蹭往上漲突破天際時,你會面臨一個大難題,但這是合理的利弊權衡。)
第二個是當你的負載高度不規則時。當你的使用量波動劇烈或者就是高聳的尖峰,基線只是你最大需求的一小部分;或者當你不確定是否需要十臺服務器還是一百台。當這種情況發生時,沒有什麼比雲更合適的了,就像我們在推出 HEY 時遇到的情況:突然有 30 萬用户在三周內註冊嘗試我們的服務,而不是我們預計的六個月內 3 萬用户。
但是,這兩種情況現在對我們都不適用了。對 Basecamp 來説則是從來沒有過。繼續在雲上運營的代價是,我們為可能發生的情況支付了近乎荒謬的溢價。這就像你為地震保險支付四分之一的房產價值,而你根本不住在斷層線附近一樣。是的,如果兩個州之外的地震讓地面裂開,導致你的地基開裂,你可能會很高興自己買了保險,但這里的比例感很不對勁,對吧?
以 HEY 為例。我們在數據庫(RDS)和搜索(ES)服務上,每年要支付給 AWS 超過50萬美元的費用。是的,當你為成千上萬的客户處理電子郵件時,確實有大量的數據需要分析和存儲,但這仍然讓我感到有些荒謬。你知道每年 50 萬美元能買多少性能怪獸一般的服務器嗎?
現在的論調都是這樣:沒錯,但你必須管理這些機器!而云要簡單得太多啦!節省下來的都是人工成本!然而,事實並非如此。任何認為在雲中運行像 HEY 或 Basecamp 這樣的大型服務是「簡單」的人,顯然從未自己動手試過。有些事情更簡單了,而其他事情更復雜了,但總的來説,我還沒有聽説過我們這個規模的組織因為轉向雲而能夠大幅縮減運維團隊的。
不過,這確實是一個絕妙的營銷妙招。用類比來推銷,比如 「你不會自己開發電廠,對吧?」 或者 「基礎設施服務真的是你的核心能力嗎?」 ,然后再刷上層層脂粉,雲的光芒如此閃耀,以至於只有愚昧的路德分子(強烈抵制技術革新的人)纔會在它的陰影下運維自己的服務器。
與此同時,亞馬遜以高額利潤出租服務器來大發橫財。儘管在未來的產能和新服務上進行了巨大的投資,AWS 的利潤率還能高達 30%(622億美元營收,185億美元的利潤)。這個利潤率肯定還會飆升,因為該公司表示,「計劃將服務器的使用壽命從四年延長到五年,將網絡設備的使用壽命從五年延長到將來的六年」。
很好!從別人那里租用計算機當然是很昂貴的。但它從來沒有以這種方式呈現——雲被描述為按需計算,聽起來很前衞很酷,而絕非像「租用電腦」這樣平淡無奇的東西,儘管它基本上就是這麼回事。
但這不僅僅關乎成本,也關乎我們希望在未來運營一個什麼樣的互聯網。這個去中心化的世界奇蹟現在主要是在少數幾個大公司擁有的計算機上運行,這讓我感到非常悲哀。如果 AWS 的主要區域之一出現故障,看似一半的互聯網都會隨之下線。這可不是 DARPA 的設計初衷啊!
因此,我認為我們在 37signals 有責任逆流而上。我們的商業模式非常適合擁有自己的硬件,並在多年內進行折舊。增長軌跡大多是可預測的。我們有專業的人才,他們完全可以將他們的才華用於維護我們自己的機器,而不是屬於亞馬遜或谷歌的機器。而且,我認為還有很多其他公司處於與我們類似的境地。
但在我們勇敢揚帆起航,回到低成本和去中心化的海岸之前,我們需要轉舵以扭轉公共議題的風向,遠離雲服務營銷的胡言亂語——比如營運你自己的發電廠這類屁話。
直到最近,人們自建服務器所需的工具已經有了巨大的進展,讓雲成為可能的大部分工具也可以用在你自己的服務器上。不要相信根深蒂固的雲上既得利益集團的鬼話 —— 自建運維過於複雜。當年的先輩,開局一條狗,平地起高樓搞起了整個互聯網,而現在這件事已經容易太多了。
是時候讓撥雲見日,讓互聯網再次閃耀人間了。
References:
[1]X celebrates 60% savings from cloud exit: https://world.hey.com/dhh/x-celebrates-60-savings-from-cloud-exit-7cc26895
[2]The price of managed cloud services: https://world.hey.com/dhh/the-price-of-managed-cloud-services-4f33d67e
[3]Our cloud exit has already yielded $1m/year in savings: https://world.hey.com/dhh/our-cloud-exit-has-already-yielded-1m-year-in-savings-db358dea
[4]We have left the cloud: https://world.hey.com/dhh/we-have-left-the-cloud-251760fb
[5]Sovereign clouds: https://world.hey.com/dhh/sovereign-clouds-661eb5e4
[6]Cloud exit pays off in performance too: https://world.hey.com/dhh/cloud-exit-pays-off-in-performance-too-4c53b697
[7]The hardware we need for our cloud exit has arrived: https://world.hey.com/dhh/the-hardware-we-need-for-our-cloud-exit-has-arrived-99d66966
[8]Cut cloud before payroll: https://world.hey.com/dhh/cut-cloud-before-payroll-a4530ebd
[9]It‘s not just cloud costs that are out of control: https://world.hey.com/dhh/it-s-not-just-cloud-costs-that-are-out-of-control-efcd098c
[10]Five values guiding our cloud exit: https://world.hey.com/dhh/five-values-guiding-our-cloud-exit-638add47
[11]We stand to save $7m over five years from our cloud exit: https://world.hey.com/dhh/we-stand-to-save-7m-over-five-years-from-our-cloud-exit-53996caa
[12]Hardware is fun again: https://world.hey.com/dhh/hardware-is-fun-again-b819d0b4
[13]The only thing worse than cloud pricing is the enterprisey alternatives: https://world.hey.com/dhh/the-only-thing-worse-than-cloud-pricing-is-the-enterprisey-alternatives-854e98f3
[14]Why we‘re leaving the cloud: https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0
本文來自微信公眾號:非法加馮(ID:addvon),作者:David Heinemeier Hansson(網名 DHH,37 Signal 聯創與CTO,Ruby on Rails 作者,下雲倡導者、實踐者、領跑者,反擊科技巨頭壟斷的先鋒),譯者:馮若航(網名 Vonng。磐吉雲數創始人,PostgreSQL 專家與佈道師,RDS 下雲實踐者。開源 RDS PG 替代——Pigsty 作者,著有《用數據解構公有云——雲計算泥石流系列》)
責任編輯:李桐