随着PaaS功能扩展支持更多的新技术(例如容器和微服务),IT团队和开发人员面临着诸如可见度、监控等新挑战。
平台即服务是过去几年中云计算服务所发展三大模式中的一个,该服务有助于简化应用程序的开发与部属。但是,由于诸如Docker容器等新技术能够实现在几乎任意位置运行应用程序,某些业内人士发现了平台即服务转变角色的可行性和重要性。
在平台即服务(PaaS)中,不同的组件和服务相互结合构成了应用运行环境,总部位于康涅狄格州斯坦福市技术咨询公司“信息服务集团”首席顾问Matthias Popiolek说。虽然目前的PaaS框架已经包含了一些服务和开发模块,但是它们将扩展的功能则囊括微服务和容器化应用程序。同时就PaaS和诸如Docker之类技术之间的差别而言,容器技术为PaaS带来了更多选择和灵活性——这可能使它更具价值。
例如,Docker能够新建之前在PaaS框架下不可用的众多组件服务,Popiolek说。这将允许开发人员开发应用,在以前没有容器技术情况下要做同样的工作是需要花上更多精力和时间的。
“可以想象,如果必须在程序设计中包括组件配置工作,那么其部署将变得非常困难和麻烦,相反一个容器化的组件可以帮助开发人员省下很大的功夫,”他说。
某些传统的PaaS工具正在开始接受这些新技术了。例如,诸如Joyent这样在传统上都自我定位为一家基础设施即服务(IaaS)供应商的企业(于近期已被三星公司收购)已经转向应用程序容器技术领域,该公司目前正从事容器本地基础设施及相应工具的开发。其他采用了类似举措的企业包括谷歌公司和亚马逊网络服务,而CloudFoundry也针对PaaS采取了容器即服务的方法。
PaaS中微服务和容器的限制
容器和微服务也为使用PaaS的企业用户带来了一些挑战。例如,随着如今铁板一块的PaaS框架被分解成为微服务,也带来了一系列的可视性和透明度方面的问题。在一个企业中跟踪所有的可用微服务将是一个挑战。
“有鉴于一家企业必须开放越来越多企业对企业、企业对企业对消费者的接口的事实,这一问题也更趋复杂化,”Popiolek说,他还指出,这些额外的接口将会增加另一层次的复杂性。
另一个限制是,容器技术只适用于在一个PaaS环境中多次部署的应用程序。“容器技术善于抽取重复动作,这对于重复性的部署和操作是非常有意义的;那些只是一次性部署的应用程序也就无法从容器技术中得到任何好处了,”Popiolek说。
这是因为容器化环境是在传统IaaS虚拟层的上一层次上进行虚拟化的。这可以让用户在完成应用程序部署时不必对每一个部署都进行配置。换而言之,用户可以多次使用容器而不必接触容器中的应用程序,反之在IaaS中,每一个部署都需要人工干预进行配置。
“由于在容器中一次配置任务的工作量堪比一次部署所需的工作量,所以容器技术的优势就在多次重复部署中显现出来了,”Popiolek说。
PaaS与Docker并不互斥
其底线在于用户不需要在容器和PaaS之间进行选择了。用户可以使用这两种技术来提升从云应用中获得的附加值。现在的应用程序开发人员将根据他们的客户和企业的需求,使用那些他们最为熟悉的工具,并采用他们或主动或被动需要使用的平台。