Netflix在開源社群持續耕耘,之前才與Google共同釋出開源金絲雀自動化測試工具Kayenta,而後又再度開源內部容器管理平臺Titus,Netflix表示,影片串流、演播室技術、內容編碼以及大資料等應用,全都需要用到Titus,每周啟用容器高達300萬個。

Titus提供了方便的運算資源管理模式,以容器工具支援開發人員維護應用程式,並提供筆記型電腦到生產環境一致的開發體驗。

Netflix提到,市面上有許多容器管理平臺,像是Kubernetes、Mesosphere DC/OS以及Amazon ECS,也有一些網路公司使用Apache Mesos來解決容器管理的課題,而Titus正是以Apache Mesos為基礎建構,並且為Netflix高擴展性需求做了最佳化。

Titus是Netflix為自家量身訂做的容器管理平臺,它深度與AWS以及Netflix基礎架構整合。Netflix提到,Titus有先進的ENI(Elastic Network Interface)和安全群組管理支援,不僅完整支援Netflix網路結構,同時也符合了現存的服務調度邏輯。而這能讓Netflix把ENI以及IP當作資源處理,並確保在EC2 VPC API呼叫率限制下大規模部署。

透過IAM角色支援,Amazon EC2元資料代理能安全的交付EC2應用程式,而該代理還能讓Titus產生不同應用的容器特殊元資料視圖。

Titus使用AWS的自動負載服務,來提供容器叢集自動擴展的功能,他們也為負載平衡器與AWS合作設計IP目標群組(Target Groups),而這些群組完整支援IP堆疊容器以及AWS負載平衡服務。

而綜合以上這些功能,Netflix讓容器化應用程式,能夠透明的整合內部應用程式以及AWS。

他們為了將應用程式移轉到容器上,Netflix選擇了一條在虛擬機器以及容器間的道路,提供開發人員與現存系統相似的操作方法,他們決定使用Netflix雲端平臺技術,讓該平臺也能識別容器。為此他們啟用了開源多雲持續交付平臺Spinnaker,並在服務探索Eureka、遙測系統Atlas以及效能洞察技術中支援。

Netflix每天執行一千多個應用程式,大大小小種類非常多元,有些像是媒體編碼工作流量非常龐大,有些是面對使用者的關鍵服務,有一些則是記憶體以及GPU負擔吃重的工作,像是演算法訓練,而還有一些是網路相關的串流處理。

過去3年,Titus從支援批次處理工作,到執行應用程式。現在Titus每天為了支撐這些服務,要啟用50萬個容器以及20萬個叢集,每周高達300萬個容器,每個月交替數十萬臺EC2虛擬機器。Netflix提到,市面上的這些容器管理平臺或許可以幫他們解決一些問題,但是無法應付這樣的規模,Titus目標則是滿足Netflix複雜的可擴展性需求。


Advertisement

更多 iThome相關內容