从Docker的转变,谈容器生态与微服务的发展

Docker 为什么最初发展那么快,因为是面向开发者,个人用户或者中小企业,这是他兴旺起来的市场。起步于个人消费者市场,却又想立刻切入企业级市场必然会有很多水土不服,这种背离最初的起源的做法并不是很明智,我认为面向个人消费者其实才是 Docker 的固有基因。

那怎样才是 Docker 更好的盈利模式呢?在我看来,Docker 可以在镜像仓库上发力,做成类似苹果 AppStore 的模式。Docker的优势在于他有镜像的入口(互联网最关注的几个价值点之一),他应该把镜像市场运营好,第三方在使用镜像的时候进行付费。比如 MySQL 镜像,网上不说一万种也有一千种;但是哪个镜像好用还真考验用户,如果用户用的不好,也没有反应并改进的渠道,其实这样也不利于 MySQL 镜像的持续发展,如果 Docker 能够对自己仓库市场的高质量 MySQL 镜像收费,然后分成给做 MySQL 镜像的公司,做 MySQL 镜像的公司也可以根据客户的反馈进行不断优化,做到生产可用;那么用户应该是乐意付租金费用的,毕竟自己花费成本做一个生产可用的 MySQL 镜像成本不低,这有很大的经济价值。Docker 可以与 MySQL 等厂商进行利润分成的模式扩展,就比较容易盈利了。

迷途知返:Docker 公司重拾初心?

经过激烈的碰撞,现在 Docker 又回归到自己擅长的老本行中,将视线从编排界收回到容器技术。

1、Containerd 的开源

12月13日,Docker 开源了Containerd(https://containerd.io),它是为 RunC 提供接口并进行镜像的管理。非常有意思的是 Docker 没有把 Containerd 贡献给 Apache/Linux 之类的基金会,或是直接贡献给 RunC,而是单独开源,这个态度很是微妙,体现了对 RunC一定的防范,目前有 AWS、Google,IBM、Microsoft 和阿里云等作为初始成员,会为项目提供贡献和维护人员。 我对这个举措解读为 Docker 对容器技术的回归,并且是对16年争论的折中,他希望生态更加开放,更良性的发展,降低业界对 Docker 封闭的担心,同时也是通过 Containerd 作为桥梁,让大家更多地关注回 Docker,抵消因为生态分裂对Docker 带来的不利影响。

在我看来,这其实也不失为一种对 RunC 的堤防措施,让大家在使用 RunC 同时也不忘记 Docker;开源的举措也可以一定程度缓和关系(不过,我认为 Docker 并不会把Containerd 交给 RunC 方运营)。

2、DataCenter "钱"途未卜

今年年初的时候做了 DDC (Docker Data Center),其目的是为了向客户收费。但是,目前无法找到这个项目的营收数字,单从 DDC 和 Docker 开源部分来说,没有太大的差别,商业价值还无法确认。

3、与阿里云合作的全面合作

Docker 选择重量级的公司合作其实是一个明智的选择,虽然这对做 Docker 镜像仓库公有服务的小公司确实不是好消息。大公司的好处有人力和财力,而且 Docker 的商务版(DDC)未来要放在国内公有云上,阿里有这样的基础设施,可以在初期承受大量客户免费试用的投入,在 IaaS 公有云生产级别也更可靠。

当然,有人欢喜有人忧,此番合作还意味着:Container as a Service 公有云的市场就已经定型了,做 Docker 镜像仓库公有市场对创业公司关闭了。

4、Swarm 还会继续,但前景不明

Docker 还会把 Swarm 继续支持下去,但是编排领域的有很多细分的市场,Swarm 的发展目标应该会是小规模的集群;而且 Docker 的发展重心还是会回到容器本身,因为只有精专容器本身技术,才会凸显 Docker 独特的优势。做编排的话,从社区热度、贡献人数、发布频率可以看出,Swarm 应该是会被其他竞争对手的光环所淹没。

Docker 重新考虑在做的就是扬长避短:既然短处不能补成长处,那么就需要回归继续发扬长处。

避免竞争误入歧途,容器生态仍有蓝海

上文提到了 Docker 与阿里云合作对国内一些创业公司造成了影响。我还想谈谈我对容器创业的一些建议:首先我不认为在 Docker 之上进行定制出 CaaS 是有市场做法,创业公司如果一定要局限于 Docker 创业,可以考虑在 Docker 生态圈中,还有那些技术空白点,然后专攻一点成为特色(这是国外容器创业公司常见的做法,Docker 也收购了很多此类的优秀公司)。

那么容器生态的创业还有哪些蓝海领域呢?除了上文提到的容器类技术和编排集类,其实还有插件技术,这可以看做是两者的交集部分。插件技术是很多样化的,比如网络、存储,并且有很大的发展潜力。容器的各类插件在2017年将会有较大、较快的发展,这块目前还属于拓荒地带,经常可以看到技术进展,比如存储插件就超过10类,而且很不成熟,如果能做统一化或是成熟后、简化,都可以成为很有价值的技术。以网络插件为例,Docker 有 CNM 标准,CoreOS、Mesos、Cloud Foundry 有 CNI 标准,当然这两种标准从技术上讲还是有很多不兼容的地方,接下来的发展是兼容还是统一,还是一强一弱导致弱势方自然淘汰,需要走一步看一步。而至于存储,目前主要由很多存储厂商主导,根据自己的存储特性研发的存储插件,种类多且复杂,在何种情况下使用何种插件很考验用户对存储插件的理解能力。这些外围的插件还有较大的发展空间。