為新站點提供大約 300-500 GB 靜態數據的經濟高效方法?
我正在建構一個網站,該網站需要從一開始就提供大約 300-500 GB 的靜態數據,每月增加大約 5-10 GB。這些文件主要是照片。
我所有的潛在使用者都將位於加拿大,其中大約 95% 位於一個城市(多倫多)。
我有很多選擇,但我不知道哪個最適合我的情況。
首先,我認為我不需要使用 CDN,因為我的大多數使用者都在多倫多。我只需要在多倫多/附近找到一個數據庫提供商。
一開始我想在 VPS 上託管我的網站,因為它很容易設置,並且在容納我的初始使用者時應該沒有問題。
問題是我應該在哪里托管 500 GB 的靜態文件。我應該在 VPS 上將它們與我的網站一起託管嗎?還是應該將它們託管在 BackBlaze B2 或 Amazon S3 等雲平台上?儘管我想將網站本身託管在 SSD 上,但 HDD 對於我的靜態文件來說已經足夠了。
我估計每個使用者每次訪問將獲得大約 10 MB 的數據。假設我每天有大約 5000 名訪問者,我應該能夠每天提供 50GB 的數據,而性能沒有明顯下降。使用者將大部分時間都花在地圖上(我使用的是 Google Maps JavaScript API),因此它會通過連續的 ajax 呼叫保持高度動態。
只要網站大部分時間都在執行,我不太擔心在一開始就獲得完美的可用性。
我不打算計算成本,因為您可以使用公共定價輕鬆地自己計算出來。一般來說,大量文件的 VPS 託管成本最高,其次是 AWS,其次是 B2。
如果您想要高可用性,您將需要兩台伺服器和一個負載平衡器。這在 AWS、Azure 和 Google 中相當容易,一些較小的提供商也可以做到這一點。
AWS S3
AWS S3 非常棒,並且內置了冗餘 - 從記憶體中儲存您的數據並可能從三個數據中心提供服務。不經常訪問的類儲存可以減少費用,並且適用於小容量文件託管。在您每月 1.5TB 的情況下,每月的費用約為 30 美元。良好的系統,可靠,易於添加CDN。AWS 在加拿大有一個區域。
AWS LightSail / VPS
AWS Lightsail VPS 有很多相當便宜的頻寬,至少對 AWS 來說是這樣。Digital Ocean 和其他體面的 VPS 提供商類似。您應該考慮在您的 VPS 上擁有足夠的儲存空間。這裡的缺點是 SSD 儲存可能會非常昂貴,而且您沒有冗餘 - 但如果您從單個 VPS 執行,無論如何您都會遇到單點故障。
BackBlaze B2
B2 是便宜的儲存,但更昂貴的頻寬。我認為他們只有一個數據中心,所以那裡的冗餘較少。它們將在美國的某個地方,因此延遲和頻寬應該相當不錯,但不如 AWS。另一個單點故障。
內容分發網路
如果您使用 VPS,那麼您應該考慮使用 CDN。如果設置正確,CDN 可以顯著降低您的頻寬成本。
CloudFlare 免費套餐非常棒,您可以為更好的服務和更多功能付費。除了比您的伺服器更快地為使用者提供服務外,它還將更快地為遠端使用者提供服務。Google也喜歡快速的網站,他們的爬蟲可以從任何地方連接。
推薦
您的首要任務似乎是性能、價格和合理的可用性。AWS S3 IA 類可能是一個很好的權衡,但如果你能忍受它稍微慢一點,你可以試試 B2。
您可以將 CloudFlare 的免費(或付費)服務放在 Amazon S3 前面。說明在這裡。