Netflix每周管理300万个容器的好帮手Titus现在开源给你用

社会动态2021-03-01 12:04:58
最佳答案

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複杂的可扩展性需求。

免责声明:本文由用户上传,如有侵权请联系删除!