即便已經2024年,企業還是會糾結要不要「上雲」這件事,2022年,Ruby on Rails 之父 David Heinemeier Hansson(DHH)宣布他的公司將結束與 AWS 及 Google 雲端的多年服務,在越來越多企業及使用者選擇把資料放上雲端的時代,DHH的大動作引起當時廣泛的熱議,「上雲不上雲」並非是非題,而是一種選擇,也有公司把服務「全上雲」,像是影音串流平台 Netflix就是一家「全上雲」的大型企業。
今天 Ruby 大叔來跟大家聊聊「上不上雲」這個老問題。
很多人愛用雲端,因為它提供了前所未有的自由度與透過程式自動化操作的便利性,使用者不必自己處理硬體相關事務,系統也由雲端團隊管理,且大多數情況下大家都能輕鬆存取資料,享受自動化和受託服務,目前常見的雲端服務包含 PaaS(平台即服務)或 IaaS(基礎設施服務)。PaaS 提供開發人員開發應用程式所需的一切資源,而無需煩惱更新作業系統和開發工具,也不必維護硬體。IaaS 則是雲端運算服務模式,是可彈性擴充的雲端平台,用於開發、部署、執行等管理應用(像是AWS)。
但是雲端的「便利性」也不是沒有代價的,雲端服務的策略是在使用者還沒投入大量資金時就讓他們「依賴」服務,這樣當業務擴大時,「搬家」到其他服務或自行管理就會帶來額外成本(這也是很容易被大家忽略的地方啊)。雖然像是 AWS 這種服務可能減輕 80% 的工作負擔,但如選擇自己管理,就會增加人工的成本。
對非專業人士或沒相關概念的人來說,雲端服務的複雜性及技術要求,可能會讓人眼花撩亂,很多時候多數使用者會以雲端服務的「基本初始設定」(或建議設定)為主,忽略細節管理,或因為不知道怎麼做細節管理而放棄,結果發現自己支付了不必要的額外費用,之前曾經聽過一個案例,一個新創的Podcast 平台,以為「儲存音檔」不必使用太多空間,但當服務使用量或頻寬突然增加時,卻收到了意料之外的高額帳單。
不過我寫這篇文章的用意,並非建議大家別上雲,其實還是要看使用者的服務跟策略而定,不想使用雲端服務的人,自然也可以自建或租用固定機房,至於預算,除非有特殊情況,否則使用自建、租用可能會比雲端划算(長期考量之下),但我認為比預算更重要的是找「專業人士」,很多時候我們認為「自己也可以做」,或「這些事情不需要到專業層級」,我本身對某些事情也會這樣,但如果會涉及到費用,建議大家還是要好好評估。