在使用 CDN 前,先考慮上 SPDY 或 HTTP/2 (i.e. 全站 HTTPS),改善的效果跟 CDN latency 帶來的效益有得拼。尤其是 server 放在美國機房的情況,SPDY 與 HTTP/2 帶來的效能提昇是相當明顯的。
會寫這篇是因為這兩個禮拜意外被問到好幾次,所以來整理幾家如果讓我來選,我會選擇的 CDN。至少再被問到的時候可以直接從這邊開始說明。
下面的圖是從我家裡 HiNet 光世代測試的結果 (最後是走兩條電話線),所以會有個 10ms 的 latency 基底,如果要計算 latency 的效能影響請考慮進去。
Akamai
先講 Akamai。
Akamai 的歷史很久了,再加上併購了不少公司,所以產品成熟度很夠,你要什麼產品都有提供,只要拿的出錢就可以。
KKBOX (敝公司) 用過 PMD、DSD、DSA 三個產品,其中 PMD 與 DSD 只有保障服務可靠度 (availability),DSA 還有保障效能提昇 (performance)。早期是用 PMD + DSD,現在改用 PMD + DSA。
在功能面上,雖然 Akamai 是大公司,但各種新功能跟的蠻快的。主要就是為了 SPDY 以及之後預期會有的 HTTP/2 而選了 DSA,另外也剛好有效能提昇 SLA 需求而一併升級。
品質上來說,Akamai 在全球的點 (PoP) 夠密集 (差不多是有 ISP 機房就會放),當初會選擇 Akamai 是為了敝公司在泰國與馬來西亞兩個地區的用戶,而 PMD 在這兩個地區的品質都還不錯。
在台灣也有好幾個點,但除非你買的產品線等級夠高 (i.e. 合約有保證 performance,像是 DSA),不然平常不會分到台灣的點,以最近的情況來說是深夜才有機會指回台灣。
這是 Akamai DSD 的圖:
而這是 DSA 的圖:
可以看得出來 latency 的差異。
在 SLA 的部份,是目前少數有提供保證 100% availability SLA 的 CDN。
成本考量上,價錢是最硬的,但由於 CDN 這個領域競爭得很激烈,只要超過某一個 commit level 後有機會壓到跟 CloudFront 拼的價錢,也就是說,有經濟規模就有機會在台灣變成重點客戶而坐下來談價錢 (不確定多少,但 CloudFront 的第一個級距 10TB/month 應該是基本吧)。
另一方面,因為透過業務談價錢,會需要開會討論,所以對使用方的人力成本偏高。不過因為如此,台灣有 Akamai 辦公室與經銷商,稅務會比較好處理。(參考:「零壹科技正式代理Akamai 推展雲端優化服務解決方案」)
總結來說,適合已經有量,而且台灣是重要客群的公司。
EdgeCast
再來講 EdgeCast。
EdgeCast 的功能比 Akamai 少很多,自從被 Verizon 買進去後就沒推出什麼比較有趣的產品了 (參考「Verizon 打算買下 EdgeCast...」),感覺上是電信公司買來補產品線的啦,所以也不用太期待之後會有什麼新產品推出來...
比較特別的是 EdgeCast 跟 HiNet 有合作 (參考「EdgeCast 與 HiNet 合作...」),所以也是少數在台灣有機房的 CDN 業者。在台灣的 PoP 據說是在高雄 HiNet 機房內:
另外 EdgeCast 有 Network Map 可以看在全球有哪些 PoP。
價錢上聽朋友說比 Akamai 低了不少,不過自己沒經手過無法確認。同樣是透過業務談,所以也有類似的人力與稅務優缺點。不過據說也可以直接 bypass 國內的業務,直接跟國外談,不過這樣搞境外稅務的問題就要自己解決了。
綜合來說,也是適合已經有量,由於沒有 SPDY 與 HTTP/2,就看 PoP 的點決定合不合用。
CloudFront
Amazon CloudFront 算是很多 startup 的第一嘗試,no commit 以及帳單在同一張可以省下不少功夫。
在 CloudFront 上分成三個不同等級的產品,通常下載用可以拿 Price Class 100 (只有北美與歐洲的 PoP),而真正要加速用的再拿 Price Class All 用。
而功能面上,CloudFront 的功能說不定還比 EdgeCast 多,不過還是沒支援 SPDY 或 HTTP/2,所以基本上是靠台灣的 PoP 在撐 latency 的。而台灣的 PoP 據說在內湖:
價錢在官網上就擺出來給大家看了,比較大的缺點是不同區域是分開算錢的,不過是可以找台灣的經銷商談 commit level 包價錢啦,不過價錢還是很難談。
綜合來說,適合 startup 用。
CloudFlare
CloudFlare 也是很多人問的一個選擇,不看流量價錢固定是賣點之一。
功能非常多,SSL certificate 涵蓋在所有產品內,另外也是目前少數支援 SPDY 的 CDN。技術上是走 Anycast 而非 GeoDNS dispatch。
HiNet 過去的品質爛到爆炸 (重點在於會 packet loss),也常常是被 DDoS 的目標。台灣其他的 ISP 過去大多都是到日本機房,但 HiNet 會到香港機房,而 HiNet 的這條線路相當壅塞:
主要還是靠 SPDY 的能耐硬是把效能撐到「堪用」的程度,而 CloudFlare 遇到 DDoS 時就慘了。
價錢也是公開的,但以商用水準的品質來說,已經低到及格線以下了...
綜合來說,自己玩玩的東西還可以啦,任何商業性質的網站都不應該單獨用 (與其他 CDN 服務動態偵測服務搭配著用還加減可以用用)。所以目前看到用最多的服務就是內容農場 (Content Farm) 在用,為了節省頻寬與伺服器的負荷,不太在意品質。
補充
最後補充在台灣有機房的 CDN 業者:(按照字母排,可能有漏)
- Akamai
- Amazon CloudFront
- Azure
- CDNetworks
- EdgeCast
Verizon有找過我, EdgeCast報價的確敢比Akamai低
CloudFlare品質其實很好
是中華電信到CloudFlare的線路太渣
商用要看情況,面對台灣用戶的話CloudFlare商用確實不合適
但對於全球來說CloudFlare非常適合,現在已經有45個節點了
另外對於DDos來說,CloudFlare對於商業版用戶有一定的抗攻擊能力
200美金的版本才有,另外幾家則抗DDos的能力也有限
主要都是跟價錢成正比(免費跟商業版不能相提並論喔!)
另外台灣還有AzureCDN(使用EdgeCast節點,價格最低)、CDN.net(價格稍高)、CDNSun(價格略高於AmazonCDN)
Akamai品質別聽他們胡扯
FB現在在台灣LAG這麼嚴重
Apple.com斷線104分鐘
這不是意外,如果品質再不快改善,他們將會砸爛自己多年經營的招牌
業配文,不足採信。基本上不敢公開報價的都最好敬而遠之。什麼個鳥公司跟微軟、亞馬遜、騰訊、阿里巴巴比嗎?