*编者注:本文英文版来自VentureBeat,中文版由天地会珠海分舵编译。当以Docker为首的容器正在席卷全球,蔚然成风的颠覆着原来的应用开发和发布方式的时候,容器标准之争却从来没有消停过。而标准之争这场没有硝烟的战争又带来了对用户没有任何意义的巨大浪费,这时就很需要有一个统一的标准出来一统江湖,结束这场无谓的战争。此时,OCP就应运而生了...
这几个星期对于容器以及互联网软件行业来说都是值得高兴的日子。在六月下旬的DockerCon大会上,Docker以及其他社区发布了大量的非常有意思的消息。
这其中最重要的消息应该算是公布了由Docker和CoreOS主导的,开始建立一个开放容器格式标准的“开放容器项目(OCP)“。
一个标准的建立过程是非常乏味的,起码对大部分人来说是这样的。但是如果没有一个统一的标准的情况下,标准之争的战火将会对容器这个新兴产业带来极端的破坏。大家可能还记得最近的一场关于DVD标准的蓝光vs.高清晰度DVD的格式标准之争。主要的视频生产商在DVD标准之争打得不可开交,消费者同时也在隔岸观火静观其变,而不是盲目的就去买一个所支持的格式不确定是否会成为标准的产品(如果大家再多等几年的话,可能他们就会直等到当今视频流媒体的出现了。至于流媒体,这又是另外一个故事了)
Docker的首席执行官Ben Golub打了个比方来形容这种格式标准之争所带来的浪费:这就好比火车轨道的宽度标准之争。与其无休止的为究竟多宽的轨道才是标准打得不可开交,大家不如(坐下来统一一个标准)关注应该如何打造处一个更好的引擎。
这就是为什么OCP能够得以诞生的原因了。下面就是对OCP标准的更详尽的一些描述。
OCP详情
OCP存在的目的是打造一个“开放容器格式”的标准。这里的格式包括容器镜像格式以及运行时环境。
Docker为OCP组织贡献了他们的libcontainer项目,并更名为runC,正是这个项目为OCP奠定了技术基础。而来自CoreOS的“应用容器”项目,APPC, 也会是形成新的OCP格式的很大一部分。APPC往往是因为它的rkt格式而为世人所知晓(rkt是APPC的实现标准)。根据CoreOS的熟悉执行官Alex Polvi所述,“我相信来自APPC的很多核心概念都将会成为OCP新标准的一部分。“
OCP是在Linux基金会的资助下运行的项目,在本文撰写的时候已经有21个成员加入(其中创始成员包含项目创始成员包括 CoreOS, AWS, Google, Redhat, VMware, EMC, 华为)。
OCP究竟意味着什么
OCP之所以对于我们是个振奋人心的消息主要体现在3个主要方面。
首先,尽早的为容器格式建立一个标准,这样用户就不大可能因为技术或者工具底层实现细节的差异而受困于容器提供商的封锁。大家如果有着从安卓手机切换到苹果手机(反之亦然)的经历的话,肯定对两者电源和数据线的标准的不统一而深恶痛绝,因为他们没有采取统一的开放标准,所以一方的数据线和电源是不能用于另外一方的。
其次,降低提供商的封锁对用户来说能够带来即时可见的好处。如我们前面所说的标准之争会让消费者迟疑不敢在运营商做出技术决定之前下手购买相关产品。如果标准定下来了,大家就无需徘徊观望了。从而用户就可以更快的应用上相关的技术,采取该技术的企业也可以加速的一往无前的向前推进自己产品的开发,而无需等到一大帮竞争者都跟自己站在同一起跑线上才开始往前推进。
最后,OCP的出现将会让围绕容器的工具加速的产生。否则,如果是标准之争还在持续的话,工具开发者也会和消费者一样会徘徊在应该选择哪个标准的两难境地。而最终确定谁是最终的赢家的分析过程是非常耗时且代价昂贵的,这里因等待而多消耗的每多一小时,就意味着你会晚一小时给用户提供解决方案来解决他们的痛点,那么就意味着更多的竞争者就会出现。如果开发人员看不清楚最终哪一方将会是标准之争的胜出者的话,他常常就迫于无奈需要对不同的格式都进行支持。我自己作为一个工具开发者,对于OCP的出现我是欢喜雀跃的。
标准建立得困难
OCP的出现确实是个好消息,但,这并不意味着所有问题都已经迎刃而解了。
这个开放标准也会存在一个阴暗面:成员之间因为各自利益的考虑而在订立该标准的过程中所引发的暗箱操作和无意义的复杂斗争。随着竞争对手Docker和CoreOS紧随其他19个成员加入到OCP的创始人行列,就意味着整个标准的订立过程中就会充满着陈枪舌战,大家为各自利益着想而对标准订立的分歧只会让拖慢标准订立的过程,甚至还会有人尝试改变整个标准订立的方向来迎合他们自身的利益。
就拿OpenStack来说吧,尽管它获得了快速的发展和解决了用户真正的痛点,但是它还是逃脱不了上面提及的这些问题。OpenStack结果是做得比本应该的还要复杂,最终是在用户采纳程度上付出了代价。
在我看来,避免过于复杂对于OCP这个新标准来说就是至关重要的。
注:更多文章请关注公众号:techgogogo或官网www.techgogogo.com。当然,也非常欢迎您直接微信(zhubaitian1)勾搭。欢迎转发转载,转载时务请注明公众号信息。