高级软件工程.ppt
《高级软件工程.ppt》由会员分享,可在线阅读,更多相关《高级软件工程.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级软件工程,云计算与平台即服务,北京大学软件研究所魏豪,主要内容,第一部分 :云计算第二部分:SASE云时代的软件工程第三部分:SASEPSASE的一个具体实现,第一部分 云计算,Just A Joke,一个大学生勤工兼学,办了个路边摊卖东西,因为数学基础好,不带计算器,习惯动作抬头望天,用心算计算钱数。顾客纷纷掏出计算器验证,发现这个大学生从来没出过错,顾客们都大为惊讶,于是他们也抬头望天,惊恐地问到:“莫非这是传说中的云计算?”,什么是云计算,云计算是一个崭新的互联网概念云计算是一次互联网应用的革新云计算代表了互联网发展的趋势云计算综合使用了大量的现有技术云计算体现了IT服务化的思想,云
2、计算是一个崭新的概念,云计算目前还没有得到公认的明确的定义Berkeley的观点:Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services.,不同组织对云计算的定义,Wiki云计算是一种基于互联网的计算方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算。云计算的资源是动态易扩展而且虚拟化的,终
3、端用户不需要了解云中基础设施的细节,只关注自己需要什么样的资源以及如何得到相应的服务。,不同组织对云计算的定义,IBM云计算是一种计算形式,其基础是用公有或私有网络实现服务、软件及处理能力的交付。云计算本身也是一种实现基础设施共享的方式,云服务使用者看到的只有服务的本身,而不用关心相关基础设施的具体实现。,不同组织对云计算的定义,NIST(美国国家标准及技术研究所,信息技术实验室 )云计算是一个模型,这个模型可以方便地按需访问一个可配置的计算资源(例如,网络、服务器、存储设备、应用程序以及服务)的公共集。这些资源可以被迅速提供并发布,同时最小化管理成本或服务提供商的干涉。云模型由五个特征、三个
4、服务模型和四个发布模型组成,如此使以上成为可能。,NIST:云计算的基本特征,按需自助服务。随时随地的网络访问。资源共享。快速的可伸缩性。可度量的服务。,NIST:服务模型和发布模型,服务模型: 软件即服务 (SaaS) 平台即服务 (PaaS) 架构即服务 (IaaS发布模型: 私有云社区云公有云混合云,云计算的关键特征,基于互联网面向服务按需配置和共享资源动态可扩展实现细节透明化,云计算的主要特点,资源高度集中大量的硬件、大量的软件、大量的数据以在线形式向用户提供服务资源利用率高用户使用方便接入简单(本地用最小化的设施,浏览器)数目处于不断变化之中要求服务质量高,云计算是互联网应用的革新,
5、信息技术的四次革新计算机商用化(IBM360系列)个人计算机移动通信和互联网云计算的兴起,云计算代表了互联网发展的趋势,云计算的优势更加低廉的用户设备开销更高的性能更少的维护性能更低的软件成本实时的软件更新强大的运算能力无限的存储空间增强的数据安全方便的共享与协作不依赖于特定的设备,制约云计算发展的因素需要持久的因特网连接低速连接会降低用户体验功能有可能受限获取用户的信任需要长时间的努力,云计算能得到想象中的发展吗,互联网接入方式的多样性提高了云计算网络连接的持久性问题吉比特以太网逐渐成为主流光纤接入的范围不断扩大继3G移动网络之后,基于LTE的4G网络登上了历史舞台街头巷尾开始出现大量的wi
6、fi热点智能移动设备的出货量超过了个人计算机,客户端服务器合作模式的发展逐步减少了基于云的服务的功能局限性RIA(Rich Internet Application)大幅度提高了WEB应用的用户体验Flash(Flex)SlivaLightiOS App Store、Goole App StoreHTML5,互联网接入速度的提高保证了云计算的用户体验吉比特以太网:100MB/s3G、3.5G移动网络:1-2MB/s4G LTE移动网络:50MB/sWifi:60MB/s(802.11n),云计算一定能够获得用户的信任我的数据安全吗?安全,存储在云供应商服务器上的数据,就像存在银行里的钱一样安全
7、。云计算能节省我的成本吗?能,IT设施的使用有规模效益。我能够随时随地享受云计算的服务吗?只要你能够随时随地地访问互联网,在这个移动通信高速发展的时代,这似乎并不困难。,云计算综合使用了大量的现有技术,分布式存储和计算规模更大,密度更高,能力更强硬件虚拟化层次更丰富,效率更高资源隔离粒度更细,扩展性更强服务驱动以面向服务的思想为基础,扩展了SaaS,在其基础上发展出了XaaS,云计算体现了IT服务化的思想,云计算的三种基本服务模式IaaS:Infrastructure as a Service,基础设施即服务。服务的提供者将计算机基础设施作为计量服务提供给用户。PaaS:Platform as
8、 a Service,平台即服务。服务的提供者将软件应用的开发环境、运行环境等作为计量服务提供给用户。SaaS:Software as a Service,软件即服务。服务的提供者将应用软件部署在服务器上,用户根据需求通过互联网访问应用并获得服务。,基础设施即服务,服务的提供者将IT设基础设施资源的利用作为服务提供给用户,这些资源通常包括处理器资源、存储资源、网络带宽等。用户可以在这些基础设施上部署和运行软件,包括操作系统和应用软件。Amazon的EC2是一个典型的IaaS,通过互联网访问,向用户提供按需计费的计算能力和存储空间。Amazon的AWS是一个新的IaaS,可以直接向用户提供基于V
9、Mware的虚拟机,支持windows和Linux等操作系统。,平台即服务,服务的提供者把应用程序的开发和运行环境作为一种服务提供给用户,用户在平台的基础上开发或者部署自己的应用程序,并借助平台的服务器通过互联网交付给应用程序的最终用户。PaaS可以给企业或个人提供研发的中间件平台如数据库、应用服务器等资源。典型的PaaS平台有GAE、F等。,Google App Engine,Google App Engine提供了一个集成的应用开发环境,提供对Java和Python的支持。利用Google提供的开发工具,可以构建易于构建、易于维护、易于扩展的应用。Google App Engine的环境具
10、有以下特征:动态的Web服务。具有查询、分类和实物存储的持久存储能力。自动扩展和自动负载平衡基于Google API的单点登录机制,Force.Com,SalesForce为Force.Com平台提供了一套完整的API和开发工具集,以登录次数为单位进行计费。Force.Com提供了AppExchange机制,AppExchange是一个以Web为基础的应用的目录,提供应用软件的分享、授权和销售接口。,软件即服务,软件即服务是最普遍的一类服务模式。服务的提供者将软件应用部署在服务器上,通过互联网分发给最终用户。用户往往不再为“拥有”软件支付费用,而是为“使用”软件支付费用。服务的提供者所服务的每
11、一个个人或者组织被称之为“租户”,这种配置模式被称为多租户架构。服务的提供者的资源被虚拟地划分为多个部分,使得每个租户都可以利用定制的实例进行工作。对于最终用户来说,使用SaaS无需前期的服务器或者软件许可投资。对于应用的开发者来说,只需要为多个客户端维护一个应用。,典型的SaaS无处不在,第二部分 SASE 云时代的软件工程,软件工程能否从云计算中获益?,本地开发的软件需要部署到云中部署的困难能否直接在云中开发开发工具也是软件将开发工具部署到云里会怎么样代码直接在云里,服务支持的软件开发方法,面向构件的,软件开发方法,服务化的软件,面向行业领域的软件,支持软件开发的工具软件,软件开发方法,发
12、展,面向对象的,软件开发方法,面向过程的,软件开发方法,面向服务的软件开发,面向服务的软件开发方法,服务支持的软件开发方法,服务提供者角色的分化,平台的提供者 工具服务收集与管理,通过使用各种类型的优化技术,为大量的、数目不断变化的用户提供高质量的服务,并提高平台中硬件、数据、能源等各类资源的利用率服务的监测与分析、决策与控制是核心研究内容与进程的调度是传统操作系统的核心相类似审核与部署、挖掘及推荐是软件服务管理平台特有的研究内容与传统操作系统不同,服务运营平台不仅需要掌握资源的动态信息,还要记录服务的访问历史信息(例如,什么时候、被什么用户访问过,效果如何,对系统资源的消耗如何,等等),并掌
13、握关于用户总体甚至特定用户的大量信息,以提供优质的、个性化的服务,服务的开发者 软件开发与演化过程,开发符合云平台规范的工具支持用户直接使用支持程序调用挖掘用户使用习惯完善工具新工具参与云平台的高层管理,服务的消费者组合、构造适合自己的WEB IDE,IDE不再“千人一面”集成不同功能的工具支持完整的软件生命周期管理集成多个类似功能的工具提高服务的质量集成服务化的工具与本地工具合理地利用服务,SASE的优势,服务化带来的一般性优势不用本地安装维护、升级简单编程协同: Bepsin制导:大量习惯用法、利用其它人的编程技巧编译云中收集大量的程序库,工具的配置开发人员比较方便地配置自己的开发环境工具
14、的测试使用过程是最好的测试永远处于测试中!工具的演化服务运行平台可以很方便地为服务化的软件收集到运行相关的信息对于后续维护、升级等演化活动非常有价值,SASE发展面临的挑战,技术挑战:不是简单的工具 web 化!SASE特有的: 新的协作方式更高起点:开发环境与运行环境的接近协同编程:项目成员间更密切的显式合作深度复用:项目之间更丰富的隐式合作远程调试:资源不在本地受限测试: 有喜有忧细致部署:侧重点的转移,SaaS共有的:集中的管理与挖掘静态分析:老技术、新需求动态监测:日趋重要优化控制:好说难做挖掘推荐:潜力无限浏览器图形图像处理能力的局限性FlexHTML5,更高起点:开发平台与运行平台
15、接近,创建项目时得到更多的支持面向领域(数据模型、领域模型)更明确的引导更丰富的代码框架因为IDE掌握运行平台细节传统分发的模式IDE 开发者难以详细地假定应用开发者、系统实际运行的环境,协同编程:项目成员间更密切的合作,项目级并发SVN:同时编辑同一项目中的不同文件任务分配、进展监控文件级并发协同编辑:同时编辑同一文件中的不同方法极限编程:异地结对进行?项目组内更多的实时协作组内成员的活动,深度复用:项目之间的隐式合作,复用编码习惯推荐使用公共类中某些方法推荐联合使用公共类库复用缺陷模式避免常见的不当用法基于编程动作挖掘传统方法收集困难云环境中收集方便,远程调试:设施不在本地,大量的交互够快
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 高档 软件工程
限制150内