今年三月的時候 Limelight Networks 買了 Edgecast,改名為 Edgio

查資料的時候才發現的新聞,Limelight Networks 買下 Edgecast,改名為 Edgio:「Limelight to Acquire Yahoo’s Edgecast, Creating Global Leader in Edge Enabled Software Solutions」,然後 NASDAQ 代碼從 LLNW 改成 EGIO

不過本來 Edgecast 本來在台灣是有點的 (跟 HiNet 合作),現在看起來在 network map 上面沒出現了:

不過直接抓 www.edgecast.com 還是可以看到是中華的機房:

  2.|-- 168-95-170-94.hinet-ip.hi  0.0%    10    2.0   3.0   1.5  11.4   3.0
  3.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
  4.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
  5.|-- 220-128-24-53.hinet-ip.hi  0.0%    10    7.0   6.8   6.4   7.7   0.4
  6.|-- 211-20-238-81.hinet-ip.hi  0.0%    10    6.1   6.9   6.1   9.7   1.0
  7.|-- 152.195.35.156             0.0%    10    7.1   6.7   6.3   7.4   0.4

edg.io 看起來是丟去新加坡:

  2.|-- SNUH-3302.hinet.net        0.0%    10    1.8   2.6   1.2  11.4   3.1
  3.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
  4.|-- pcpd-4101.hinet.net        0.0%    10    1.8   2.2   1.8   3.0   0.4
  5.|-- pcpd-4001.hinet.net        0.0%    10    2.2   2.6   2.1   3.3   0.4
  6.|-- ix-ae-17-0.tcore1.svw-sin  0.0%    10   48.6  50.7  48.6  61.7   4.0
  7.|-- if-be-45-2.ecore2.esin4-s 60.0%    10   49.1  48.7  48.1  49.1   0.4
  8.|-- if-be-10-2.ecore2.svq-sin  0.0%    10   52.3  50.7  49.3  55.1   1.8
  9.|-- 117.121.251.241            0.0%    10   49.7  50.1  49.5  50.6   0.4
 10.|-- 208.69.180.13              0.0%    10   49.6  49.9  49.0  51.8   0.8

再找機會研究看看...

EdgeCast 總算記得要推出 HTTP/2 了...

每次看到 EdgeCast 的業務都會抱怨一下,總算正式公佈了...

EdgeCast 的 HTTP/2 預定在 2017/03/31 全面上線:「HTTP/2 Coming Soon to Our Customers with SSL Certificates!」。

由於是逐步上線,有些網站會在 3/31 前就生效 (像是 EdgeCast 的官網):

The rollout of HTTP/2 will be gradual, and you may start to see some of your content being delivered over HTTP/2 before March 31.

Akamai 與 Microsoft Azure CDN 合作的方案進入 GA (General Availability)

先是在 Akamai 的網站上看到說明:「Microsoft Azure CDN from Akamai Enters General Availability」,另外裡面有提到 Microsoft 的公告:「Microsoft announces general availability of Azure CDN from Akamai」。

所以 Microsoft Azure 現在提供三個不同的 CDN 方案:

  • Azure CDN Standard from Verizon
  • Azure CDN Standard from Akamai
  • Azure CDN Premium from Verizon

其中 Standard 方案的價錢都相同,而 Verizon 的 Premium 方案大約是兩倍價錢,沒猜錯的話應該是 Verizon ACCELERATE?以前 EdgeCast 的 ADN 產品線?

Adobe 的 Typekit 推廣 HTTPS only

AdobeTypekit 宣佈之後的 embed code 預設就會是 HTTPS only:「Font loading update: All HTTPS, all the time」。

主要的原因是出自於最近發現的安全問題,攻擊者可以藉由字型處理的 security issue 攻擊,而導入 HTTPS 後可以降低這部分的風險:

We’ve made this change as a response to the recent vulnerabilities and exploits in the OpenType and TrueType font formats. A malicious attacker could use these vulnerabilities to modify a Typekit font while it is being transmitted from our servers to your browser. Serving fonts (and other resources) over HTTPS ensures that the communication channel between your browser and our servers is not compromised and fonts are delivered in a secure way.

就目前看起來,use.typekit.net 還是使用 EdgeCast 的 CDN 服務,在 HTTPS 上還是沒有 SPDY 或是 HTTP/2,對效能的影響還是要測試過才知道...

關於各家 CDN 的選擇...

在使用 CDN 前,先考慮上 SPDYHTTP/2 (i.e. 全站 HTTPS),改善的效果跟 CDN latency 帶來的效益有得拼。尤其是 server 放在美國機房的情況,SPDY 與 HTTP/2 帶來的效能提昇是相當明顯的。

會寫這篇是因為這兩個禮拜意外被問到好幾次,所以來整理幾家如果讓我來選,我會選擇的 CDN。至少再被問到的時候可以直接從這邊開始說明。

下面的圖是從我家裡 HiNet 光世代測試的結果 (最後是走兩條電話線),所以會有個 10ms 的 latency 基底,如果要計算 latency 的效能影響請考慮進去。

Akamai

先講 Akamai

Akamai 的歷史很久了,再加上併購了不少公司,所以產品成熟度很夠,你要什麼產品都有提供,只要拿的出錢就可以。

KKBOX (敝公司) 用過 PMD、DSDDSA 三個產品,其中 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 業者:(按照字母排,可能有漏)

Amazon S3 (美東區) 前幾天的狀況導致 Adobe Typekit 服務故障的說明

Adobe Typekit 的官方 blog 放出說明了:「Well, that was just awful: Details on yesterday’s font serving outage」。

可以參考 Hacker News 上「AWS S3 Outage」的討論,由於 us-east-1 算是 AWS 服務的起源,再加上地理位置的關係 (以歐美服務為主同時考量會放到 us-east-1),所以有一堆網路服務在這區跑,情況還蠻慘烈的...

我記得 Typekit 是使用 EdgeCast 的服務 (i.e. use.typekit.net 這個網址),雖然很久沒用 EdgeCast 了,不過我記得應該是有 origin failover 的功能 (可以設多個 origin server),看起來是沒這樣設計...

Adobe Typekit 支援 CJK 字型

Adobe Typekit 宣佈支援 CJK 字型:「Announcing East Asian web font support and new font browsing tools for Japanese customers」。中文的公告在「正式公開東亞網頁字體支援以及日文客戶適用的全新字體瀏覽工具」這邊。

這也包括了網頁版的部份。對於 CJK 單一字型檔案過大的問題,與大家的解法也都一樣,取出對應的字組出來給使用者作為 workaround (稱為 Dynamic Subsetting):

會稱為這是 workaround 是因為當網路速度愈來愈之後,就會又變成最單純的直接整包下載...

Anyway,Adobe 這個新功能是一個大邁進,不過他用的 HTTPS (EdgeCast) 還沒支援 SPDY 或是 HTTP/2 啊... :/

Akamai 與 EdgeCast 混用的效果...

EdgeCast 官網上丟出來的「The Positive Performance Impact of a Dual CDN Strategy」這篇 PR 稿引用了 Optimizely 的「The Most Misleading Measure of Response Time: Average」。

EdgeCast 官網上的 PR 稿當然不會提到 Akamai 的名字,但在 Optimizely 上有說明:

At Optimizely, we had already been using Akamai, one of the world’s fastest and most reliable CDNs, so we decided to try adding another. We tested a balanced CDN architecture, combining Akamai with EdgeCast, another leader in the CDN space.

可以看到 99 percentile response time 大幅改善:

其中改善最高的是北美:

不過看不出來是怎麼測試 CDN Balancing 這個方法啊?依照白皮書的說明:

Prior to introducing CDN Balancing, Optimizely’s experiment code was stored in a JavaScript file that sits on Akamai’s CDN, one of the fastest and most reliable CDNs in the world. The code in this file is important because it’s responsible for making client-side changes to a page and serving them to visitors according to the targeting and A/B testing criteria set up by the Optimizely customer who created the experiment.

看起來是對 js code 測試,應該是 cdn.optimizely.com 這個 hostname,而 optimizely.com 的 DNS 放在 Dyn 上。

猜測應該是對 EdgeCast 有服務的地區丟到 EdgeCast 上 (美國的部份應該可以切割到「州」),其他的則丟到 Akamai 上?不過現在怎麼查都是 EdgeCast 啊,從馬來西亞查也是丟到 EdgeCast 的 CDN 上 (然後被導到新加坡)。

不過,在北美 EdgeCast 會比 Akamai 快這麼多應該是因為 EdgeCast 有兩個平台,一個是 for large files,一個是 for small files,兩個平台最佳化時調整的參數應該不同,針對大檔案的部份會計較 thoughtput,針對小檔案的部份會計較反應時間。Akamai 可能就是輸在這邊...

也有可能是因為 EdgeCast 的反應時間比較好,然後 Akamai 合約到期就整個切過去了?(噗)

冒出很多疑問啊...

EdgeCast 在台灣有 PoP 了...

這是從中華機房內對 Adobe 字體服務 use.edgefonts.netSmokePing 資料 (Adobe 用 EdgeCast 的 CDN 服務),可以發現十一月底的時候 latency 從 20ms+ 降到 10ms 以下 (大約是 8ms,應該是南部的機房):

對於北部使用者,8ms 還是比 Akamai 高一些,不過比起以前香港機房的 20ms+ 好多了...

Verizon 打算買下 EdgeCast...

Verizon 已經放出消息要買下 EdgeCast:「Verizon Plans to Acquire EdgeCast Networks」。

Verizon 現在提供的 Akamai 服務應該會被拿出來重新評估 (「Content Delivery Network」這頁),很有可能會在約滿後就不續約了?

另外一方面,EdgeCast 被併入大公司後能夠發展到什麼程度呢...