理论教育 PaaS:计算机导论中的平台即服务

PaaS:计算机导论中的平台即服务

时间:2023-11-09 理论教育 版权反馈
【摘要】:所谓PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。在2007年国内外SaaS厂商先后推出自己的PaaS平台。2)平台及服务PaaS运营商所需提供的服务,不仅是单纯的基础平台,而且包括针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发、优化等服务。这种“平台级”服务能够保证支撑SaaS或其他软件服务提供商各种应用系统长时间、稳定的运行。2)丰富的服务PaaS平台会以API形式将各种各样的服务提供给上层的应用。

PaaS:计算机导论中的平台即服务

PaaS服务示意图如图9.4所示。把服务器平台作为一种服务提供的商业模式,通过网络进行程序提供的服务称为SaaS,而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS。所谓PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是SaaS应用的开发速度。在2007年国内外SaaS厂商先后推出自己的PaaS平台。

PaaS是一种分布式平台服务,为用户提供一个包括应用设计、应用开发、应用测试及应用托管的完整的计算机平台。PaaS的主要用户是开发人员,PaaS平台的种类目前较少,比较著名的有:Force.com、Google App Engine、Windows Azure、Cloud Foundry。

图9.4 PaaS服务示意图

(1)PaaS的特点

PaaS能将现有各种业务能力进行整合,具体可以归类为应用服务器、业务能力接入、业务引擎、业务开放平台,向下根据业务能力需要测算基础服务能力,通过IaaS提供的API调用硬件资源,向上提供业务调度中心服务,实时监控平台的各种资源,并将这些资源通过API开放给SaaS用户。PaaS主要具备以下3个特点:

1)平台即服务

PaaS所提供的服务与其他的服务最根本的区别是PaaS提供的是一个基础平台,而不是某种应用。在传统的观念中,平台是向外提供服务的基础。一般来说,平台作为应用系统部署的基础,是由应用服务提供商搭建和维护的,而PaaS颠覆了这种概念,由专门的平台服务提供商搭建和运营该基础平台,并将该平台以服务的方式提供给应用系统运营商

2)平台及服务

PaaS运营商所需提供的服务,不仅是单纯的基础平台,而且包括针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发优化等服务。PaaS的运营商最了解自己运营的基础平台,所以由PaaS运营商所提出的对应用系统优化和改进的建议也非常重要。而在新应用系统的开发过程中,PaaS运营商的技术咨询和支持团队的介入,也是保证应用系统在以后的运营中得以长期、稳定运行的重要因素。

3)平台级服务

PaaS运营商对外提供的服务不同于其他的服务,这种服务的背后是强大而稳定的基础运营平台以及专业的技术支持队伍。这种“平台级”服务能够保证支撑SaaS或其他软件服务提供商各种应用系统长时间、稳定的运行。PaaS的实质是将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。有了PaaS平台的支撑,云计算的开发者就获得了大量的可编程元素,这些可编程元素有具体的业务逻辑,这就为开发带来了极大的方便,不但提高了开发效率,还节约了开发成本。有了PaaS平台的支持,Web应用的开发变得更加快捷,也为最终用户带来了实实在在的利益。

(2)PaaS的核心技术

1)REST技术

REST(Representational State Transfer)即表述性状态传递,是Roy Fielding博士于2000年在他的博士论文中提出来的一种软件架构。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。在3种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的Web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。

2)多租户技术

多租户技术(multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。多租户简单来说是指一个单独的实例可以为多个组织服务。多租户技术为共用的数据中心内如何以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍然可以保障客户的数据隔离。一个支持多租户技术的系统需要在设计上对它的数据和配置进行虚拟分区,从而使系统的每个租户或称组织都能够使用一个单独的系统实例,并且每个租户都可以根据自己的需求对租用的系统实例进行个性化配置。

3)并行计算技术

并行计算(parallel computing)或称平行计算是相对于串行计算来说的。它是一种一次可执行多个指令的算法,目的是提高计算速度,及通过扩大问题求解规模,解决大型而复杂的计算问题。所谓并行计算可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。(www.daowen.com)

4)应用服务器

随着Internet的发展壮大,“主机/终端”或“客户机/服务器”的传统的应用系统模式已经不能适应新的环境,于是就产生了新的分布式应用系统。相应地,新的开发模式也应运而生,即所谓的“浏览器/服务器”结构、“瘦客户机”模式。应用服务器便是一种实现这种模式核心技术。Web应用程序驻留在应用服务器(application server)上。应用服务器为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。它也提供低级别的服务,如HTTP协议的实现和数据库连接管理。Servlet容器仅仅是应用服务器的一部分。除了Servlet容器外,应用服务器还可能提供其他的Java EE(Enterprise Edition)组件,如EJB容器,JNDI服务器以及JMS服务器等。

5)分布式缓存

分布式缓存能够处理大量的动态数据,因此比较适合应用在Web 2.0时代中的社交网站等需要由用户生成内容的场景。从本地缓存扩展到分布式缓存后,关注重点从CPU、内存、缓存之间的数据传输速度差异也扩展到了业务系统、数据库、分布式缓存之间的数据传输速度差异。

(3)PaaS的优势

1)友好的开发环境

通过提供IDE和SDK等工具来让用户不仅能够在本地方便地进行应用的开发和测试,而且能够进行远程部署。

2)丰富的服务

PaaS平台会以API形式将各种各样的服务提供给上层的应用。系统软件、通用中间件、行业中间件都可以作为服务提供给应用开发者使用。

3)精细的管理和控制

PaaS能够提供应用层的管理和监控,能够观察应用运行的情况和具体数值(如吞吐量和相应时间等)来更好地衡量应用的运行状态,还能够通过精确计量应用所消耗的资源进行计费。

4)弹性强

PaaS平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。当应用负载突然提升的时候,平台会在很短时间内(1 min左右)自动增加相应的资源来分担负载。当负载高峰期过去以后,平台会自动回收多余的资源,避免资源浪费。

5)多租户机制

PaaS平台具备多租户机制,可以更经济地支撑海量数据规模,还能够提供一定的可定制性以满足用户的特殊需求。

6)整合率高

PaaS平台的整合率非常高,如Google App Engine可以在一台服务器上承载成千上万个应用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈