云计算时代的软件开发技术及其应用.ppt
《云计算时代的软件开发技术及其应用.ppt》由会员分享,可在线阅读,更多相关《云计算时代的软件开发技术及其应用.ppt(75页珍藏版)》请在三一办公上搜索。
1、云计算时代的软件开发技术及其应用,软件工程国家重点实验室(武汉大学)武汉大学计算机学院应时2010-05-22,提纲,一、云计算时代的软件二、云计算时代软件的开发技术三、云计算时代软件开发技术的创新与发展四、我们的工作五、总结,软件工程国家重点实验室,2,一、云计算时代的软件,软件工程国家重点实验室,3,1.1 云计算,Wikipedia上的定义:云计算是这样一种计算方式,计算资源是动态易扩展而且虚拟化的,往往通过互联网提供。用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。云计算时代的软件是运行在云平台上,并具有在线租赁服务形式、按用量可伸缩性占用资源、按需要
2、个性化定制等特性的软件。,软件工程国家重点实验室,4,软件工程国家重点实验室,5,1.1 云计算,云计算的使用方式,将计算和存储等资源以服务的方式提供,用户按需使用,按用量付费,6,软件工程国家重点实验室,有了云计算,我们可以无需购买昂贵的软硬件设备更少的技术维护按需获取海量的IT资源按用量支付费用聚焦于业务,图片来源:IBM公司,1.1 云计算,7,软件工程国家重点实验室,图片来源:IBM公司,1.2 云计算的服务体系,服务多租赁化,平台可伸缩化,资源虚拟化,让人振奋的许多云计算特性主要是靠软件技术实现的 软件技术将在云计算时代开发出令人惊讶的应用系统,8,软件工程国家重点实验室,平台即服务
3、,Platform as a Service,High VolumeTransactions,Software as a Service,服务器,网络,存储,Metering,监控,计费,服务云,开发云,企业云,多租赁,安全,中间件,协作,业务服务,CRM/ERP/HR,定制服务,数据中心,虚拟化,动态供应,服务管理,J2EE,On-ramps,服务封装,Ajax,开发,On-ramps,On-ramps,开发工具,与其他云的互操作,软件即服务,基础设施即服务,图片来源:IBM公司,1.2 云计算的服务体系,1.3 云软件的实例,9,软件工程国家重点实验室,Goole提供的云软件服务搜索引擎G
4、mailGoogle DocsGoogle Picasa Web,1.3 云软件的实例,10,软件工程国家重点实验室,S于1999年创新地以在线租赁的模式,提供按需定制的客户关系管理的软件服务功能的增删,用户界面的个性化等用户只需支付租用费,就可以使用CRM服务,包括普通的联系人管理,产品目录到订单管理,机会管理,销售管理等服务。提供一个平台,使得客户无需花费大量资金和人力而拥有自己的软件,所有的软件和数据都储存在平台上。,1.3 云软件的实例,11,软件工程国家重点实验室,据Gartner预计,到2010年企业30%的软件应用将通过服务来提供。,1.4 云计算时代软件的新变化,12,软件工程
5、国家重点实验室,用户只需要使用软件,而不用自己去运行(软件始终在网上运行着)和管理软件。使用云上的软件只需注册、客户化、应用即可。用户变成租户,单一实例的软件使用模式变成多租赁的服务模式网站从Web信息发布平台变成Web应用软件运行平台,变成系统托管平台,变成多租户的软件服务平台,1.4 云计算时代软件的新变化,13,软件工程国家重点实验室,软件运行在因特网上的共享数据中心上,而不是运行在自有的服务器和计算机上。应对用量变化的手段,从制作网络镜像手工增删资源,到系统和平台的自动伸缩。可个性化定制快速开发,1.5 本报告关注的主题,14,软件工程国家重点实验室,云计算时代软件需要新的开发技术软件
6、工程师也需要使用云计算时代的软件开发技术去提高开发能力开发作为服务,15,软件工程国家重点实验室,在云计算平台中,如何开发、运行和维护那些为(最终)用户提供云服务的软件系统(包括系统软件、工具软件和应用软件等各类软件),1.5 本报告关注的主题,关注云计算模式下的软件开发与设计技术,软件工程国家重点实验室,图片来源:美国加州大学圣巴巴拉分校,二、云计算时代软件的开发技术,软件工程国家重点实验室,16,软件工程国家重点实验室,17,云计算是在分布式计算、并行计算和网格计算的基础上,经一系列技术的创新和融合而形成的。目前,云计算平台本身以及云计算平台上的应用软件的开发都使用分布式并行编程技术。,2
7、.1 云计算时代的分布并行编程技术,云计算时代的分布并行编程技术分布并行数据处理技术Google Map/ReduceHadoop Map/Reduce分布式文件系统Google File SystemHadoop Distributed File System分布式数据库Google BigTableHadoop HBase,2.1 云计算时代的分布并行编程技术,2.2 分布并行数据处理,19,软件工程国家重点实验室,Map/Reduce用于大规模数据并行处理数据量大(超过1TB)在成百上千个CPU上并行处理用户只需实现下面接口map(in_key,in_value)-(out_key,in
8、termediate_value)listreduce(out_key,intermediate_value list)-out_value list,2.2 分布并行数据处理,20,软件工程国家重点实验室,Map/Reduce架构,图片来源:美国华盛顿大学课件,2.2 分布并行数据处理,MapReduce实现原理,图片来源:Google Research Publication,2.3 分布式文件系统,软件工程国家重点实验室,22,Google File System(GFS)需求:在廉价、相对不可靠的计算机上对巨量数据进行冗余存储。为什么不用现有的文件系统?-Google面对特殊的挑战文件
9、较大,每个都在100M以上,通常为几个GB文件通常需要频繁的追加用流方式读取高吞吐量低延迟针对上述问题,GFS在文件系统性能和可伸缩性方面进行了优化设计。,GFS的设计理念文件用块存储每个块固定为64MB通过冗余解决可靠性问题每个块同时拷贝在3个块服务器上主服务器负责协调访问和保存元数据简单化的集中管理定制化的API无数据缓存较大文件块和流式读取使得缓存效果不佳,软件工程国家重点实验室,23,2.3 分布式文件系统,GFS架构,2.3 分布式文件系统,图片来源:Google Research Publication,GFS集群一个 GFS 集群有一个主服务器和多个块服务器文件被分割成固定尺寸的
10、块。块服务器把块作为 linux 文件保存在本地硬盘上,并根据指定的块句柄和字节范围来读写块数据。主服务器管理文件系统所有的元数据,包括名字空间、访问控制信息和文件到块的映射信息,以及块当前所在的位置。客户端与主服务器交互,处理元数据客户端与块服务器交互,存取数据本身,2.3 分布式文件系统,2.4 分布式数据库系统,Google BigTable为了处理Google内部大量的格式化以及半格式化数据而构建的大规模分布式数据存储系统 特点面向大规模处理、容错性强的自我管理系统,拥有TB级的内存和PB级的存储能力,每秒可以处理数百万的读写操作能够保存记录的不同时段的版本构建于GFS和Map/Red
11、uce基础之上,软件工程国家重点实验室,26,BigTable的设计理念面向网页数据的发布、搜索和浏览等特定处理的需要,简化数据管理系统的设计,并提高性能不支持关联不支持SQL查询简化数据的一致性管理网页数据的管理对一致性要求不高简化事务管理网页数据的处理(搜索、发布)对事务管理要求不高面向海量数据管理要求设计分割和合并管理机制(基于元数据)设计自动伸缩功能(根据数据量调整资源用量),软件工程国家重点实验室,27,2.4 分布式数据库系统,BigTable的实现GFS为表文件、元数据和日志提供存储服务Chubby 提供分布式并行处理功能一个Table按照行被分割为多个tablet每一个tabl
12、et在物理层被存为SSTable文件通过维护keydisk block索引,SSTable 文件管理系统提供 keyvalue的索引功能,2.4 分布式数据库系统,BigTable架构,软件工程国家重点实验室,29,2.4 分布式数据库系统,图片来源:Google Research Publication,软件工程国家重点实验室,2.5 Google App Engine,Google App Engine 提供运行和开发的基础平台,允许开发人员编写网络应用,上传至App Engine部署运行支持Java和Python两种开发语言App Engine 应用程序易于构建和维护,并可根据访问量和数
13、据存储需要,进行伸缩。将应用程序隔离在它自己的安全可靠环境中,该环境与网络服务器的硬件、操作系统和物理位置无关,软件工程国家重点实验室,开发GAE应用的方法利用App Engine SDK进行开发,本地创建Web应用项目,本地编译Web应用项目,上传应用程序到Google AppEngine,2.5 Google App Engine,2.6 Salesforce F,F的云计算平台基于Web的随需应变的企业级软件开发和运行平台开发的软件能在F平台上运行由一组集成的工具和应用程序服务组成,图片来源:,F云计算平台整体概览,Native ERP Connectors,Native Desktop
14、 Connectors,Integration Middleware,Mash-ups from AppExchange,Developer Toolkits,2.6 Salesforce F,图片来源:,元数据驱动的平台:使用元数据,定义数据模型、对象、窗体、工作流等,在运行时动态生成租户的应用程序,2.6 Salesforce F,Apex 代码,多租赁虚拟机,元数据,可视化设计,应用程序开发模式声明式开发页面拖拽式设计集成开发环境APIMetadata APIWeb Services API,2.6 Salesforce F,图片来源:,APEX语言开发人员声明式开发APEX程序编译后的
15、APEX程序作为元数据存储在数据库中F平台解释并控制APEX代码的运行,2.6 Salesforce F,图片来源:,APEX语言Apex为第一个所需应变的、多租户编程语言和平台Apex是一种Java式的语言,可以在S的服务上运行。用户能够使用这种语言创建客户组件、客户化和修改现有的S代码、创建触发器和编写程序。Apex平台还包括一个应用程序编程接口以访问和管理复杂的数据关系和Ajax工具包。Apex平台中的实时消息和整合工具允许其它应用程序获得S中的业务事件。,2.6 Salesforce F,图片来源:,F AppExchange企业软件的在线“超市”,用户可以自行购买那些可以即选即用的功
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 时代 软件 开发 技术 及其 应用
链接地址:https://www.31ppt.com/p-2282012.html