挑戰
Sling TV 於 2015 年由 DISH Network 推出,自成立以來便經歷了巨大的客戶增長。僅僅一年後,“我們正在經歷一些傳統系統帶來的增長陣痛,並試圖找到合適的架構來支援我們的未來,”Sling TV 的雲原生和大資料佈道師 Brad Linder 說。該公司面臨著特殊的挑戰:“我們將直播電視透過網際網路分發到我們無法控制的使用者裝置上,”Linder 說。“在很多方面,我們都在‘蠻荒西部’工作:網際網路就是它本來的樣子,如果客戶的服務因任何原因無法工作,他們不在乎原因。他們只是希望一切都能正常執行。這些是我們需要嘗試解決的等式中的變數。我們確實需要努力實現選擇性和良好的網路規模客戶體驗。”
解決方案
秉持著“雲原生架構和模式確實為我們提供了很大的靈活性,可以滿足這類客戶群的需求”的信念,Linder 與 Rancher Labs 合作,圍繞 Kubernetes 構建 Sling TV 的下一代平臺。他說:“我們將在某個時候需要啟用混合雲策略,包括多個公共雲和本地 VMware 多資料中心環境,以滿足業務需求,因此獲得這種抽象是一個真正的目標。”“這是我們選擇 Kubernetes 的最大原因之一。”團隊在 Sling TV 的兩個內部資料中心推出了首批 Kubernetes 應用程式。啟用 AWS 作為資料中心選項的工作正在進行中,預計將於 2018 年底完成。團隊增加了 Prometheus 用於監控,Jaeger 用於追蹤,與公司現有的工具集 Zenoss、New Relic 和 ELK 協同工作。
影響
Linder 說:“我們正在達到可以一鍵部署整個資料中心的水平——計算、網路、Kubernetes、日誌、監控和所有應用程式。”“我們真正實現了基於平臺思維的方法,允許應用程式使用通用工具。使用通用工具和 CI/CD 流程,一個新的應用程式可以在大約一個小時內上線。這方面的收益是巨大的。以前,一個新應用程式部署至少需要幾天才能搞定。這還不包括培訓我們的運營人員來管理這個新應用程式。它在時間和成本上節省了兩到三個數量級,並且在運營上,它使我們有機會讓一個由才華橫溢的運營工程師組成的核心團隊來管理通用基礎設施和工具,以使我們的應用程式在網路規模上可用。”
當然,從提供商的角度來看,這帶來了一系列特殊的挑戰。“我們將直播電視透過網際網路分發到我們無法控制的使用者裝置上,”Sling TV 的雲原生和大資料佈道師 Brad Linder 說。“在很多方面,我們都在‘蠻荒西部’工作:網際網路就是它本來的樣子,如果客戶的服務因任何原因無法工作,他們不在乎原因。他們只是希望一切都能正常執行。這些是我們需要嘗試解決的等式中的變數。我們確實需要努力實現選擇性,而且我們必須在網路規模上做到這一點。”
事實上,Sling TV 自 2015 年由 DISH Network 推出以來,便經歷了巨大的客戶增長。僅僅一年後,“我們正在經歷一些傳統系統帶來的增長陣痛,並試圖找到合適的架構來支援我們的未來,”Linder 說。Linder 的任務是為“個性化客戶體驗”構建下一代網路規模平臺,他過去一年一直致力於將 Kubernetes 引入 Sling TV。
秉持著“雲原生架構和模式確實為我們提供了很大的靈活性,可以滿足客戶需求”的信念,Linder 與 Rancher Labs 合作,圍繞 Kubernetes 構建平臺。他說:“他們確實幫助我們理解了如何使用 Kubernetes。”“我們需要靈活性來支援我們的用例,而不僅僅是一個簡單的編排器。以一種不會導致供應商鎖定的方式支援我們的未來也是我們戰略的關鍵部分。我認為這是 Rancher 價值主張的一部分。”
他選擇 Kubernetes 的一個重要原因是,它提供了一種抽象級別,使公司能夠“啟用混合雲戰略,包括多個公共雲和本地 VMware 多資料中心環境,以滿足業務需求,”他說。另一個因素是 Kubernetes 生態系統在過去幾年中已經非常成熟。“我們投入了大量時間和精力,使日誌、監控和警報達到生產就緒狀態,從而為我們提供應用程式健康狀況的洞察,”Linder 說。團隊增加了 Prometheus 用於監控,Jaeger 用於追蹤,與公司現有的工具集 Zenoss、New Relic 和 ELK 協同工作。
Linder 說,在強調通用工具的情況下,“我們正在達到可以一鍵部署整個資料中心的水平——計算、網路、Kubernetes、日誌、監控和所有應用程式。”“我們真正實現了基於平臺思維的方法,允許應用程式使用通用工具和服務。使用通用工具和 CI/CD 流程,一個新的應用程式可以在大約一個小時內上線。這方面的收益是巨大的。以前,一個新應用程式部署至少需要幾天才能搞定。這還不包括培訓我們的運營人員來管理這個新應用程式。它在時間和成本上節省了兩個或三個數量級,並且在運營上,它使我們有機會讓一個由才華橫溢的運營工程師組成的核心團隊來管理通用基礎設施和工具,以使我們的應用程式在網路規模上可用。”
該團隊於 2018 年第一季度初在 Sling TV 的兩個內部資料中心推出了首批 Kubernetes 應用程式,並開始將 AWS 作為資料中心選項。該公司計劃未來擴充套件到其他公共雲。
第一個投入生產的應用程式是基於 Web Socket 的後端通知服務。Linder 說:“它允許後端更改觸發訊息到現場客戶端,而無需輪詢。”“我們正在談論這個應用程式的巨大訊息量。如果沒有像 Kubernetes 這樣的工具能夠進行伸縮,並支援整體工作負載,那是很難做到的。我甚至敢說,我們現在構建的大多數應用程式,如果沒有云原生模式和 Kubernetes 帶來的靈活性,是不可能實現的。”
Linder 負責監督三個團隊,共同構建下一代平臺:一個平臺工程團隊;一個企業中介軟體服務團隊;以及一個大資料和分析團隊。Linder 說:“我們真正努力將所有內容整合在一起,使客戶端應用程式能夠與雲原生中介軟體層進行互動。該中介軟體層必須在平臺上執行,使用平臺服務,然後由人工智慧代理監控日誌和事件,以確保一切順利執行。”
他補充說,歸根結底,這項任務旨在“將 Kubernetes 與人工智慧結合,以實現簡單可用的網路規模”。“我們希望人工智慧代理和大資料平臺利用應用程式、Kubernetes、基礎設施、後端服務和環境變化中產生的實際日誌和事件來做出決策,例如‘嘿,這個服務需要更多容量,請新增更多節點。’ 從平臺角度來看,如果你真正在做網路規模的事情,但沒有使用人工智慧和大資料,在我看來,你最終會自毀。這不是一個‘是否’的問題,而是一個‘何時’的問題。如果你身處一個擁有‘數百萬使用者’的環境,那麼這種自毀將是災難性的。我們正在朝著這個目標前進,並在此過程中學到了很多。”
對於 Sling TV 來說,轉向雲原生正是他們所需要的。Linder 說:“我們必須能夠對矩陣中的變化和故障做出反應。”“這是我們為客戶提供高質量服務能力的基礎。在現場構建智慧平臺、工具和客戶端來使用這些服務,必須是這一切的一部分。在我看來,這就是雲原生的重要組成部分。它正在將這些分散式、可能不可靠的實體轉化為他們所期望的強大客戶體驗。”