道客船长新推出访谈类栏目 「坐而论道」,由两位重量级嘉宾 Docker Swarm 全球 Maintainer 孙宏亮 (Allen) 和 DaoCloud 首席架构师王天青 (Grissom) ,共同探讨云计算行业的热门话题,从技术和业务的角度探索容器技术的最佳实践。
上一期 Docker 四周年:新生儿与独角兽(上)引发了很多读者的思考,我们重点为大家梳理了 Docker 技术发展历程和 Docker 社区生态的建设。本期「坐而论道」将从上一期内容延伸开来,由 Grissom 和 Allen 更多从企业和业务的角度为大家解读 Docker 过去四年的发展历程。
Q1:Docker 这四年在技术上发生了很多重大的变革。能分享一下您跟 Docker 的故事吗?
Grissom:第一次与 Docker 接触是我就职于 EMC 的时候,在一次技术分享会上有一个测试团队分享了他们利用 Docker 技术来提升测试效率的实践。那是我与 Docker 的第一次触电。
这之后,大概在 2014 年上半年的时候,有一天我所在的 EMC 团队开周会的时候,Kay(DaoCloud 总架构师)在会上第一次提出了 Docker 容器技术的概念,并分享了他自己做的一些尝试。这个时候是我第一次对 Docker 技术有了一个比较全面的了解。
2014 年下半年的时候,我们当时的团队正在做关于 OpenStack 相关的工作,关注了很多在 OpenStack 社区中出现的跟 Docker 相关的项目——第一个项目是Kolla。Kolla 项目的玩法就是用 Docker 来部署整个 OpenStack 的集群。第二个与 Docker 相关的项目叫作 Magnum,它可以使用 Swarm,Kubernetes,Mesos 在 OpenStack 上部署容器的集群。
接下来在 2015 年上半年的时候,我们整个团队真正开始着手容器相关的项目。自那时起,我已经深入地接触了一些 Docker 相关的工具,包括 Docker Compose 和 Docker Swarm。
2015 年下半年的时候,我加入了一家互联网金融公司。在公司内部,我们成立了一个小型的 DevOps 团队。在 DaoCloud 公司的帮助下,我们把生产环境从原来的虚拟机之上转换成容器,并在这个过程中对应用做了微服务化的改造,并完成了 DevOps 自动化流程集成的工作。这可以说是我从第一次听说 Docker,到后期开始了解 Docker ,关注并使用 Docker 的全部过程。这也是我与 Docker 的渊源,正是这些经历最后促成了 2016 年 12 月份我正式加入了咱们 DaoCloud 公司。
Q2:企业为什么会选择使用 Docker 容器技术?
Allen:企业选择使用 Docker 主要得益于容器技术很多方面的优势,它可以解决企业的一些痛点。例如,现在很多金融行业要拥抱互联网,需要迭代和持续发布,这个时机对容器技术来说就是很好的切入点。
又比如在资源方面,我相信很多金融公司也有一些大规模的集群,在资源的利用率方面会遇到瓶颈。包括制造业在内的行业,在拥抱 “互联网+” 的时候,他们选择 Docker 是由于他们 IT 架构的历史包袱较少,也就是说他们现在没有一个 IT 信息化架构或 IT 信息化的数据中心。但是为了未来业务的可持续发展,他们需要技术转型。在技术转型的过程中,他们不会选择 10 年前的技术,而选择像 Docker 这样很热门,而且已经在大型的互联网公司接受过检验的革新性技术。这类公司和 Docker 的结合就显得顺理成章。当然,这其中还需要技术的支持,需要的可能就是 DaoCloud 这样提供容器服务的公司来支撑。
Grissom:Docker 发布版本的周期比较短,所以它变化非常快。接下来,它可能更多地会向企业级的特性,比如稳定性和可靠性方向发展。生产环境下除了某些极端情况下,大家可能会踩到一些坑之外。其实大部分时候,我们不会遇到太多问题。同时,我们可以在软件层面上进行补偿,可以弥补 Docker 可能存在的这些问题。因为它的好处远远大于它带来的风险,所以很多企业都开始在开发测试环境中大量使用 Docker 容器技术。等到对 Docker 的把握比较高了之后,再放在生产环境之中。
像 DaoCloud Enterprise 这样的平台基于Docker 生态,做了很多符合企业级的特性。企业采用这样的平台,上生产就会有更好的保障。
Q3:Docker 技术正在变得越来越普及。有哪些大型企业目前已经在生产环境中使用 Docker 了呢?
Q4:您刚才提到的这些企业中,他们主要在哪些业务场景中使用到了 Docker ?
Grissom:这些企业更多是在互联网业务场景下使用的 Docker。其实通过标准化之后,大部分的应用都可以在容器中运行。除了某些特定的应用,比如类似于数据库这样的应用之外,大部分应用使用 Docker 都会大有裨益。
但是对于互联网应用场景来讲,它对可用性、动态伸缩性都有比较高的要求。所以,容器技术的出现恰好能解决这样的问题。容器技术不像虚拟化技术,首先它的 overhead 很小,启动速度非常快;然后,它能够很好地满足这些场景;最后能为互联网分布式应用提供一个很好的载体。
Q5:当技术发展解决了企业痛点之后,Docker 未来将何去何从?能否跟我们一同展望 Docker 的未来。
Allen:这是一个长远的问题,现在对于整个行业来讲,我们先把前一部分工作完成,意义会比较大。这个周期会很漫长。市场是巨大的,充满了商机和全新的商业模式,有待我们去探索。例如容器技术和大数据的结合、和机器学习、人工智能技术的结合,这些可能都会是未来的发展方向。我们还在探索,市场需要更长的培育时间。
在社区部分,随着时间的发展,容器技术会渐渐趋于稳定,它的标准会逐渐得到大家的公认。而在标准之上,容器技术同样也会经过市场的洗礼,走向成熟。我觉得针对 Docker 技术的上层应用,未来可能会出现喷薄期。
Grissom:从企业角度来讲,期望未来 Docker 向企业级应用方向发展。我们希望 Docker 降低发布频率的同时,对它的性能、稳定性,以及一切影响企业使用容器技术的功能,都能够做一些裁剪。
从大方向上来说,Docker 最终应该往企业级的特性方向发展。细化来讲,首先,Docker 可能需要更好地支持分布式存储,因为 Docker 本身对存储支持还是有很多局限性。另外,Docker 需要考虑如何更好地支持有状态的应用,包括数据库这样的应用。最后,希望 Docker 对 Windows 应用也能够更好地支持。
总结来说,更多的期待就是希望 Docker 变成一个企业级的产品。
推 荐 阅 读
未经允许不得转载:DaoCloud道客博客 » 坐而论道 | Docker 四周年:新生儿与独角兽(下)