PaaS(平台即服务)及关键技术(读书笔记五)

      PaaS是指一个软件研发应用开发平台,该平台作为一种服务必须能够支持行业、企业、业务模式的各种应用需求。它扩展了按需服务,并实现了客户可根据需要自己定制应用程序,成为了改变应用程序开发的一个途径。

特点:

(1)提供一个基础平台

      PaaS所提供的服务与其他服务最根本的区别是:PaaS提供一个基础平台,而不是某种应用,该平台以服务的方式提供给应用系统运营商。

(2)提供对平台运营商的技术支持服务

      PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,而且包括针对该平台的技术支持服务,甚至对该平台而进行的应用系统开发、优化等服务,是保证应用系统在以后的运营中得意长期、稳定运行的重要因素。

(3)为第三方开发者提供有商业价值的资源和服务平台

      PaaS将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。支撑云计算的开发者就获得了大量的可编程元素,这些可编程元素有具体的业务逻辑,这就为开发带来了极大地方便。

PaaS提供的服务

       PaaS提供基于硬件基础设施(IaaS)上的软件、中间件和应用开发工具。不同的PaaS提供不同的组合服务。用户借助PaaS平台所提供的应用程序SDK工具或API在其上构建、调试和运行应用程序,不需要购买和管理运行应用所需要的软件和中间件平台。

Google PaaS架构举例:


       Google PaaS系统的核心从结构上可以被划分为应用平台和底层支撑两个层次。其中,在应用平台部分,主要是Google App Engine(GAE),它承担了PaaS服务中的应用托管执行环境的重要角色;底层支撑部分为应用平台提供分布式存储和计算基础设施。

       在GAE的底层-支撑层,Google分布式文件系统(GFS)对底层基础设备资源进行管理,同时向上提供文件访问和操作接口,具有海量、高扩展性、高可靠性特点。在GFS之上,BigTable数据库采用了NoSql方式提供结构化/半结构化新型分布式计算框架,实现了将计算拉向数据存储节点,具有很高的性能。Chubby实现了分布式锁机制,在GFS、Bigtable和MapReduce的应用中提供了一致性保证。

        在GAE的应用平台层包括为用户应用程序提供的各种服务、数据持久化存储机制以及必要的管理控制功能等。其中,Google提供的服务包括Mail、Memcache等,它们都为用户程序提供了编程接口用于程序在运行过程中调用,一丰富其功能,改善其性能。应用程序对自身处理数据的存储通过GAE提供的接口将数据交由DataStore组建管理。

附:

Map-Reduce介绍:

      Map-Reduce是一种计算模式,并且有多个实现系统。可以通过某个map-Reduce实现系统来管理多个大规模计算过程,并且能够同时保障对硬件故障的容错性。我们只需要编写两个称作Map和Reduce的函数即可,系统能够管理Map或Reduce并行任务的执行以及任务之间的协调,并且能够处理上述某个任务执行失败的情况。

计算过程如下:

(1)有多个Map任务,每个任务的输入是DFS(分布式文件系统)中的一个或多个文件块。Map任务将文件块转换成一个键-值对序列。从输入数据产生键-值对的具体方式由Map函数决定。

(2)主控制器从每个Map任务中收集一些了键-值对,并将它们按照键大小排序。这些键又被分到所有的Reduce任务中,所以具有相同键的键-值对应该归到同一Reduce任务中。

(3)Reduce任务每次作用于一个键,并将与此键关联的所有值以某种方式组合起来。


阅读更多
个人分类: 云计算
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭