Friday, November 19, 2010

CDN

很久沒寫這個 blog 了,來清理一下以免草長太長 XD

這兩年實際用過不少家 CDN 了,包括一開始的 Panther Express (後來被 CDNetworks 併購),後來也跟 EdgeCast 租用,接下來是 AWS CloudFront 的出現,再來是跟 Akamai 租用。

其實很多單位都只是把 CDN 當作是一種 cache server 的服務,目的只是減少維護的成本,以及提高穩定性。一堆 CDN 業者吹捧的那些功能其實都只是附加的,甚至連 CDN 最重要的 latency issue,大多數的客戶根本不在乎。

既然只是當作 HA cache server,這項技術其實不難,用兩台 HAProxy 當作 Load balancer (約 NTD$0.1M) 加上兩台 Squid2 (約 NTD$0.5M),以這幾年的 CPU 與 RAM 在 NTD$0.6M 內就可以打死。實際流量大約可以跑出 300Mbps+。

如果改用 Lusca (就 Squid2 的設定檔稍做修改就可以跑,或是參考網路上很多 Squid 的文件,門檻比較低),大約可以跑到 600Mbps+。如果可以用 Traffic Server,那麼幾乎就是壓榨出硬體極限 (就目前看起來跑 1Gbps+ 應該沒問題)。

如過遇到大量的量衝進來時,反而會因為 cache 集中性高,幾乎都是 memory hit 而不太會影響效能。

在這麼低的一次性資本支出成本下,國內的客戶在找 CDN 談的時候幾乎都是當作頻寬費用在談。事實上也的確應該當作頻寬費用在談就好,不需要被 sales 催眠以為那些進階功能很好用。

國內目前有經銷商的有 Akamai 與 EdgeCast。我建議在台灣都不要跟這兩家經銷商談。

Akamai 是由併力科技代理,不跟他們談的原因有兩個:

  1. Akamai 的優點在於他的密度,這是要在自己網站把所有最佳化都做到底以後才看的出來比其他 CDN 好。國內的網站都沒有能力做到這點。
  2. Akamai 的台灣是唯一經銷商,而這家經銷商的態度很強勢。就每次開會與解決問題的觀感並不好。

EdgeCast 在台灣則是怡德。我們當初跟 EdgeCast 接觸的時候是直接跟國外原廠接觸。怡德是後來代理的公司,這家公司在代理之前跟網路內容產業根本沒關係,代理後也有跑來找我們談,我的建議是「能直接跟 EdgeCast 原廠聯絡就直接聯絡」。

有機會再看看還能聊什麼...