近两年来,Linux的容器技术占据了世界企业IT市场的主导地位,并且基于很好的理由-除此之外,它们所承担解决的问题就是虚拟化根本无法在应用软件开发和计算行业大规模应用,并允许企业世界真正拥抱像DEVOPS概念和微服务(多年的面向服务的架构梦想已经过去了)。这就是你听到的呼声,IT设备商们正急切迎向容器化的时代。但是,就像每一个新兴的技术趋势,这并不总是一件好事,因为不是每个人都能走的通,而不管企业可能面临的实际问题。

作为操作系统的扩展,特别是Linux内核扩展的一部分,Linux的容器可以在运行期创建和格式化,然后用在跨集群的主机上协调网络和存储资源。最终的结果是一组轻量级的,动态的和安全的应用服务,每个自包含于Linux容器内,并能够通过自身或与其它容器的应用程序一起运行以创建更灵活,但更复杂的企业应用程序。

容器的这些能力显示了对于当前某些IT产业细分市场显著的竞争威胁,并且是对于专有计算堆栈的又一沉重打击(主要是针对Linux),这是显而易见的。然而,Linux的容器以及和它有千丝万缕联系的Docker容器技术也同样面临着一些不可忽视的威胁,甚至在这些技术走向成熟之前。当前,对于这些技术的看法都是相当正面积极的,那么是什么在威胁着容器技术的未来?

总体而言,有以下三个有关Linux容器采用和容器化基础设施部署相关的问题:

  • 标准碎片化
  • 专有代码和虚假开放源
  • Container washing(container washing寓意容器化包装和洗脑那些可能和container并不相关的东西,首先来源于cloud washing)

碎片化

碎片化可以说是在商业世界面临的影响Linux容器被采用最危险的威胁。假如没有清晰的,易于采用的标准,尤其是针对于镜像格式和编排水平,将会导致大部分企业会放弃拥抱该技术。简单来说就是没有任何IT的决策者想要负责支持一个失败的任务。举个消费者世界的例子,假设有人存了满仓库全部是HD-DVD播放器和配件,然后发现蓝光已经赢得了最终的市场。损失将会是指数级的增长,这就是企业世界的现实,也是Linux容器技术标准将要面临的。

虽然碎片化是目前影响Linux容器被采用面临的最严重威胁,但它也是最容易被解决的问题之一。两个新的都是由Linux基金会控制的基金会已经成立,它们近期已经开始运行以帮助消除Linux容器世界中碎片化的阴霾。

开放容器倡议旨在提供从底层的标准用于容器镜像格式和运行,以及容器化应用程序的开发。

云本地运算旨在推动标准用于开发、运行和规模化分布式应用程序基于Kubernetes为流程起点的最佳实践和互操作性。

虽然这两个组织是一个梦幻般的开局,在从容器完整的生命周期复杂性来看,它需要从标准的角度持续性的关注。随着技术的不断完善,为企业采用,极有可能会有更多的“格式之战”类型混战会随之而来,从大的层面上来说这取决于整个开源社区如何帮助调节和编撰这些争论,从而形成通用的标准和实践。随着两个基金会的启动推进以及后开源社区的最佳实践,我们可以希望,标准化继续开放发展,而不会妨碍或放缓创新。

“半开放式”也实际上意味着“全封闭”

碎片化的威胁也提出了另一个重要问题。当我们谈到容器,实际上它包含开源的内核或者“虚假的开源”Linux容器的周边产品。尽管都有“Linux”在名字中,容器可以广泛的适应于专有以及开放栈。这样会出现问题,当专有的代码和服务基于它们的方式逐步的进入容器化解决方案时,它们都会被以为是完全开放的。“虚假的开放”威胁并不是新东西,首先我们曾经在Unix以及最近大多数云计算方案中见过,尤其是PaaS和基于openstack的方案表面上是开放的但是最上层是基于开源基础的专有技术。

Linux容器,虽然还处于被企业IT市场采用的生态周期的早期(尽管步伐在加快)。如果专有技术依赖落地于容器化技术,而这当前已经几乎肯定的事,那么IT界的情绪会变味。这究竟是一个创新,还是基于旧有专有系统的延续?从封闭的协议栈到高昂的许可证将导致创新的极大萎缩,在开放社区的血、汗、泪创建的基础之上加入虚假开放代码将会迅速抑制周围的开源热情和创新基础。

Container washing

在云计算热潮激动人心的日子(可以说这热潮仍在进行),云清洗的概念诞生了。实际上,一个IT供应商将采取基于已经存在的产品和“washing”的营销材料,用规格表等云行话来包装,希望说服客户和潜在客户,这个现有的供应商是云计算新兴世界中的玩家。

现在,我们看到的container washing也在同样的发生,那些和容器热潮轻微相关(或完全不相关的)供应商和解决方案都在试图以它们的方式进入这个市场。这里的威胁远远大于碎片化或虚假开源,它是一个威胁颠覆了容器实际上是什么东西。

举个例子,关于容器和虚拟机概念上的混乱。我们当然可以在虚拟机上跑个容器,或者是反向为之,但是两种技术解决的是不同的问题。通过虚拟化基础设施服务与应用程序代码的结合提供了抽象,容器是允许在轻量化软件环境中干净隔离并理想调用的最好方法,作为主要的服务提供方法。

通过与那些由容器提出混为一谈的现有技术,这种威胁创造了企业在考量容器采用时更多的混乱和烦恼。相对于仅是挑选最适合他们的,IT团队现在还需要调查解决方案是否真正提供Linux容器的便利,还是仅仅是市场宣传。这很容易导致当谈到部署新的技术时,IT部门总是会倾向于阻力最小的方案,就像一句古语所说“你不会因为你购买了什么而被解雇【某个IT供应商的名言】”。

上述三个是当前最大的,但并不是仅有的,我们所面临的对于Linux容器技术生态系统成长的威胁。这并不是说这些问题会阻止容器技术被采用,碎片化问题已经被定位,并且IT的领导者们已经体验过Unix和Cloud的战争并可以理解小心谨慎的处理开源核心和行话包装产品之间的差别。但是重要的是要记住,通往创新的路径永远是布满荆棘的,Linux的发展是如此,云计算也是如此,现在轮到Linux容器了。

它最终是取决于开源社区,企业界和创业公司,并建立IT设备商在围绕Linux容器中的创新来越过这些障碍,通过合作和奉献来帮助容器技术真正实现它们的企业应用潜力。

作者Lars Herrmann是RedHat综合解决方案事业部和容器策略的总经理。