{"id":9504,"date":"2014-09-10T11:42:57","date_gmt":"2014-09-10T15:42:57","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=9504"},"modified":"2022-04-14T14:45:00","modified_gmt":"2022-04-14T18:45:00","slug":"apples-september-9th-live-event-stream","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2014\/09\/10\/apples-september-9th-live-event-stream\/","title":{"rendered":"Apple&rsquo;s September 9th Live Event Stream"},"content":{"rendered":"<p><a href=\"http:\/\/blog.streamingmedia.com\/2014\/09\/why-apples-livestream-failed.html\">Dan Rayburn<\/a> (via <a href=\"https:\/\/twitter.com\/amyruthworrall\/status\/509487514256941056\">Amy Worrall<\/a>):<\/p>\n<blockquote cite=\"http:\/\/blog.streamingmedia.com\/2014\/09\/why-apples-livestream-failed.html\"><p>The bottom line with this event is that the encoding, translation, JavaScript code, the video player, the call to S3 single storage location and the millisecond refreshes all didn&rsquo;t work properly together and was the root cause of Apple&rsquo;s failed attempt to make the live stream work without any problems. So while it would be easy to say it was a CDN capacity issue, which was my initial thought <a href=\"http:\/\/blog.streamingmedia.com\/2014\/09\/busy-week-for-cdns.html\">considering how many events are taking place today and this week<\/a>, it does not appear that a lack of capacity played any part in the event not working properly. Apple simply didn&rsquo;t provision and plan for the event properly.<\/p><\/blockquote>\n<p>All the other recent Apple streams have worked really well for me. That said, the refreshing and JSON don&rsquo;t explain why the stream was also unreliable on Apple TV.<\/p>\n<p>Update (2014-09-13): <a href=\"http:\/\/perf.fail\/post\/97144331419\/learning-from-apples-livestream-perf-fiasco\">igrigorik<\/a>:<\/p>\n<blockquote cite=\"http:\/\/perf.fail\/post\/97144331419\/learning-from-apples-livestream-perf-fiasco\"><p>Why? No idea. All of them are served via&nbsp;<em>images.apple.com<\/em>, which is also fronted by Akamai, but once again, a short TTL really doesn&rsquo;t help with caching, which means&nbsp;<strong>there were<\/strong>&nbsp;<strong>a lot of requests hitting the Apple origin servers<\/strong>. Those poor Apache servers powering Apple&rsquo;s site must have been working&nbsp;<em>really, really<\/em>&nbsp;hard. I&rsquo;m not surprised the site was experiencing intermittent outages.<\/p>\n<p>Oh, and speaking of load on origin servers&#8230; Remember feed.json? Every 10 seconds the page makes a polling request to the server to fetch the latest version. Combine that with a really short maxage TTL and missing gzip compression, and you&rsquo;ve just created a self-inflicted DDoS.<\/p>\n<\/blockquote>\n<p><a href=\"http:\/\/simonfredsted.com\/1115\">Simon Fredsted<\/a> (via <a href=\"http:\/\/daringfireball.net\/linked\/2014\/09\/10\/streaming-failure\">John Gruber<\/a>):<\/p>\n<blockquote cite=\"http:\/\/simonfredsted.com\/1115\"><p>I&rsquo;m sure that at this point Apple and their streaming partner has done a complete investigation of the causes of the many problems of the stream. Here&rsquo;s what I think they have found.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Dan Rayburn (via Amy Worrall): The bottom line with this event is that the encoding, translation, JavaScript code, the video player, the call to S3 single storage location and the millisecond refreshes all didn&rsquo;t work properly together and was the root cause of Apple&rsquo;s failed attempt to make the live stream work without any problems. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2022-04-14T18:45:02Z","apple_news_api_id":"a519c98b-17b7-433d-9290-d10b3f7cff0e","apple_news_api_modified_at":"2022-04-14T18:45:02Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/ApRnJixe3Qz2SkNELP3z_Dg","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[38,615,2190,97,96],"class_list":["post-9504","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple","tag-apple-tv","tag-outage","tag-video","tag-web"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/9504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=9504"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/9504\/revisions"}],"predecessor-version":[{"id":9560,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/9504\/revisions\/9560"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=9504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=9504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=9504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}