容器集群的抽象层为基础设施自动化实施提供了新的方式,在此之前,企业只能在相对低智能的IaaS平台和传统僵化的PaaS平台之间二选一。但是企业会为新的方式买单吗?
平台即服务(PaaS)的产品例如Heroku、Red Hat OpenShift以及Cloud Foundry,很早就使用容器或者子操作系统工作负载分割作为运行单元,因为容器支持细粒度基础设施共享,同时也能保证工作负载的互相隔离。
容器的使用已经扩展到PaaS平台以外的生产应用,它正越来越多地被部署到服务器基础设施集群中,这些基础设施都被高度编配管理,具备自动化部署、自动化删除、自动化出错重建的能力。
对于新兴的PaaS平台服务产品也是同样情况。近期有关容器的焦点不是如何分割工作负载,而是如何规模化地管理容器集群。容器编配中大量关键对象的管理需求非常强烈,特别是在复杂的集群抽象层。目前已有的相关产品为CoreOS的Tectonic,Apache Mesos和Google发布的Kubernetes。
这些集群管理工具为IT基础设施引入新的自动化方法,减少IT工作者对单个服务器的手动操作以及相关管理工作。这个特点仍然遵循PaaS的基本原则之一——在对基础设施的直接控制方面,比传统的高度抽象的PaaS服务更进一步 。
针对新的受众的新兴PaaS服务提供商
开发者不会在短时间内放弃传统的PaaS平台。相反地,这类新兴的PaaS附属抽象化服务产品对新一代的IT运维工作者非常有吸引力,因为运维专员需要搭建并维护基础设施平台以满足新型应用架构的高度自动化需求,而传统的IaaS平台无法满足这种需求。
“在一定程度上,目前真正开始使用这种技术的目标群体与PaaS提供的抽象化服务的目标群体并不一样。”作为一家最近开始支持Docker的PaaS服务提供商,瑞士电信公司的云平台开发团队负责人Marco Hochstrasser这样评价。
“容器技术是什么对于我来说没有区别,”Hochstrasser说,但是“Docker已被广泛采用,它所形成的标准为市场打开新局面,使服务提供商能够在此基础上开发附加价值。”
在大型企业中,他们可能会简要地谈到Docker,但是话题会很快转到一些问题,比如如何从桌面部署应用到PaaS平台,如何做到他们之间的内部连通。当与客户的CIO和系统管理员交流时,“他们会谈论为什么Cloud Foundry不能做这个?为什么我不能在自己的环境中运行HAProxy,为什么我不能配置这个?”Hochstrasser说,“这些问题代表了不同的看法和观点。”
不断上涨的Docker浪潮正在托起PaaS领域的所有大船,因为这个新的参与者使PaaS平台焕发新生,也迫使它迎来了技术变革。
“这些技术正在混合成为相同的概念,” Booz Allen Hamilton公司的战略创新团队高级技术专家Nirmal Mehta说。Booz Allen Hamilton是一家咨询公司,与当地政府组织一起从事DevOps文化的创建工作。
“PaaS加速了容器化技术的普及,反过来容器化技术也推动了PaaS的普及,”Nirmal Mehta说,“目前我们正处在一场战争的初期阶段,这场战争将在容器编配领域互相竞争的各个平台之间打响。PaaS在某种程度上发挥了粘合剂的作用,编配容器所需要的所有组件都需要涂上这个粘合剂。”
PaaS提供商学到新招数
对于一些开始支持微服务的新兴PaaS平台,例如Apcera,为IT基础设施管理提供了一个基于策略的可选方案。这个方案不要求IT放弃对于云服务提供商或者内部开发者的完全控制。
Juan Garcia是一家纽约的名叫nextSource的人力资源服务公司的CTO,他对于Apcera的评价是:Apcera所提供的基于策略的资源配置与其他大部分PaaS服务提供商的产品有所不同。
“Apcera具有编译语义管道(semantic pipelines)的能力,并且支持用户在不理解网络层次的情况下配置从应用到微服务以及微服务之间的访问。这些功能非常灵巧和独特。” Garcia说。
大部分应用开发者不关心容器是否在的PaaS层下的基础设施上运行,因为基础设施的配置对他们并不重要。但是对于IT运维工作者,容器编配平台的作用至关重要,因为它能够将已有的支持传统应用的基础设施转化成为新的支持微服务的环境。
以Rad Had OpenShift为例,它所提供的PaaS层包括应用发布和持续集成服务,这些功能都是其他容器管理工具不具备的,比如Kubernetes。但是它提供的基于“cartridge”的容器编配系统,其实是立足于Kubernetes的基层实现。
OpenShift提供世界上最好的传统IaaS和PaaS平台,旅游科技公司Amadeus IT Group SA的架构、质量和管理部门副主席Dietmar Fauser评价道。
“OpenShift为我们开拓了一条路径,使我们能够保持已有应用,不需要彻底修改代码或者完全用Java重写一遍,”Fauser说,“通过一笔合理的投入,就能将Kubernetes的服务注册环境桥接到我们自己的通信系统。”
本文转自d1net(转载)