PaaS平台相关技术课件_第1页
PaaS平台相关技术课件_第2页
PaaS平台相关技术课件_第3页
PaaS平台相关技术课件_第4页
PaaS平台相关技术课件_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一PaaS平台发展现状二PaaS平台的监测与调整三我们的工作大纲PaaS平台发展现状一PaaS平台发展现状一Google App Engine1Windows Azure Platform2AWS Elastic Beanstalk3Cloud Foundry4GAE简介Google App Engine 提供一整套开发组件来让用户轻松地在本地构建和调试网络应用用户可以通过GAE在Google强大的基础设施上部署和运行网络应用程序,并自动根据应用所承受的负载来对应用进行扩展,免去用户对应用和服务器等的维护工作。提供大量的免费额度和灵活的资费标准。在开发语言方面,现支持Java和Python这两

2、种语言,并为这两种语言提供基本相同的功能和API。GAE的基础:Google的十个核心技术(1)分布式基础设施GFS:分布式文件系统Chubby :分布式锁服务Protocol Buffer:Google内部使用的一种语言中立、平台中立、可扩展的序列化结构化数据的方式分布式大规模数据处理MapReduce :并行编程模型Sawzall:构建在MapReduce之上的采用类似Java语法的DSL(Domain-Specific Language)GAE的基础:Google的十个核心技术(2)分布式数据库技术BigTable :非关系型数据库,多级映射的数据结构数据库 Sharding:对MySQ

3、L的分片(Sharding)的水平扩展(Scale Out)解决方案数据中心优化技术数据中心高温化:Power Usage Effectiveness=1.212V电池服务器整合GAE的设计特点重用现有的Google技术Datastore是基于Google的bigtable技术,Images服务是基于Picasa的,用户认证服务是利用Google Account的,Email服务是基于Gmail的等无状态不在应用服务器层存储任何重要的状态,而主要在datastore这层对数据进行持久化硬限制对代码有一些硬限制来保证安全利用Protocol Buffers技术来解决服务方面的异构性分布式数据库G

4、AE主要组成部分应用服务器:主要是用于接收来自于外部的Web请求。Datastore:主要用于对信息进行持久化,并基于Google著名的BigTable技术。服务:除了必备的应用服务器和Datastore之外,GAE还自带很多服务来帮助开发者,比如:Memcache,邮件,网页抓取,任务队列,XMPP等。管理界面:主要用于管理应用并监控应用的运行状态,比如,消耗了多少资源,发送了多少邮件和应用运行的日志等。本地开发环境:主要是帮助用户在本地开发和调试基于GAE的应用,包括用于安全调试的沙盒,SDK和IDE插件等工具。Java运行环境:概述主要特点选用了轻量级的Jetty技术,运行在Java 6

5、上支持大多数常用的Java API,但不支持一些比较高阶的API和框架,包括JDBC,JSF,Struts 2,RMI,JAX-RPC和Hibernate等。JRE白名单:http:/intl/zh-CN/appengine/docs/java/jrewhitelist.html对应用的限制比较多Java运行环境:安全保障机制请求计时器请求处理程序对请求生成和返回响应的时间是有限的,通常约为 30 秒。达到限制时间后,请求处理程序将中断。Java 运行时环境通过引发com.google.apphosting.api.DeadlineExceededException中断 servlet。如果请

6、求处理程序不捕获此异常,那么和所有未捕获的异常一样,运行时环境将向客户端返回 HTTP 500 服务器错误。Java运行环境:安全保障机制沙盒无法向文件系统写入只允许读取与该应用程序一起上传的“资源”文件。无法产生子进程或线程无法打开套接字或直接访问另一主机禁用不适用于 GAE的java.lang.System类的功能允许应用程序对自己的类进行完全、无限制的反射访问,无法对不属于自己的任何其他类进行反射,也无法使用setAccessible()方法来避开这些限制平台提供的基础服务Memcache定时任务App Engine Cron 服务允许在指定时间执行或按指定间隔执行定期计划任务:cron

7、 job网址抓取应用程序可使用App Engine 网址抓取服务分别向端口 80 和 443 上的其他主机发出 HTTP 和 HTTPS 请求Email用户认证图形总结GAE适应的使用场景Web HostingOpen For Questions日本大地震寻人REST服务BuddyPoke依赖Google服务的应用比如应用能够通过App Engine的Email服务来发送大规模的电子邮件。PaaS平台发展现状一Windows Azure Platform2Google App Engine1AWS Elastic Beanstalk3Cloud Foundry4组成Windows Azure计

8、算作为一个部署服务的平台用户可以在Windows Azure上部署自行开发的服务作为一个软件分发平台用户可以使用Windows Azure来分发自己的软件作为一个一般的分布式计算平台Fabric提供了极其强大的负载平衡的支持,所以可以很好的执行一些极为复杂的并行算法。Windows Azure支持多种开发技术,例如.NET,Win32,甚至是Java,从而满足大多数客户对分布式计算的需求。Windows Azure四种存储服务Blob类似文件系统的存储方式Table结构化的存储方式Queue先进先出的存储方式Drive使用标准的NTFS API读写文件Windows Azure管理管理员可以直

9、接使用Windows Azure门户来管理程序。门户提供了创建,删除项目,创建,删除,更新部署,等众多功能。此外还提供了Management API,让开发人员自行开发程序来管理他们的部署。今后还会将System Center与Windows Azure集成,从而可以使用同一套工具,同时管理企业内部的服务器,以及云端的资产。AppFabricService BusService Bus可以被用于将本地的服务暴露给Internet解决:内网服务没有对外地址所以无法被直接访问AppFabric在云中,权限管理往往要比在企业内部来的困难。这是因为你无法直接使用诸如活动目录之类的产品来统一管理你的程序

10、的访问控制。其他将现今Windows Server AppFabric中的功能移植到Windows Azure platform AppFabric中来:分布式缓存,以及WCF/WF管理的功能SQL Azure部署在云端的关系型数据库引擎绝大多数的管理工作都由微软为你完成,因此你不用担心任何诸如备份,集群,等管理方面的问题SQL Server 2008 Management Studio R2(目前为CTP版本)针对SQL Azure也提供了很强大的支持PaaS平台发展现状一AWS Elastic Beanstalk3Google App Engine1Windows Azure Platfo

11、rm2Cloud Foundry4对应用的要求应用尽可能设计的无状态使用松耦合、可容错的组件,以便能在需要的时候进行伸缩使用持久存储来存储数据AWS EB的应用是跑在EC2上的,而EC2的实例没有本地的持久化存储。在关闭之后,上面的所有数据都会被清除。使用AWS提供的数据存储服务 Amazon Simple Storage Service (Amazon S3)Amazon Elastic Block Store (Amazon EBS)Amazon SimpleDBAmazon Relational Database Service (Amazon RDS).搭建在EC2上在EC2的inst

12、ance上预装了一些运行环境Auto-scalingPaaS平台发展现状一Cloud Foundry4Google App Engine1Windows Azure Platform2AWS Elastic Beanstalk3Cloud Foundry2011年4月12日刚刚上线由VMware的Spring建立的一个开源的PaaS平台With Cloud Foundry, VMware is providing a convenient and compelling destination for Java applications in public and private cloud.C

13、loud FoundryChoice of Developer FrameworkChoice of Application ServicesChoice of CloudsChoice of Usage (Its Open Source)架构DEA(Droplet Execution Agent)一个droplet就是应用的代码和它的依赖库所打成的一个包,并且要添加一个start和stop命令系统会维护一个待命的DEA的池,也就是一个虚拟机级别的应用容器DEA同时支持单租户和多租户的操作(即每个应用一个DEA虚拟机,或是n个应用一个DEA虚拟机)DEA还提供了一个安全且受限的操作系统环境来运

14、行应用所在的应用服务器和应用的代码路由(Router)路由负责接收外界的所有请求,并负责维护外网URL到内部服务实例的映射除了对应用的请求,对所有的Cloud Foundry的API的请求(一般是由vmc和STS发出的)也会经过路由路由同时也是一个负载均衡器,负责把请求平均的分发给一个给定应用的所有实例云控制器负责系统中的所有状态改变保证所有的依赖可用将服务和应用绑定所有影响用户、应用和服务的操作都由cloud controller来进行比如,通过vmc进行的push、instances、create-service都是由cloud controller驱动的当应用被组装好以后,cloud c

15、ontroller负责将应用和一个DEA执行单元连接起来健康管理器健康管理器与云控制器和DEA紧密的配合,来保证所有的应用都保持高的可用性如果一个应用崩溃了,健康管理器会及时的发现,并安排一个替代的实例如果健康管理器发现快速、重复的应用崩溃,它就会宣布应用进入“flapping”状态,并且停止恢复这个应用Services服务为cloud foundry提供了很多扩展性目前提供了包括MySQL, Redis, MongoDB, RabbitMQ等服务应用之间可能会共享服务Cloud foundry把服务的供给抽象成一个统一的API,并将其托管于cloud controller之中这样的好处就是可

16、以通过一种统一的方式将服务添加到应用之中Cloud Foundry组件间的交互PaaS平台的监测与调整二服务的监测1分析与决策2运行时调整3不同角色的监测视图云平台运营者平台各个层次的运行状况云平台开发者(部署者)所部署应用的运行状况应用的用户访问情况最终用户对比服务之间的运行状况云的层次结构虚拟机层监测VMware vSphere Management APIsWeb-services based APIfor managing, monitoring, and controlling the life-cycle of all VMware vSphere componentsvSpher

17、e Client-Server ArchitectureManagedobjects存在于vShpere服务器上(ESX/ESXiorvCenterServersystem)代表vSphere的服务或者组件Managedobjectreferences客户端应用对服务器端的managed objects的引用Dataobjects包含managed objects的相关信息操作系统层监测通过操作系统提供的接口来获得系统的相关信息Windows资源管理器不同的操作系统需要不同的实现本地代码Hyperic Sigar/products/sigarSigar为开发者提供了一个跨越平台的统一API来获

18、得操作系统的相关信息System memory, swap, cpu, load average, uptime, loginsPer-process memory, cpu, credential info, state, arguments, environment, open filesFile system detection and metricsNetwork interface detection, configuration info and metricsTCP and UDP connection tablesNetwork route table中间件层监测J2EE中间件

19、的管理:JMXJMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。大多数中间件都实现了JMX接口以Tomcat为例应用层监测请求参数值、请求的顺序、请求的频度响应响应时间、响应的正确性资源管理操作应用内部运行时验证技术实现技术截取器、过滤器、监听器代码插装技术:ASM、Javassist、Aspectj应用层监测软件运行时验证技术将需求(对软件的约束)定义为对应的specification由specifi

20、cation自动或半自动的生成监测及验证代码将监测代码插装到原程序中在程序运行的过程中,获得相应的trace信息,并由验证代码进行验证返回验证结果应用层监测约束的定义应用层监测监测用户的使用行为用户感受到的QoS用户的使用行为模式地域性使用习惯负载模式PaaS平台的监测与调整二服务的监测1分析与决策2运行时调整3分析对应用本身的分析对哪种计算资源的需求更大?性能瓶颈在哪里?对环境因素的分析基于历史负载的预测对用户使用行为的分析对应用之间关系的分析负载的互补性资源使用的互补性决策基于policy的决策方式Policy specification基于阈值的决策方式如何制定合理的阈值?PaaS平台的

21、监测与调整二服务的监测1分析与决策2运行时调整3虚拟机层次虚拟机开启、关闭、休眠虚拟机迁移VMware Vmotion:将正在运行的虚拟机从一台物理服务器移动至另一台物理服务器,而不影响最终用户虚拟机的活动内存和准确的执行状态通过高速网络快速从一台服务器传输到另一台服务器,对虚拟机磁盘存储器的访问被即刻切换到新的物理主机由于网络也进行了虚拟化,因此虚拟机会保留其网络标识和连接,从而确保实现无缝的迁移过程虚拟化技术:资源分配的动态调整资源池技术CPU的池化份额(Shares)虚拟机对资源使用的相对优先级默认分为:高/正常/低,比例关系为4:2:1份额为高的虚拟机和为正常的虚拟机在未使用的主机资源中会以2:1的比例占用资源。预留(Reservation)主机保留给虚拟机的最低资源量限制(Limit)虚拟机可使用的最大的资源量。资源分配策略在没有发生竞争的情况下, VM需要多少CPU, ES

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论