有图有真相:DockerCon之Netflix的Docker企业级实践

Netflix是全球最大的网络流媒体提供商,总部位于美国,其业务横跨美欧非大陆。今天他们的分布式系统及基础设施工程师Diptanu Gon Choudhury 为Docker粉带来Netflix内部基于Docker的平台Titan。

Choudhury谈及Titan,难掩激动,将Titan的特性娓娓道来:

  1. 提供分布式的计算服务,可以适用于几乎所有的公有云
  2. 提供容器集群的自动化扩展功能
  3. 支持容器内应用的自动恢复机制
  4. 提供容器的日志服务,监控服务,以及数据卷volume的管理能力

介绍完Titan特性之后,Choudhury瞬间来了一个Netflix的硬广,使得场下观众忍俊不禁。

随后,Choudhury一展风采,开始介绍Cloud native应用在微服务模式下的架构剖析。

介绍完Netflix的应用需求之后,Choudhury开始释放自己对Docker的喜爱,接着他讲述了Netflix当时选择Docker这个明智之举背后的原因。

首先,在netflix内部进程隔离的需求很大,Docker的出现很好的解决了该问题。

另外,Choudhury认为Docker另一个非常重要的特性是:Docker有能力将众多功能集一身,并打包成一个Docker二进制文件,用户完成无需关心与linux内核与其他特性之间的依赖关系,只需操纵Docker简易的API即可。

除以上两点之外,Choudhury还认为Docker的周边工具链的发展以及集群间应用发布的可扩展性大大吸引了Netflix。

说完选择Docker的原因之后,Choudhury重点介绍了Titan在容器管理方面比较有亮点的技术。

在Docker容器的监控方面,Choudhury直言不讳,大赞Linux cgroups带来的metric汇集,Titan通过Atlas进行采集,另外Titan还针对cgroups的信息添加了预警功能。

一直以来,Titan都对Docker容器的存储问题非常重要,尤其是Docker的数据卷data volume。而Titan自身的存储解决方案则是基于ZFS实现,联想到最近发布的Docker 1.7.0中ZFS的支持,不禁让场下观众对Netflix肃然起敬,顿时也迎来掌声不断。

自动扩展方面,Choudhury认为Titan在这方面的设计非常务实,两种自动扩展方案分别为:预测式以及响应式。预测式主要通过容器资源统计的历史数据来预测是否需要自动扩展;而响应式需要运维人员设定阈值,超越阈值再触发相应的扩展行为。

最后的Q&A环节,当被问及“如此优秀的Titan系统是否会开源时”,Choudhury莞尔一笑,认为Titan目前还不够健全的Public API会是整个系统开源之前最主要的障碍,可能会在数月之后,能和全球的开发者见面。

Leave a Reply

Your email address will not be published. Required fields are marked *