AI科技评论按,日前,在2017中国开源年会上,阿里巴巴自研容器技术 Pouch 宣布开源。在双十一买买买的狂潮之后,阿里选择第一时间将 Pouch 技术开源,无疑,这又一次吸引无数开发者的目光。 借助阿里将自研容器技术 Pouch 开源的契机,AI科技评论第一时间采访到阿里 Pouch 技术的开源负责人孙宏亮。他目前负责的内容包含制定 Pouch 技术发展方向,管理与维护 Pouch 开源社区。AI 科技评论与他详细探讨了 Pouch 技术的一些关键细节,此次开源的缘由以及下一步的展望。 图:阿里 Pouch 技术开源负责人孙宏亮 阿里“云化战略”与容器技术 谈及 Pouch 技术之前,先来说说阿里在今年双十一的“云化战略”。云化技术战略是阿里集团基础设施近年来一直在努力的方向,这其中包括混合云、资源 Pouch 容器化、统一调度、存储计算分离和混部等多项技术的不断突破和创新。这一战略是支撑今年庞大支付量(3 分钟 GMV 超百亿,一小时 GMV 近 600 亿,零点后交易峰值 32.5 万笔/秒,支付峰值 25.6 万笔/秒)的基础,而 Pouch 容器技术在这一战略中占据了尤为重要的地位,它对业务没有任何侵入性,是实现便捷调度,统一基础运维资源接口的基础。 据悉,截止到今年双 11,阿里已在集团范围内实现在线服务全部 Pouch 容器化,内部已达到百万级容器部署规模。 作为一种轻量级、可移植、自包含的软件打包技术,容器技术可以使应用程序在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。但目前来说,以 Docker 为主的容器技术占据了全球大部分市场,中国企业所占的市场份额少之又少。 自研 Pouch 配置快速简单、隔离性和安全性强等,这一系列技术特点让 Docker 成为容器界的网红。事实上,占据庞大市场份额的 Docker 不失为一个好选择,为何阿里会选择自研容器技术,AI科技评论向孙宏亮提出了这个疑问。 他表示,“阿里巴巴不能算是一家软件公司,而是一家技术驱动型公司。在业务的变化之下,需要技术能快速灵活的应对。社区版本的 Docker 的确是业界数一数二的软件,但是在面对一些场景时,难免存在开源软件的弊端。” 他也进一步说明——开源软件的发布周期是有计划的,很明确,但在面对快速变化的业务时,选择这类软件不是一个好方法。”技术在很多时候都是为了更好地支撑业务,本着业务第一的角度,始终要在‘follow开源软件’和‘自研软件自主可控’方面做出一个选择,阿里巴巴毫无意外选择了后者‘自研 Pouch 容器技术’。” 出于技术互补的考量,他们将 Docker 技术与阿里容器技术产品 T4 都做了一些修改整合后,将两者融合为了一个产品,这个产品在阿里内部被称为 AliDocker,也就是 Pouch 的前身。 图:Pouch演进之路 T4 是阿里在2011年的时候基于 Linux Container(LXC) 开发的容器技术基础设施。相比 Docker 的模式和理念,T4 其实更适合阿里内部的运维现状。T4 是从阿里内部的资源管理和日常运维中土生土长出来的产品,在诞生的第一天就针对内部基础设施、运维工具甚至是运维习惯做了很多特别的设计。因此,在阿里内部进行容器管理时,融合 T4 的 Pouch 技术比起 Docker 来说会稍胜一筹。
图:阿里 Pouch 技术历史 “Docker 诞生并走向流行的主要原因在于其提出的‘镜像技术’。Docker 对行业产生深远影响的是 Docker 镜像,这一点对于大型的互联网公司而言,相信肯定深有感触。因此,Docker 镜像流行开来之后,阿里巴巴没有理由不去接受这种给行业带来大价值的技术。”孙宏亮对AI科技评论说道,“这也就回到了‘阿里容器技术融合 Docker 镜像’的这一事实上。另外,一方面,Docker 社区中一些优秀的设计理念以及好的功能实现,我们也在 Pouch 版本中引入,保障 Pouch 和社区的同步。” 关键考虑 Pouch 容器技术的诞生过程中究竟有哪些棘手问题?孙宏亮对AI科技评论说道,“容器的运用不是一个难题,容器技术的大规模运用却是一个十分棘手的问题。要想实现大规模应用,容器技术必须要有能力覆盖足够多的场景。而场景复杂的环境中,安全、性能、稳定问题都会逐渐暴露出来。” 他具体解释了如下三个关键方面:安全、性能、稳定性。
“数年如一日,长时间的技术锤炼与经验积累,铸就了阿里容器今天的成绩。阿里巴巴长时间踩过的坑、走过的弯路,让 Pouch 以一个务实者的姿态出现在如今的容器生态圈,阿里认为‘只有 Pouch 更懂应用,更贴近场景’。”孙宏亮由衷感慨。 他表示,他们目前依然处于攻克一些容器技术难题的过程中,这些技术难题,主要围绕在容器的安全隔离性方面。传统容器主要完全依赖于 Linux 内核的特性提供隔离,而他们认为这样的隔离方式存在缺陷。他进一步陈述到,
拥抱开源生态 此次开源对阿里的战略意义何在? 孙宏亮对AI科技评论如此说道,“虽然目前容器生态中关于容器引擎方面,已经有了比较成熟的产品,但是阿里巴巴认为,现有的容器技术在技术落地方面仍然存在一些不足之处。比如,现有的容器技术,对企业的传统应用侵入性依然很高,这也就导致了企业在走向云化,拥抱 Cloud Native 方面存在现实阻力。而阿里内部之所以可以做到业务100%容器化,主要是借助阿里巴巴集团系统软件部对业务系统的了解,与容器技术 Pouch 的不断优化。而 Pouch 这方面的技术优势,对行业无疑是拥有难以估量的价值的,阿里巴巴希望通过开源的方式,把经验和心得与行业共享,真正让行业在云化道路上加快进程,早日拥抱 Cloud Native。” 图:阿里 Pouch 开源计划 阿里巴巴对于 Pouch 的开源计划则主要围绕3点:拥抱生态,解耦依赖与合作共建。
目前,阿里巴巴容器技术 Pouch 团队有十余位工程师在做开源建设。在采访中,孙宏亮也提到,他们在持续招聘容器领域的专家,预计到18年上半年,这个团队会扩大至20人以上。 Pouch 的代码也已经在 GitHub 公开,大家可以到这个地址查看详情: https://github.com/alibaba/pouch ————— 给爱学习的你的福利 ————— 不要等到算法出现accuracy不好、loss很高、模型overfitting时, 才后悔没有掌握基础数学理论! 线性代数及矩阵论, 概率论与统计, 凸优化 AI慕课学院机器学习之数学基础课程即将上线! 扫码进入课程咨询群,组队享团购优惠! ———————————————————— |