1、平台即服务PaaS平台即服务平台即服务PaaS PaaS是平台即服务(Platform as a service)的简称,是把服务器作为一种服务提供的商业模式,能够为应用程序的执行弹性地提供所需的资源,并根据用户程序对实际资源的使用收取费用。从应用开发者的角度从应用开发者的角度 是互联网资源的聚合和共享,便捷地开发互联网应用从服务提供商的角度从服务提供商的角度 吸引更多的应用程序和用户,从而获得更大的市场份额并扩大收益。PaaS概述概述 PaaS架构 Google的云计算平台 Windows Azure操作系统PaaS的由来的由来 业界最早的PaaS服务是由Salesforce在2007年推出
2、的Force.corn,它为用户供了关系数据库、用户界面选项、企业逻辑及一个专用的集成开发环境,使商业SaaS应用的开发更加便捷,用户能够有更多的软件应用可以选择。2008年4月发表的PaaS服务Google App Engine,为供了更多的服务,去掉繁琐的作业。微软在2008冬年推出Windows Azure平台,并在其上陆续发布了了用于提供数据库服务、总线服务、身份认证服务等相关组件。用户 更多的应用移植到PaaS平台 SaaS的运营商 产品多元化和产品定制化PaaS的概念的概念 平台即服务(Platform as a service)是软件即服务(SaaS)的变种,这种形式的云计算将开
3、发环境作为服务来提供。可以创建自己的应用软件在供应商的基础架构上运行,然后通过网络从供应商的服务器上传递给用户,能给客户带来更高性能、更个性化的服务。PaaS模式的开发模式的开发 PaaS利用一个完整的计算机平台,包括应用设计、应用开发、应用测试和应用托管,这些都作为一种服务提供给客户,而不是用大量的预置型(on-premise)基础设施支持开发。PaaS模式的开发模式的开发 1.PaaS开发速度更快 使用PaaS,开发人员可以极具生产力,必为定义可伸缩性要求去操心,他们也不必用XML编写部署说明,这些工作全部由PaaS提供商处理。2.PaaS开发也有缺点 内存管理的局限 需要更好的代码管理能
4、力 多用户基础设施需要适应 越来越大的应用开发资金开始涌向PaaS.PaaS模式的开发模式的开发 1.PaaS开发速度更快 使用PaaS,开发人员可以极具生产力,必为定义可伸缩性要求去操心,他们也不必用XML编写部署说明,这些工作全部由PaaS提供商处理。2.PaaS开发也有缺点 内存管理的局限 需要更好的代码管理能力 多用户基础设施需要适应 越来越大的应用开发资金开始涌向PaaS.PaaS推进推进SaaS时代时代 PaaSPaaS能够提供企业进行定制化研发的中间件平台,除了应用软件以外,还同时涵盖数据库和应用服务器等。PaaS它所提倡的价值不只是简单的成本和速度,还更注重可以在该Web平台上
5、利用的资源数量。可通过远程Web服务使用数据即服务DaaS PaaS是管理软件开发的革命,企业可以自己把自己的业务流程和想法快速应用到管理软件中去。也就是企业管理软件DIY,特色BTO,企业提需求,软件厂商“按单生产”。PaaS概述 PaaS架构架构 Google的云计算平台 Windows Azure操作系统PaaS所处的位置所处的位置 PaaSPaaS的功能的功能 开发人员无需关心应用的底层硬件和应用基础设施,并且可以根据需求动态扩展应用系统所需的资源。1.应用运行环境分布式运行环境、多种类型的数据存储、动态资源伸缩2.应用全生命周期支持提供开发SDK、IDE等加快应用的开发、测试和部署。
6、公共服务:以API形式提供公共服务,如队列、存储等。监控、管理和计量:提供资源池、应用系统的管理和监控功能,精确计量。应用使用所消耗的计算资源。3.集成、复合应用构建能力:提供连通性服务、整合服务、消息服务和流程服务等用于构建SOA架构风格的复合应用。PaaS的全局功能图的全局功能图 多租户弹性多租户弹性 多租户(Multi-tenancy)是指一个软件系统可以同时被多个实体所使用,每个实体之间是逻辑隔离、互不影响的。多租户弹性(Multi-tenancy elastic)是指租户或者租户的应用可以根据自身需求动态的增加、释放其所使用的计算资源。1.Shared-Nothing 2.Share
7、d-Hardware 3.Shared-OS 4.Shared-Everything 以以PaaSPaaS为核心构建企业私有云为核心构建企业私有云以PaaS为核心的下一代SaaS应用 中小企业:一站式的SaaS应用服务;可定制的SaaS应用。SaaS运营商:基于统一PaaS平台提供一站式的SaaS应用服务;实现规模效应。应用开发商:基于PaaS平台,将已开发的成熟应用SaaS化、开发新的SaaS应用;为中小企业提供二次开发服务;开发效率得到提升。基础设施提供商:专注于基础设施运维;实现资源更高效利用和回报。以以PaaSPaaS为核心构建和运营下一代为核心构建和运营下一代SaaSSaaS应用应用
8、PaaS改变未来软件开发和维护模式改变未来软件开发和维护模式PaaS改变了传统的应用交付模式,促进了分工的进一步专业化,解耦了开发团队和运维团队,将极大地提高未来软件交付的效率PaaS是开发和运维团队之间的桥梁是开发和运维团队之间的桥梁 PaaS概述 PaaS架构 Google的云计算平台的云计算平台 Windows Azure操作系统Google的云计算平台的云计算平台 Google在强大的基础设施之上,构筑了Google App Engine这项PaaS服务,成为功能最全面的PaaS平台。Google App Engine 提供一整套开发组件来让用户轻松地在本地构建和调试网络应用,之后能让
9、用户在Google强大的基础设施上部署和运行网络应用程序,并自动根据应用所承受的负载来对应用进行扩展,并免去用户对应用和服务器等的维护工作。在开发语言方面,现支持Java和Python这两种语言,并为这两种语言提供基本相同的功能和API。App Engine在设计理念在设计理念1.重用现有的Google技术:Datastore是基于Google的bigtable技术,Images服务是基于Picasa的,用户认证服务是利用Google Account的,Email服务是基于Gmail的等。2.无状态:在应用服务器层存储任何重要的状态,当应用流量突然爆发时,可通过添加新的服务器来实现扩展。3.硬
10、限制:App Engine对运行在其之上的应用代码设置了很多硬性限制,保证安全性隔离性。4.利用Protocol Buffers技术来解决服务方面的异构性:各种语言所有API的调用都需被编译成Protocol Buffer的二进制格式。5.分布式数据库:支撑海量的数据和海量的查询 GAE的架构图App Engine 服务服务 管理应用程序的同时执行常规操作。提供了以下 API 以访问这些服务:1.网址获取 应用程序可以使用 App Engine 的网址获取服务访问互联网上的资源。2.邮件 应用程序可以使用 App Engine 的邮件服务发送电子邮件。3.Memcache 为应用程序提供了高性
11、能的内存键值缓存,可通过应用程序的多个实例访问缓存。4.图片操作 使用该 API,您可以对 JPEG 和 PNG 格式的图片进行大小调整、剪切、旋转和翻转。PaaS概述 PaaS架构 Google的云计算平台 Windows Azure操作系统操作系统Windows Azure平台平台 Windows Azure平台目前包含Windows Azure,SQL Azure和Windows Azure Platform AppFabric三大部分。开发人员在构建Windows Azure应用程序和服务时,不仅可以使用熟悉的Microsoft Visual Studio,Eclipse等开发工具,同
12、时Windows Azure还支持各种流行的标准与协议,包括SOAP、REST、XML、和HTTPS等。Windows Azure操作系统操作系统 Windows Azure定为云中操作系统的商标,它提供了托管云服务需要的所有功能,包括运行时环境,如Web服务器、计算服务、基础存储、队列、管理服务和负载均衡,Windows Azure也为开发人员提供了本地开发网络。SQL Azure SQL Azure是Windows Azure Platform中的关系数据库,它以服务形式提供核心关系数据库功能,SQL Azure构建在核心SQL Server产品代码基础上,开发人员可以使用TDS(Tabu
13、lar Data Stream)访问SQL Azure。.NET服务服务 .NET服务是Windows Azure Platform的中间件引擎,提供访问控制服务和服务总线。Live服务服务 Microsoft Live服务是以消费者为中心的应用程序和框架的集合,包括身份管理,搜索,地理空间应用,通信,存储和同步。Windows Azure Platform的用途的用途 根据微软官方的说法,Windows Azure Platform的主要用途是:给现有打包应用程序增加Web服务功能;用最少的资源构建、修改和分发应用程序到Web上;执行服务,如大容量存储,批处理操作,高强度计算等;快速创建、测试、调试和分发Web服务;降低构建和扩展资源的成本和风险;减少IT管理工作和成本。PaaS概述 PaaS架构 Google的云计算平台 Windows Azure操作系统