高達(dá)320萬美元一年的云計(jì)算費(fèi)用,這家公司選擇“下云”后,CTO 粗略算了一下,每年至少能節(jié)省一百五十萬美元。即使預(yù)留 50 萬美元用于意外開支,5 年也能節(jié)省 700 萬美元的費(fèi)用。
(資料圖片僅供參考)
整理 | 夢依丹
出品 | CSDN(ID:CSDNnews)
近日,37Signals聯(lián)合創(chuàng)始人&CTO David Heinemeier Hansson (下文簡稱 David,其還是 Ruby on Rails 框架創(chuàng)始人)興奮地表示:本以為“下云”會像進(jìn)入云端那樣,需要花費(fèi)多年時間,沒想到在經(jīng)歷六個月的努力后,最后一個應(yīng)用已成功遷回到本地硬件之上。
對此,也有不少人咨詢 David 是如何做到的?有人直言,除了錢之外,在發(fā)生自然災(zāi)害時,如何保證可用性?并且是否意味著數(shù)據(jù)中心需要遍布世界各地,或者依然在云上維護(hù)關(guān)鍵備份。
截圖自Twitter
為什么要“下云”
2022 年 10 月 19 日,David 宣布 37Signals 旗下兩個主要產(chǎn)品 Basecamp 和 HEY 正式“下云”。Basecamp 是非常火的一款 Web 端項(xiàng)目管理和團(tuán)隊(duì)協(xié)作平臺,用戶群來自五大洲 166 個國家的大大小小的企業(yè),超75,000個組織在使用,已在云上運(yùn)行十多年。而全功能電子郵件服務(wù) HEY 自 3 年前推出,就一直跑在云端。
在決定“下云”之前,他們廣泛地使用了 Amazon 和 Google 的云服務(wù),并且在裸機(jī)虛擬機(jī),Kubernetes 容器上做過嘗試,也體驗(yàn)了云計(jì)算所提供的一些服務(wù)。但在諸多嘗試之后,他們得出結(jié)論,對于像他們這樣具有穩(wěn)定增長的中型企業(yè)來說,租用計(jì)算機(jī)在大多數(shù)情況下是一個不劃算的選擇。運(yùn)營商所承諾的通過降低復(fù)雜性,減少運(yùn)營支出之類的費(fèi)用節(jié)省也從未實(shí)現(xiàn)。
37Signals 已經(jīng)經(jīng)營了 20 多年,這是一家中型企業(yè),擁有約 80 多名員工和 10 人左右的運(yùn)營團(tuán)隊(duì),以及超過十萬的客戶。很多情況下,他們都會有一個可預(yù)測的基礎(chǔ)負(fù)載,并不會有劇烈的波動。與此同時,公司內(nèi)部在運(yùn)行服務(wù)器方面具備相當(dāng)多的能力和經(jīng)驗(yàn)。他們用戶量最大的應(yīng)用程序 Basecamp 只有搜索 (OpenSearch)、文件存儲 (S3) 和 CDN 服務(wù) (CloudFront) 是放在云端,其它絕大部分包括Basecamp 2 幾乎完全跑在自己的服務(wù)器上,包括應(yīng)用程序、數(shù)據(jù)庫和緩存服務(wù)器。
因此,團(tuán)隊(duì)成員對本地部署和云上都比較熟悉,能夠客觀地看待在哪些場景下,使用何種部署。所以他們才著手制定了離開計(jì)劃。
6 個月遷移成功
本次遷移最大的挑戰(zhàn)是 HEY 應(yīng)用程序,這是完全基于云端并從未在自己硬件上運(yùn)行過的全功能電子郵件服務(wù)。HEY 使用的 AWS 云服務(wù)包括通過 EKS 在 Kubernetes 集群上運(yùn)行完整的 Rails 應(yīng)用程序、使用 Aurora RDS 在 MySQL 數(shù)據(jù)庫服務(wù)器上運(yùn)行、通過 Elasticache 在 Redis 上運(yùn)行以及通過 OpenSearch 進(jìn)行搜索。此外,還有一些其它的舊版應(yīng)用程序也在 EKS 上運(yùn)行,并使用 RDS 作為數(shù)據(jù)庫。
為此,團(tuán)隊(duì)采用分階段遷移法,在幾周內(nèi)獨(dú)立地移動不同數(shù)據(jù)庫、緩存服務(wù)器、郵件服務(wù)和應(yīng)用實(shí)例,最終成功地完成了此次遷移。
在過去的六個月中,他們還將六項(xiàng)遺產(chǎn)服務(wù)帶回了本地。這些服務(wù)已不再對外銷售,但只對現(xiàn)有客戶和用戶提供支持,直至互聯(lián)網(wǎng)終結(jié)的六項(xiàng)產(chǎn)品,它們分別是:Basecamp Classic、Highrise、Writeboard、Campfire、Backpack 和 Ta-da 列表都已經(jīng)超過十年歷史了,但仍然為數(shù)以萬計(jì)的人提供服務(wù),并創(chuàng)造了數(shù)百萬美元的收入。
接下來,Basecamp團(tuán)隊(duì)將花費(fèi)更少的資金來運(yùn)營它們。因?yàn)樵O(shè)備的更新?lián)Q代,還給客戶帶來更快更好的用戶體驗(yàn)。
后邊,David 團(tuán)隊(duì)成員會使用一些開源技術(shù)堆棧來管理這些應(yīng)用程序:
KVM 將新型 192 線程 Dell R7625s 切片成隔離虛擬機(jī);
Docker 運(yùn)行容器化應(yīng)用程序;
MRSK 使用 Manage Remote Server Kontainers 進(jìn)行零停機(jī)時間應(yīng)用部署和回滾操作,這些設(shè)置避免了 Kubernetes 的復(fù)雜性,并避免了企業(yè)服務(wù)上的合同糾葛。
在整個遷移過程中,運(yùn)營團(tuán)隊(duì)規(guī)模并沒發(fā)生改變,在云端運(yùn)行的應(yīng)用程序并沒有提供承諾中所述的生產(chǎn)力增益來縮小團(tuán)隊(duì)規(guī)模。
他們從 Dell 購買了新硬件,并直接將其運(yùn)送到兩個數(shù)據(jù)中心,請 Deft 公司專業(yè)人員安裝機(jī)架,然后看到新 IP 地址在線上出現(xiàn)后就可以立即使用 KVM/Docker/MRSK 進(jìn)行工作。
主要區(qū)別在于需要新服務(wù)器和看到它們在線上之間存在的延遲時間。雖然在云端可以幾分鐘就啟動 100 臺強(qiáng)大的計(jì)算機(jī),但也必須付出高昂的成本來享受此特權(quán)。而他們并沒有哪些業(yè)務(wù)需要享受這種云上高級服務(wù),因此他們所節(jié)省下來的費(fèi)用完全可以承受極度超額配置的服務(wù)器需求,即使需要更多的時候,也只需要幾周即可搞定。
DHH 列舉了他們采購硬件的花費(fèi)及相關(guān)配置:花費(fèi)約 50 萬美元從 Dell 購買了兩批服務(wù)器,并將其組合為 4,000 個虛擬 CPU、7,680 GB 的 RAM 和 384TB 的 NVMe 存儲容量。
上面的服務(wù)器配置完全可以運(yùn)行他們的遺產(chǎn)服務(wù)和 HEY 應(yīng)用程序,并刷新其他 Basecamp 操作所需的硬件。而且,這還不到每年節(jié)省成本的三分之一,還是他們在五年內(nèi)所攤銷的硬件。
年費(fèi)高達(dá) 320 萬美元的云成本
在 David宣布“下云”操作后,不少公司來咨詢 David 當(dāng)前的賬單情況以及節(jié)省的成本是否可以支撐“下云”這個決定。
為此,David 在博客上公布了他們在云上的具體支出。
2022 年,他們在所有云服務(wù)上總共花費(fèi)了 3,201,564 美元。相當(dāng)于每月266,797 美元。
對于 HEY 應(yīng)用來說,生產(chǎn)工作負(fù)載的年度費(fèi)用為 1,066,150 美元(88,846 美元/月)。該服務(wù)分為以下幾個大部分:
就單服務(wù)而言,他們在 2022 年為所有應(yīng)用程序數(shù)據(jù)庫的 RDS 花費(fèi)了 473,196 美元(每月39,433美元)。這些費(fèi)用里面不包括 Basecamp 和Basecamp 2。因此,其中大部分是花在 HEY 應(yīng)用上的,該服務(wù)占據(jù)了全年總額的 355,950 美元(或每月 29,662 美元),其余則用于其他舊版服務(wù)。
用來托管應(yīng)用程序搜索集群和索引存儲日志管道的 OpenSearch,在 2022 年花費(fèi)了 519,959 美元(每月43,330美元)。這是 Basecamp 和 Basecamp 2 使用的云服務(wù)之一,大筆開支分別分布在 HEY 和 Basecamp Classic 上。
2022 年在亞馬遜Kubernetes服務(wù)EC2 和 EKS總共花費(fèi)了 759,983 美元(每月 63,331 美元)。其中絕大部分用于 HEY 的生產(chǎn)和暫存環(huán)境,總計(jì) 272,359 美元(每月 22,696 美元),其余用于其他遺留應(yīng)用程序。值得注意的是,這些支出都與當(dāng)前的 Basecamp 或 Basecamp 2 無關(guān)。
對于 Elasticache 部分,2022 年花費(fèi)了 123,852 美元(每月 10,321 美元)。其中最大部分再次由 HEY 所占據(jù),通過使用該服務(wù)來獲取基于 Redis 的緩存。
最后,在 S3 存儲的 8 PB 文件上花費(fèi)了 907,838 美元(每月 75,653 美元)的費(fèi)用。值得一提的是,這個設(shè)置采用了雙區(qū)域復(fù)制策略,目的是可以抵御整個 AWS 區(qū)域消失的風(fēng)險,包括所有可用區(qū)。為了服務(wù)這些文件和其他靜態(tài)資源,他們在 2022 年還花費(fèi)了 66,742 美元(每月 5,562 美元)購買 CloudFront CDN 服務(wù)。
這就是他們 2022 年在云上所花費(fèi)的巨額支出。David 表示,等到一年結(jié)束時,他還會繼續(xù)對比云上和建立本地物理數(shù)據(jù)中心的費(fèi)用對比,從而看看“下云”方案所節(jié)省下的成本。
那么,“云”還能上嗎?
David 還表示,云計(jì)算只在兩種情況下會比較出色,一是當(dāng)您的應(yīng)用程序非常簡單且流量較低時,通過使用完全托管的服務(wù)確實(shí)可以降低復(fù)雜性。Heroku 就是這樣起步的,并且 Render 等公司驗(yàn)證了可行性。當(dāng)你還沒有客戶時,或者開始有一些客戶時,云服務(wù)托管可以算是一個絕佳的選擇。
第二種情況是當(dāng)負(fù)載非常不規(guī)則或者較大時。當(dāng)您的使用量出現(xiàn)劇烈波動或高峰時,基線只占最大需求的一小部分,或者您不知道需要十臺服務(wù)器還是一百臺服務(wù)器時。在這種情況下,沒有什么比上云更好的選擇了。提到這里,David 以 HEY 為例,團(tuán)隊(duì)起初計(jì)劃是 6 個月內(nèi)有 3 萬名用戶,而實(shí)際卻在 3 周內(nèi)涌進(jìn)了 30 萬名體驗(yàn)用戶。HEY 從一出生就運(yùn)行在云端,所以才避免了流量劇烈波動所帶來的的不良體驗(yàn)。
David 認(rèn)為,云對于那些處于生命周期早期、支出微不足道或者存在 24 個月內(nèi)可能無法繼續(xù)經(jīng)營的公司來說是有用的。但要當(dāng)心,不要把那些慷慨的云服務(wù)贈品看成禮物,這是一個陷阱。如果你過多地依賴他們專有的托管服務(wù)或無服務(wù)器方案,一旦賬單開始飆升,你會發(fā)現(xiàn)很難逃脫。
對于一個企業(yè)來說,每筆費(fèi)用的支出都很重要。David 提醒大家:“可以考慮一下你是否擁有一個真正受益于不斷擴(kuò)大和縮小容量的服務(wù),然后認(rèn)真評估自己的云計(jì)算退出可能會是什么樣子。我們在六個月內(nèi)從云上取出了七個應(yīng)用程序,你也可以做到這一點(diǎn)。工具都在那里,而且是免費(fèi)的。所以不要只因?yàn)槌醋鞫粼谠贫恕!?/p>
參考鏈接:
https://basecamp.com/
https://world.hey.com/dhh/we-have-left-the-cloud-251760fb
https://37signals.com/podcast/leaving-the-cloud/
https://dev.37signals.com/our-cloud-spend-in-2022/
推薦閱讀:
?李彥宏:文心大模型 3.5 版本推理速度提升 17 倍;ChatGPT 訪問量增速大降;Linux 6.4 發(fā)布|極客頭條
?投奔 OpenAI 后,BERT 之父 Jacob Devlin 重返 Bard 項(xiàng)目!
?AI模型“大即好”的觀點(diǎn)已經(jīng)走不通了
關(guān)鍵詞: