Netflix 與 Comcast 的恩怨

其實就是商業公司之間的勾心鬥角,在包裝後搬到檯面上 :p

Netflix 在美國固網裡吃的流量比 YouTube 還多,可想而知當然就變成各 ISP 找麻煩的對象...


出自 Sandvine 的「Global Internet Phenomena Report 2H 2013」。

Netflix 有多種方式將影片傳遞給使用者。除了早期自建機房外,後來跟不少 CDN 有業務往來 (包括了 AkamaiLimelightLevel3),另外也有 Netflix Open Connect Content Delivery Network 計畫,直接在 ISP 內部機房放設備提供服務。

使用 CDN 的作法成本太高,而 ISP 又不一定會接受 Open Connect 方案 (因為不一定收的到錢),在這種情況下,如果走 transit 線路的速度通常都不會太好。而 Netflix 與 Comcast 之間的狀況就是如此:

在付給 Comcast 錢後速度都都解決了...

除了付錢解決外,上個禮拜 Netflix 就丟出一篇說明的文章發難了:「The Case Against ISP Tolls」,這篇文章除了提到上面的事情外,另外還極力反對 Comcast 與 Time Warner Cable 的併購案 XDDD

然後最近又炒熱的網路中立問題,看起來也這件案子應該會很熱鬧 XDDD

Netflix 對 S3 的 Eventually Consistency 的補強...

眾所皆知的,Netflix 幾乎將所有服務都放在 AWS 上,這當然也包括了 Amazon S3

在 Amazon S3 上會有 Eventually Consistency 的問題:寫入後可能會讀到舊的資料,於是就算錯資料了...

Netflix 的人討論了幾種方案,後來開發 s3mper 用來解決 Amazon S3 的 Eventually Consistency 問題:「S3mper: Consistency in the Cloud」。

s3mper 透過 AWS DynamoDB 儲存檔案的 metadata,藉以得知是否 consistency。而 Amazon DynamoDB 本身雖然也是 Eventually Consistency,但多了 API 可以得知是否 Consistency。

Supported Operations in DynamoDB 可以看到 Data Read and Consistency Considerations 這段提供了兩種 read mode:

  • Eventually Consistent Reads
  • Strongly Consistent Reads

在 Strongly Consistent Reads 中,可以確認讀到的是不是最新的資料。只有當 DynamoDB 與 S3 的資料都正確時才繼續往下跑...

這個解法相當於在 Amazon S3 上面架了一層防護網,算是 workaround 吧 :p 如果 Amazon S3 可以提供 consistency 資訊的話,也就不用這樣搞了...

Netflix 的 Open Connect,以及 Super HD 與 3D 電影...

Netflix 在半年前就開始推廣 Open Connect Content Delivery Network,類似於 Google 的 Google Global Cache (GGC)。

Netflix 的 Open Connect 計畫提供兩種方式讓 ISP 參與,第一種方式是在各地機房 peering (地點在「Open Connect Peering Locations」這份資料裡有條列出來),需要用 10Gbps 以上的線路介接,實際流量以 95% 計算後必須在 2Gbps 以上。

另一種更進接的方式是讓各 ISP 在自己的網路放 Netflix 所設計的快取伺服器,Netflix 會把該 ISP 的流量導到這組伺服器上面 (4U 的伺服器,有兩個 10Gbps SR/LR,36 顆 3TB SATA,加上 2 顆 512GB SSD),這對於 ISP 與內容業者都可以節省頻寬成本。

這佈局佈一陣子了 (大約半年),Netflix 前幾天宣佈有 Open Connect 計畫合作的 ISP 將可以看 Super HD 與 3D 電影:「Netflix Announces Major ISPs Deploying Their CDN Caches; New 3D Streaming」,這些電影將會用掉 7Mbps~12Mbps 的頻寬。

Netflix 在北美流量比 YouTube 還大,除了之前的 Multi CDN vendor 策略以外,很自然會想要建自己的 CDN,畢竟有量之後很多事情自己做會比較節省成本...

RIM、EA 以及 Netflix 從 NASDAQ-100 除名...

從「RIM and Netflix dropped from NASDAQ-100 financial index as Facebook gains a seat」這邊看到的,標題寫的很清楚了...

自 2013 年開始,RIMEA 以及 Netflix 從 NASDAQ-100 除名,而 Facebook 則是很理所當然的納入 NASDAQ-100...

有點意外 Netflix 居然摔出來...

Netflix 的 Chaos Monkey

Chaos MonkeyNetflix 丟出來的工具,這個工具的目的是希望建立超高可靠度的系統。方法則是沒事就亂關 AWS 上的 instance:「Chaos Monkey released into the wild」。

基本的想法是這樣:

  • 在 AWS 上的系統容錯率要超高。
  • 上班時間爛掉比凌晨三點被 call 起床好。
  • 所以平常就放火測試容錯率到底夠不夠高,方法就是隨機關 instance。

照 Netflix 的說法,他們不僅在開發環境測試,也在正式環境測試。利用 Chaos Monkey 看看 failure 的結果是否如預期。

Netflix 甚至建議可以排成每個上班日都隨機跑一跑:

The service has a configurable schedule that, by default, runs on non-holiday weekdays between 9am and 3pm.

只有在爆炸機率超高的系統上,設計師才會在意 failure 的問題...

這次的 AWS EC2/EBS 問題...

這次的 AWS EC2/EBS 問題讓很多站台掛掉 (可以看「Who is affected by EC2?」這個站台,在發文的現在 US-East 還是沒完全恢復),但這次並不是每個使用 US-East 的站台都掛掉,像是 Netflix 因為一開始規劃就是「Cloud 也是會爛整片的」,所以服務並沒有中斷。在 Hacker News 上就有被提出來討論

討論裡面也有投影片說明 Netflix 選 AWS 的原因是因為「來不及建立 Data Center」,但在建立時也同時注意到「Cloud 有可能會大規模爛掉」的情況而設計了很多機制防範:「Netflix in the cloud 2011」。

利用 AWS 在多個不同地點都有機房把架構在 AWS 上所能提供的 HA 機制發揮到極致,不過這是建立在「Cheaper than cost of being down」的想法上 (因為 Netflix 已經算是某類型的電子商務公司了)。

話說回來,繼續等美東機房恢復...

IPv6 的進展,以及北美 IPv4 流量分析...

Arbor Networks 的 Blog 上分析了目前 IPv6 的進展:「Six Months, Six Providers and IPv6」。

以去年八月到今年二月的數字來看,其實現在 P2P 還是佔絕對性的數量:

另外一張圖是北美 IPv4 的頻寬分析,這點可以看出之前 Netflix 另外採購 Level3 的 CDN 對 Akamai 的影響:

這數字真驚人...

Netflix 公佈北美 ISP 對 Netflix 的速度...

Netflix 官方的網誌上公佈:「Netflix Performance on Top ISP Networks」。

目前 Netflix 有 AkamaiLevel3 兩家 CDN 提供服務 (不確定還有沒有其他的),在最後一段還說要每個月更新這些資料,是打算反過來對 ISP 施壓嗎?:

We'll update these charts monthly, and we welcome questions, comments and suggestions to help improve our understanding of Netflix performance on top ISP networks.

Comcast 開始限制 Level3 的流量...

Slashdot 上的報導,Comcast 開始限制 (過濾) Level3 對 Comcast 的流量:「Level 3 Shaken Down By Comcast Over Video Streaming」。

另外 Level3 的新聞稿:「Level 3 Communications Issues Statement Concerning Comcast's Actions」以及 Comcast 的回應稿:「10 Facts About Peering, Comcast and Level 3」。

很擺明 Comcast 就是衝著 Level3 拿下 Netflix 的合約而來的 (參考「Netflix 拋棄 Akamai CDN,改以 Level 3 CDN 為主力」),在評論「Comcast Says Their Dispute With Level 3 Is "Not About Online Video" - Yeah Right」也是對 Comcast 的說法不以為然。

剛好在 12/21 FCC 才要對網路中立性投票:「FCC To Vote On Net Neutrality On December 21」,這則新聞看起來真是...

Netflix 拋棄 Akamai CDN,改以 Level 3 CDN 為主力

這幾天 CDN 市場裡比較大的新聞之一,從這篇開始:「Akamai To Lose Netflix As A Customer, Level 3 and Limelight Pick Up The Business」。

另外的後續報導是:

Netflix 以前以 DVD 租用服務為主,在推出 Video Streaming 後其實可以節省很多成本 (如果以郵寄的成本與 bandwidth 的成本比較起來),而且會是未來的趨勢,所以在 CDN 這塊不僅靠著量大成為重量級客戶,還是很重要的「指標性客戶」。這次傳言因為效能因素從 Akamai 換成 Level 3 絕對是震撼彈,對於所有 CDN 的品牌迷思會是很重要的革新。

我相信 Level 3 最近不斷公告增加美加地區的 PoP 承載能力應該跟這筆合約有關,而且我也相信 Level 3 應該有能力吃下 Netflix 的量...。