写点什么

Docker 首个国内合作商,阿里云何以认定容器技术将成主流?

2016 年 10 月 27 日

编者按

10 月 13 日,在 2016 杭州·云栖大会上,全球知名的容器技术公司 Docker 与阿里云宣布达成战略合作,双方将在容器服务领域进行紧密合作,阿里云称其将为客户提供更加先进的云上应用管理服务。双方称在开源容器技术以及其发展方向共同努力,为客户提供本地化 Docker 的企业级支持和咨询服务。

Docker 自问世三年来,社区不断壮大,项目升温之迅猛在开源社区中并不多见,并受到 IT 业内的广泛关注。不过,Docker 在国内真正的大规模应用仍然不多,目前国内 Docker 的使用状况还尚未达到生产环境化的普及。虽然有少数研发能力强的互联网公司已经积累了两三年的 Docker 技术储备并用于实际生产环境之中,同时还有一些 Docker 技术创业新锐公司;但是对于一些传统企业而言,由于业务需求完全迥异、技术包袱长久积累、技术团队人力不足等原因,Docker 这项技术的使用只停留在开发尝试尚未扩展甚至观望的状态。

Docker 选择阿里作为中国的首个官方合作伙伴,但这并不是 Docker 第一次和 IT 企业合作。2016 年 Docker 动作频频,6 月合作 HPE,9 月牵手微软。此前也早与 AWS、IBM 达成合作协议。这些合作也都涉及到商用版的 Docker Engine 和 Docker Datacenter。

阿里研究员毕玄表示阿里内部对容器技术积累已有五年,随着 Docker 的 2013 年问世与发展,阿里云在 2015 年底推出了 Docker 容器服务,并于今年上半年决定将电商核心应用的基础平台转向 Docker 技术。阿里云弹性计算总监张卓表示阿里还会与 Docker 生态圈中的其他创业公司进行合作。阿里云产品技术负责人李津承认该合作或将给创业公司带来一定压力,但是创业公司可以通过深耕技术创新以增加竞争力;并称未来两年内云计算和相关产品市场将面临洗牌的残酷竞争,但是竞争之后,除了云平台提供商,还会凤凰涅槃般地出现一批新的软件服务巨头。

两家公司为什么会进行合作?合作是怎样的,又会给容器生态带来怎样的影响?InfoQ 采访了阿里云产品技术负责人李津,他就 InfoQ 一系列问题发表了看法。国内容器技术的创业公司又如何看待这个合作?几家公司的创始人对阿里和 Docker 的合作表示认同,认为这将助力国内容器生态并有利于基于 Docker 的创业服务发展。

阿里云之解读

以下来自 InfoQ 对阿里云产品技术负责人李津的采访整理。

阿里怎么看待 Docker 技术

Docker 其实类似于早期的 LXC,是由 namespace 和 CGroup 两个技术叠加出来的,但又不完全是。Docker 的最大价值其实是让 DevOps 开发和运维的一体化能够轻松落地。早前 DevOps 很难落地,因为去部署、发布、运维和管理那些应用的过程很麻烦,所以在云上面衍生了大量的编排类的服务出来。Docker 通过镜像分发,可以快速部署;这种把配置和环境解耦的方式,让快速部署变成可能。这就意味着 Docker 的弹性非常好,而且速度很快。他可以快速扩容部署一百台,然后再迅速缩容到一台,随后再快速部署一百台;这是 Docker 从诞生开始的优点,所以运维的人很喜欢他。

Docker 的出现改变了很多过去的开发形态。Docker 是一种非常轻量级的开发和部署环境的形态,它提高了开发效率。此外,因为 Docker 会适配很多东西,所以底层虚拟化变得更简单。我们认为 Docker 在未来 3—5 年里面,变成一个非常主流的开源技术和商业生态,这个时候很多开发者会在上面做牵引,搬到 Docker 上面去。这种模式会变成一种方向,而这个方向的代表就是 Docker。

不过在 Docker 的使用有两个问题,第一个是使用时需要拉取 Docker 镜像,第二个是后期维护的比较困难。因为镜像分发会遇到一个存储的问题,镜像文件非常大,保存在哪里?存在存储上。之所以出现 Docker 雷声大雨点小的现象,是因为中国开发者使用 Docker Hub 服务不是很方便,所以看起来它很热,但是使用起来就不是那么简单。而对于大公司,开发规模动辄几百上千人,Docker 镜像的访问也会变成一个瓶颈,这是非常讨厌的事情。

Docker 今天的原生态服务在中国没有用起来,大家都是拉码下来之后自己去搭建。很多线下的专有云或者私有云去使用 Docker 的时候,后期的维护并不比不用 Docker 简单。

基于这些看法,不论是今天我们和 Docker 的合作,还是让 Docker 去支持我们的 OSS,都是为了提升当前的产品、效率和能力,我们希望以一种平台式的方式分享出来。我们必须跟 Docker 官方合作,因为目前阿里云我们是全球第三的概念产品。这种官方服务,会提供出来今天真正的那些技术能力,而不是简单的改码,简单改码就没有意义了。

关于此次合作

一、三方面内容
这次合作主要包含以下几方面的内容:

  • Docker 公司选择阿里云平台作为 Docker Hub 在中国运营的基础服务。Docker Hub 等服务落地中国,可以更好地服务国内开发者,促进中国技术社区的成长。得益于阿里云强大的云基础设施,将会极大提升国内用户对 Docker 服务的访问体验。
  • 阿里云也是首家在国内获得 Docker Engine CS(商用版)以及 Docker Datacenter (DDC)销售权,为 Docker 客户提供企业级支持和咨询服务。阿里云将利用自己的技术能力和市场影响力推动容器技术在国内企业落地,和合作伙伴一起帮助企业利用容器技术提升效率、实现业务创新。
  • 阿里云将成为 Docker 官方支持的云服务提供商。Docker 可以更好地支持阿里云能力,提升用户体验,把阿里云打造成为容器运行的最佳平台之一。

二、关于 Docker Hub 的详情
关于 Docker Hub,阿里云和 Docker 公司会一起携手合作,具体时间表之后会官方发布。阿里云会成立相应的团队,一方面帮助 Docker 服务落地中国;另一方面支持 Docker 商业化软件的销售、服务和咨询等,和国内的合作伙伴一起在企业中推广容器技术。

阿里云不会对 Docker Hub 的官方镜像做任何修改。用户可以从 Docker Hub 中国站得到与现有 Docker Hub 中完全一致的、可信的 Docker 镜像。

三、覆盖私有云和公有云
此番合作涵盖了私有云和公共云等领域。用户购买的 Docker Engine CS 和 DDC 既可部署到自己的数据中心,也可部署在公共云上。同时 Docker 将支持阿里云作为认证的公共云提供商。云平台可以提供了弹性的基础设施,而 Docker 变革了软件交付流程;有机的将二者结合起来将重新定义企业的 IT 基础架构。

Docker 具有良好的可移植性,可以轻松在不同环境中进行应用部署,这大大加速应用上云过程。同时可以方便地实现混合云方案,当业务出现峰值流量时,可以快速将本地数据中心应用扩展到云端。在阿里云发起的中国容器调查报告中,70% 的用户选择将 Docker 用于公共云,而 45% 的用户会选择利用容器构建混合云方案。

在公共云上,阿里云容器服务在兼容社区标准的基础之上提供了和阿里云能力的深度整合和优化。容器服务提供的存储插件可以满足不同应用负载对存储的需求;利用 VPC 的网络能力,提供了更加高效的容器互联方案,并且支持混合云;利用 ECS,支持容器集群节点的弹性伸缩,可以轻松应对峰值流量。同时容器技术不是银弹,无法解决一切问题,容器服务可以方便地组合容器和云服务实现一个完整的应用栈,比如容器中的 Java 应用使用由 RDS 提供的高可用、高性能的数据存储能力。

未来阿里云会继续推动自身的容器服务发展,进一步推动虚拟化和容器技术的整合。除了对用户直接提供服务外,容器服务还会为阿里云其他的云服务提供应用基础环境。比如在阿里云“轻计算”中,存储服务了提供一系列即开即用的数据处理功能,比如视频转码;而容器服务就是其底层的资源调度和执行系统。在深度学习应用中,传统方式存在部署复杂、迭代缓慢的问题,而 HPC 和容器服务团队一起携手实现了支持 GPU 加速的应用快速部署、弹性伸缩和 DevOps 的全链路支持,极大提升了工作效率。

与传统的硬件虚拟化技术不同,容器技术是操作系统级别的虚拟化。在 Linux 宿主机上,所有容器会共享相同的操作系统内核,只是通过 namespace、cgroup 进行隔离,并利用 SELinux 等安全策略限制容器内进程的权限。目前而言,容器的安全、资源和网络的隔离能力都弱于虚拟化技术。在云环境中为了保证用户应用的安全和 SLA,阿里云容器服务结合了虚拟化和容器技术。用户的容器应用是运行在用户独享的虚拟机之上,这样就可以充分利用虚拟化技术来保障隔离性和安全。同时还可以完全复用成熟的虚拟机热迁移、存储、网络等能力。

四、阿里云的容器服务
阿里云非常关注容器,阿里云在 2015 年底就推出了容器服务,并在 2016 年 5 月正式商业化。容器服务为用户在云端提供了一个高性能大规模的容器应用管理服务,支持在一组云服务器上通过 Docker 容器来进行分布式应用的部署、更新和弹性伸缩。

容器服务在产品定义之初就制定了全面拥抱开源生态、深度整合阿里云自身能力的目标。容器服务完全兼容 Docker API 和 Docker 原生编排技术(Docker Swarm/Compose),可以方便地和三方工具集成并复用任何 Docker 镜像和 Docker Compose 模板,这也将大大降低用户的学习成本。在此基础上,充分实现了容器和阿里云能力的整合。比如利用 Docker 的 Volume 和网络插件,实现了对阿里云存储服务 (文件存储、对象存储等),网络能力(比如 VPC)的集成。除此之外,容器服务在资源调度、微服务支持等方面有很多独到之处,而这些扩展能力大多是在 Docker 技术框架下利用声明式的方式为用户提供出来的,比如用户可以简单地在容器启动参数中添加 label,就可以描述应用的可用性约束(比如跨可用区部署)或者操作 SLB 实现服务路由。

在和 Docker 公司的讨论中,Docker 公司专家非常赞赏阿里云在兼容 Docker 方面所做的努力和创新,这非常吻合 Docker 社区技术的发展战略,充分体现了云 + 容器的独特价值。

阿里云容器服务团队会推动 Docker 社区对阿里云的支持,比如我们会将之前为阿里云存储、网络等提供的插件逐渐开放到 Docker 社区,这将大大提升容器应用在云端的能力。同时阿里云团队也会更多参与到 Docker 社区中推动 Docker Engine 的开放性,允许通过合理设计的扩展点支持不同应用类型需求。

阿里如何看待用户对 Docker 商业化软件的私有定制需求?每个企业都有自己独特的需求,所以定制能力和可扩展性是企业软件的必备能力。

一方面,Docker Engine 本身提供了扩展机制来应对应用执行和运维的多样化需求,比如存储、网络、日志等。在 Docker 商业化产品上也提供了一些扩展点,比如应用的路由和负载均衡等。

另外一方面可以用户或者 ISV 可以通过容器化的解决方案来满足企业的特定需求。比如可以部署一个容器化的 Jenkins 服务来支持企业的 CI/CD 流程,等等。Docker 公司、阿里云和三方的软件商、合作伙伴都会为企业提供定制化的解决方案。

阿里看 Docker 的生态发展

一、与国内 Docker 创业公司是同路人
国内现在有很多 Docker 创业公司,所有国内容器的创业公司都是我们的同路人,因为我们都相信容器技术的价值,并一起推广容器技术在国内的普及和应用。随着 Docker 落地中国,更多开发者可以接触到容器技术,而更多的企业会开始基于容器技术实现业务创新,这都将大大加速容器技术成熟和市场的扩展。

容器基础设施和商业落地本身就意味着更多的创新机遇。在美国的容器初创企业的生态非常丰富:容器基础服务 (存储、网络),管理服务 (监控、安全),应用服务 (Serverless、大数据、机器学习、IoT),开发服务(DevOps)等风起云涌。同时容器生态的成熟将促进相应的培训、咨询、实施等服务产业的健康发展。阿里云愿意和国内的容器创业公司一起推动这次技术变革和产业链升级。

二、致 Docker 创业者的一些建议
阿里云弹性计算总监张卓曾在云栖大会上表示“比起来单纯地做 Docker 解决方案,更好的思路应该是深耕 Docker 生态圈中的技术创新”。我非常认同张卓的观点,由于平台化公司自身拥有良好的规模优势,并可以迅速整合自身能力和上下游产业链,技术初创公司只有深耕技术创新才能拥有自己在市场上独特的定位和价值。

我们知道,对于初创技术公司,要有自己的核心竞争力,并在自己擅长的垂直领域迅速建立竞争门槛并形成规模效益才能获得长远的成功,同时要借力推动生态的建立。

Docker 公司就是一个典型的例子,作为一个初创公司,他首先利用简化的用户体验迅速建立起容器应用社区,很短的时间里积累了大量的用户和 Docker 化应用。之后通过一系列对业内顶级团队的收购,不断实现自我进化,抬高了竞争门槛,从而确立了自己的技术领导地位。同时,Docker 公司也在和云平台和 IT 企业公司的合作一起拓展生态。这次 Docker 公司选择阿里云作为合作伙伴,就是希望借力拓展国内市场而非自己完成所有的工作。

谈到创新的机会,Docker 公司的创始人 Solomon Hykes 说过 “Nobody cares about containers, it’s the application that matters!” 这句话非常有道理,容器只是一个技术,而应用才是王道。我想信越来越多的容器创新将围绕着应用、解决方案创新而出现。

三、愿容器技术生态繁荣开放
阿里云非常希望看到一个繁荣、开放的容器技术生态,我们非常欢迎各种编排技术在阿里云落地。阿里云做了很多工作来推动容器技术在中国落地,包括对 Docker 等开源社区的支持。

Docker 是目前容器引擎的事实标准,尤其目前超过 40 万的 Docker 镜像更是其最大的一笔财富。其他容器引擎比如 CoreOS 的 Rocket 也会有自己的细分市场。开源社区 OCI(Open Container Initiative)也在推动开放的容器镜像和容器交互标准。在 2016 年 10 月, OCI 的参考标准的 1.0 RC 版发布,我们也期待在这个开放框架下能够带来更多的创新。

在容器编排领域,目前 Kubernetes、Mesos 和 Docker Swarm 三雄争霸,各有所长,各有适合的场景和活跃的技术社区在背后支持。从技术上而言 Kubernetes 对微服务应用的支持比较完整;Mesos 在大数据领域目前一枝独秀;Docker Swarm 出现虽晚,但强在易用性和与 Docker 生态的良好兼容。一方面,用户应该根据自己的需求和技术能力选择合适的技术;另一方面技术的良性竞争也会让用户收益,比如 K8S 最新的 1.4 中大大简化了部署复杂度,而 Docker Engine 内置编排能力也不断增强。

四、容器技术之于云计算
关于 PaaS (Platform as a Service) 每个人都有自己的定义,我们先给出我们的理解。PaaS 为应用提供了一个支撑环境,让用户关注于应用自身,而平台会通过自动化的方式解决应用部署、伸缩等复杂性。

阿里云一直基于容器探索 PaaS 服务领域,从早期基于 LXC 到现在基于 Docker 技术。一方面,阿里云已经有一些服务化的基础产品供大家使用,如容器服务、API 网关、函数计算和弹性 web 等等。另一方面,我们也会通过适配阿里云的计算、存储和网络等能力来帮助客户在阿里云上部署开源的 PaaS 产品,如 Cloud Foudry、OpenShift 等。

从前 PaaS 的发展没有达到人们预期的一个重要原因是:传统的 PaaS 有很多限制,用户需要根据 PaaS 平台的要求来调整、改变自己应用的开发和运维流程。而 Docker 提供的交付和部署的抽象化和标准正好可以解决这方面的问题。我们认为 CaaS(Container as a Service)是在 PaaS 领域一个新的探索,它更好的平衡易用性和灵活性的二者关系。一方面 Docker 技术在软件生命周期中提供一个标准化的方法来进行开发、交付和运维,在简化流程的同时优化效率;另一方面它又提供了良好的灵活性,允许用户自由的选择编程语言框架,并和自己的 DevOps 流程方便地集成。

以阿里云容器服务举例,很难说他是一个纯粹的 CaaS,首先它管理的不仅仅是 Docker 镜像或容器。更重要的是它从应用的视角关注如何组合容器和云服务来提供应用生命周期的支持。它在兼容 Docker Compose 编排模板和 Docker Swarm 集群管理能力的基础之上,提供了扩展来支持服务注册、发现、路由,监控,弹性伸缩等微服务架构需求,并提供了良好的 DevOps 能力,比如支持多种发布策略(滚动升级、蓝绿发布)等,提供一站式应用生命周期管理。

我们可以看到传统 PaaS 和 CaaS 技术也在融合,我们完全可以不局限于概念之争,而是从解决开发者的痛点出发,推出不同垂直领域的服务为用户提供价值。

从应用架构的角度,容器技术可以方便地支持微服务架构实现应用的现代化,更加灵活的应对变化和弹性扩展。在软件生命周期管理上面,容器技术可以帮助把 DevOps 等最佳实践落地成可运用的标准化工具和框架,大大提升开发效率,加速迭代。在基础架构层面,利用容器技术带来的可移植性,帮助开发者和企业更便捷的上云和迁云,让应用在自有数据中心和云端实现动态迁移,扩大并进一步催熟云计算市场。同时随着容器技术和已有云计算的计算、存储、网络的进一步融合,将推动从传统以基础设施为中心,向以应用为中心的 IT 架构转变。

站在云厂商角度看,容器技术是对云计算、虚拟化的良好补充,可以提供了更加敏捷的软件交付方式,促使云计算厂商逐渐将业务从 IaaS 层演进到 PaaS 等应用层解决方案,大大丰富云计算的场景。

容器创业公司观点

数人云创始人王璞:容器已经成长为一个生态,Docker、阿里云、容器初创公司都是其中重要角色。多元化的容器技术, 云计算的巨头参与,以及容器创业公司的垂直专注,都会推动开源容器生态的快速发展。目前还处在成长初期的容器市场,Docker 和阿里云两个巨头合作无疑会推动容器相关市场快速发展。同时,容器相关生态也在动态变化中,更多的容器开源技术不断涌现。容器生态中的各个角色包括创业公司在内都会有更多的发展空间。

才云创始人邓德源:阿里与 Docker 的合作将进一步推动国内容器市场的发展,对创业公司而言实际上是一大利好消息。就目前形式来看,尽管国内市场体量大,企业普遍对容器感兴趣,但真正敢于将容器技术落地在生产环境的企业毕竟是少数。相信阿里与 Docker 的合作会极大改善这种局面。容器仅仅是构建整个平台的基石,这次的合作实际上是进一步巩固了该基石。如果创业公司的切入点是在这个平台能力之上提供 SaaS 服务,跟 Docker 实属上下游的关系,那么对于这部分创业公司是有百利而无一害的。

好雨云创始人刘凡:容器技术市场正处于成长初期,阿里云和 Docker 达成战略合作,不仅证明了容器技术方向上的正确性,为整个容器生态的快速发展带来了巨大的推动作用,也为专注容器技术的创业者提供了更大的发挥空间。另外一个不争的事实是,容器技术这一市场体量足够大、机会足够多,在这个生态中被大鱼吃掉的往往不是小鱼,而是懒鱼,短期内几乎很难出现一家独大的局面。Docker 的确是一种非常优秀的容器技术,但在整个容器结构上,编排工具的重要性不容忽视,甚至要超过容器技术本身。以 Docker 为代表的容器技术 + 以 Kubernetes 为代表的编排工具才是目前云计算的方向所在。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016 年 10 月 27 日 19:005686
用户头像

发布了 58 篇内容, 共 38.1 次阅读, 收获喜欢 17 次。

关注

评论

发布
暂无评论
发现更多内容

拙见/ 什么是自驱力?

ZoomQuiet大妈

自我提升 大妈 是也乎 IMHO 蟒营®

[翻译]The Go Blog《Go maps in action》

卓丁

go golang hashmap map 哈希表

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十一)编写测试-动态测试

编程道与术

Java 编程 TDD 单元测试 JUnit

食堂就餐卡系统架构设计文档

dony.zhang

游戏夜读 | 如何面对前景渺茫?

game1night

读《你的灯还亮着吗》

liu_liu

读书感悟

[架构师训练营] Week01 - 食堂就餐卡系统设计

谭方敏

学习

3年内从负债到买房三套,勤劳不能致富,工资只能温饱

陆陆通通

创业 程序员 赚钱 买房

你不能不掌握的软技能——业务语言

KAMI

方法论 开发 沟通 软技能

k8s 上运行我们的 springboot 服务之——自动化测试

柠檬

maven DevOps Unit Test

公司治理的两个关键要素:存在的基石 + 成长的飞轮

泰稳@极客邦科技

发展 公司管理 增长

SpringMVC中Http请求方式转换(post转换为put/delete等方式)

知春秋

springmvc post post到put方式请求 post到delete方式请求

如何基于 OAM 编写一个扩展 Trait?

钱王骞

云原生 k8s OAM

Libra教程之:Libra协议的关键概念

程序那些事

区块链 libra blockchain 协议

LeetCode 756. Pyramid Transition Matrix

liu_liu

LeetCode

架构师训练营第一周作业

Benjamin

Libra白皮书解读

程序那些事

区块链 facebook 数字货币 libra

由一次管理后台定时推送功能引发的对RabbitMQ延迟队列的思考(一)

LSJ

Java RabbitMQ 延迟队列

如何用日记提升写作能力?

石云升

学习 方法 写作

算法基础:排序算法看这一篇就够了

公众号:好奇心森林

排序算法

Zookeeper 序列化

CoderLi

Java zookeeper 源码分析 后端

互金总结系列(1)--开篇

互金从业者X

大中台模式下如何构建复杂业务核心状态机组件

古月木易

做产品少走弯路:上帝视角(2)

我是IT民工

产品 方法 路径 知识体系

白话说流——什么是流,从批认识流(二)

KAMI

大数据 flink 流计算

《Golang工具go doc使用透析》

卓丁

golang godoc go doc golang如何实现接口 源码阅读

大中台模式下如何构建复杂业务核心状态机组件

奈学教育

中台

Kafka零数据丢失的配置方案

奈学教育

kafka

小师妹学JavaIO之:NIO中那些奇怪的Buffer

程序那些事

io nio Java 25 周年 小师妹 buffer

ARTS WEEK3

紫枫

ARTS 打卡计划

[转载]Go 和 Java的15个主要差异

卓丁

Java golang

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

Docker首个国内合作商,阿里云何以认定容器技术将成主流?-InfoQ