当传统企业已经在用最新互联网架构 PaaS的作用如何凸显?

InfoQ

传统企业采用私有云方案来降低运营成本、加速产品创新,听起来貌似不是什么新鲜事儿,不过如果告诉你这些传统银行、电力甚至政府部门已经在用基于Docker+Kubernetes的容器PaaS来改造他们的业务,你会不会很吃惊?

现在的PaaS已经跟传统PaaS完全不一样了;甚至可以说,有了容器PaaS,很多场景下都不需要IaaS。”企业私有云提供商BoCloud博云CTO李亚琼博士对此一点都不惊讶。日常工作中他接触了太多对互联网业务需求强烈的传统企业,以一家汽车制造企业、一家能源电力企业为例,采用的都是“物理机 +容器”的方式来部署私有云,上云的业务既有内部管理系统(OA),也有核心业务系统(支付网关)。可以说这些客户倒逼云计算供应商提供出Docker+Kubernetes的容器PaaS解决方案。

李亚琼博士的这番话的背景,是Kubernetes成为事实标准,在相关领域攻城略地,而基于Docker+Kubernetes的集群开始成为私有云的标准解法,不但互联网公司纷纷从OpenStack迁移到Kubernetes,连博云这样的私有云提供商也将Kubernetes的PaaS作为他们的主打产品。

容器PaaS是风口吗?

有关传统PaaS与容器PaaS的对比,业界有非常多的观点。

PaaS一度是云计算的宠儿,从这个概念诞生开始,就有人认为它才是云计算的未来:使用PaaS就像用水和电一样,无关系统和环境,无需运维。大量的公有云厂商都瞄准了这个方向推出产品,甚至很多公司最开始推出的云计算产品就是PaaS,最典型的就是新浪云SAE。

但人们很快发现,传统PaaS的局限性太大,受限的运行环境、被阉割的API,彼时开发PaaS上的应用就意味着和这个PaaS强绑定,很难迁移。甚至连开发都很有问题,因为你的开发环境和运行环境差别太大。因此PaaS逐渐偃旗息鼓,IaaS作为更务实的选择,成为公有云的宠儿。

但这个情况被Docker以及之后的Kubernetes所改变了。

李亚琼博士认为,以前的PaaS面对的是开发,但其实无法满足开发者个性化的需求;容器PaaS关注的是部署和分发,不去干涉应用的运行时,反而给了开发更大的空间。

在传统PaaS平台结构中,更多是做一个应用沙盒,封装了应用正常运行所需的运行环境和系统,这类PaaS平台就如同一个“黑盒”,应用完全脱离了用户的控制,进入了完全被托管的状态,使得开发人员和运维人员对应用和应用运行时的掌控力变弱;另外传统PaaS通常在应用架构选择、支持的环境服务等方面有较强限制,导致此类云平台层次结构运力不足。

随着容器的兴起,传统PaaS一方面向更高级的Serverless转变,另一方面又分裂出iPaaS,也就是容器PaaS,可做应用层的封装调度、部署打包、开发扩容,很多互联网厂商和红帽这样的传统厂商都在转向以容器为核心的PaaS。

对于客户来说,通过容器PaaS可以更加快速的实现业务开发、集成和交付上线;另外它还具有无绑定、可拓展的特点。

当然,用户在选择哪些业务采用容器PaaS的时候更多的是考虑业务本身的流量是否具有突然性增长,而和具体的业务领域关系不大。不过,大部分用户上云也是遵循着优先部署对弹性能力要求比较高的业务、其他业务逐步迁移这样一个策略。

PaaS会取代IaaS吗?

在企业私有云建设中,曾经一度进化出了IaaS+云平台的分层结构,但IaaS层不具备贴近应用的资源调度策略。基于容器的iPaaS在部署和分发上更方便,更多的代码、应用、服务能被复用,而IaaS不贴近业务,交付慢。

另外伴随PaaS与DevOps结合为企业做微服务化改造,真正让企业的系统和应用实现了横向扩展、弹性伸缩。相对而言,IaaS一般只能做原样迁移,不改造架构,企业上云前遇到的问题在上云后还会遇到。

此外李亚琼博士还补充:“在企业公有云上,也有PaaS能力向IaaS层渗透的趋势,这就是行业专有云。”我们发现在计世资讯发布的《2016-2017年中国金融云市场现状与发展趋势研究报告》中显示,一些大型金融企业牵头,在自身搭建金融私有云的同时将冗余的资源提供给特定的、有需求的、受限于资金、技术能力等方面的中小型金融企业,最终形成专供金融行业企业使用的金融专有云模式。

为什么传统企业在上云上不再传统?

Kubernetes作为Google开源的项目,其面向互联网应用的基因是渗透到整个平台的设计理念里的,这一点与传统企业的业务互联网化需求是非常匹配的。其他的调度框架、更多的特性会聚焦于如何实现资源调度,当然这也很重要;而Kubernetes的特性是围绕互联网应用架构去设计开发。

这是它吸引博云这样的PaaS厂商投身其中的重要原因。李亚琼博士介绍,博云从2015年开始做PaaS平台研发,接触Kubernetes以后,直观判断这才是未来容器平台的核心和方向,事实也证实了博云的判断是准确的。

无论是Docker、Kubernetes,还是DevOps、微服务,李亚琼博士以一个传统客户选择这些互联网架构的上云历程,来诠释个中原因。

“我们在能源行业有个客户,在去年部署容器PaaS和DevOps平台。其中,集成了禅道(项目和文档管理)、Gitlab(代码管理、Issue跟踪)、Jinkens(持续集成)、容器平台(持续部署、升级),我们帮客户实现整个DevOps工具链的集成和自动化Pipeline构建,现在客户从开发到测试环境部署实现了一键式。当然,根据客户的安全管理规范,上生产环境还是要经过内部审批后才能实现部署发布,不过在内部的镜像库、部署文件同步等方面我们也帮客户完成了平台搭建,只要流程审批通过也能实现一键式生成环境发布,效果非常不错。”

选择容器PaaS需要对原有的业务重构,这是用户在采用容器PaaS时不利的方面,但传统企业只要真正拥抱互联网,就必须去使用与互联网相适应的新技术。而容器PaaS在改造传统业务时,可以较好的实现逐步过渡,分期上线,也可以打消传统企业的疑虑。

以博云的PaaS平台架构为例:

这个架构中核心是从下向上四个层次:微服务运行时层、服务治理层、服务编排与协同层和场景应用层。其中,微服务运行时层也就是基于Docker和Kubernetes研发的容器PaaS层,聚焦与利用容器构建应用运行环境;服务治理层是围绕微服务间的调用及服务治理构建的平台软件,这一块博云也已经实现了在券商行业的落地实施;服务编排与协同层是正在研究的领域;最后就是客户的业务层,在这一层博云也会通过一些平台级的中间件对客户应用提供支持。

据了解,目前博云的PaaS产品BeyondBOC 1.7版已经可以支持区块链应用部署和微服务集成,比如支持了京东的商用中间件集成,其四级租户体系满足多场景需求,具备多数据中心管理和应用运维能力。在使用BeyondBOC的用户中,有70%以上已经使用在生产环境中,既包括很多金融行业用户,也包括新华社和某大型国有石油企业。

PaaS会成为云计算主流吗?

从去年以来,云原生理念被越来越多的人所接受,以Kubernetes为核心的云原生容器基金会CNCF也迎来众多企业的支持。基于容器和Kubernetes的PaaS、微服务、Serverless等一起构成了云原生应用的基础设施和架构,只要云原生的理念不断普及,容器PaaS就会取代过去以虚拟化为核心的IaaS,成为云计算的主流。

采访后记

2017年,Kubernetes成为容器编排事实标准,对云计算的底层架构有着深远影响。特别是在过去不受重视的PaaS层,有了Kubernetes加持之后能力大大加强,开始逐渐发威。而在云计算的实际使用中人们发现,SaaS和IaaS都在发展PaaS以满足客户快速开发的需求。这也是InfoQ策划本次选题的原因所在,希望探讨PaaS的技术演变以及发展趋势。

在此次与BoCloud博云CTO李亚琼博士的沟通中,我们发现他们很多传统企业客户都在选择Docker、Kubernetes这样的互联网架构,真的是在全面拥抱互联网。博云也从他们业务经验中,解答了我们有关PaaS会取代IaaS吗?为什么PaaS重新流行?PaaS会成为云计算主流吗?等诸多疑问。

所谓云计算,其实是能力即服务,将能力提供出来,PaaS能更好地抽象并提供能力。”这可能也是博云不希望以任何技术标签来定义自己的原因,他们更加看重的是是否能够根据客户应用需求和场景,具备整合技术的能力。“技术会被迭代、淘汰,而客户需求永远不会过时,客户会教你做出什么样的产品。