主流公共云服务商对比.doc_第1页
主流公共云服务商对比.doc_第2页
主流公共云服务商对比.doc_第3页
主流公共云服务商对比.doc_第4页
主流公共云服务商对比.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

主流公共云服务商对比1. 百度开放云服务: 应用引擎BAE3.0概述百度应用引擎(BAE)提供多语言、弹性的服务端运行环境,能帮助开发者快速开发并部署应用。传统PAAS采用沙盒技术来实现应用之间的资源隔离,如下图所示。沙盒技术需要对运行环境和编程语言进行功能限制,例如:禁止创建进程和线程,禁止某些系统调用,禁止对某些文件系统路径的读写,禁止加载C语言模块、禁止某些网络功能等,这就大大增加了开发者的学习成本,也使得应用的开发和迁移难度变大。采用沙盒技术进行资源隔离时,困扰开发者的一个主要问题就是应用的云端运行环境与开发者的本地开发环境不一致,很多功能受到限制。开发者在本地开发调试好的应用,发布到云端就遇到种种问题无法运行,不得不针对云端环境进行修改。图1BAE采用轻量虚拟机技术进行资源隔离,如下图所示。在运行环境和编程语言层面,不做任何限制;应用在云端的运行环境与开发者本地的开发环境保持一致,从而使得学习成本、开发和迁移成本降到最低,开发者的生产力得到最大限度的解放。图2核心概念工程一个BAE工程可包含多个部署。部署每一个BAE实例称为一个“部署”。部署类型每个BAE部署对应一种部署类型。除了传统的WEB形式的部署类型外,BAE3.0新增了worker类型的部署。传统的WEB类型,主要用来创建WEB应用,它的特点是通过HTTP请求来驱动应用逻辑;但有时候我们需要长期在后台跑一些任务,例如爬虫,不停的去爬取各种网络资源,这种就需要woker类型的部署来实现了。目前BAE3.0平台支持node.js-web,php-web, php-worker, java-web, python-web, python-worker等部署类型,后续会支持更多类型,给开发者更多的选择。执行单元每个BAE部署由一个或多个“执行单元”组成。执行单元是一个抽象的概念,每个执行单元实际是由一组进程组成;例如一组lighttpd + php-fpm 进程组成了 php-web执行单元。对于一个WEB应用来说,随着访问量的上升,一个执行单元很可能扛不住压力。那么可以通过增加执行单元个数进行“水平扩展”,或者增大执行单元配置如内存进行“垂直扩展”,从而轻松应对压力。轻量虚拟机执行单元由一组进程组成,而这组进程实际是运行在一个单独的轻量虚拟机里面的;每个执行单元对应一个轻量虚拟机。对开发者来说,不需要关心轻量虚拟机的存在,而是关心为自己应用服务的“执行单元”; 而对BAE的运维人员来说,才需要关心轻量虚拟机的运行情况。图3【如图3所示:在BAE3.0中,BAE部署与执行单元、轻量虚拟机的关系】假设有一个“BAE部署”,分配了两个“执行单元”,每个“执行单元”对应一个“轻量虚拟机”, “执行单元”是抽象概念,它启动后,对应着“轻量虚拟机”里面的一组进程,包括 lighttpd 和 php-fpm 进程等。当“轻量虚拟机”出现故障后,BAE平台会自动为它重新分配一个轻量虚拟机,并将“执行单元”部署到新的轻量虚拟机上,这就是“执行单元”的迁移。这种技术保证了应用的高可靠性。当应用流量上升,两个“执行单元”不够用的时候,可以再增加新的轻量虚拟机,并部署“执行单元”,这就是“执行单元”的扩容。这种技术保证了应用的可扩展性。BAE3.0特性运行环境和与编程语言无任何限制对运行环境和编程语言,包括创建进程、创建线程、系统调用、执行C扩展模块、文件系统访问不做任何限制。多种编程语言支持除了PHP、Python、Java、Node.js以外,我们还会陆续增加对主流开发语言的支持。此外将来开发者还可以自定义运行环境。编程框架的支持由于编程语言层面没有任何限制,那么各种编程框架的支持也就水到渠成了。不管你是主流的框架,还是小众的框架,只要能在开发者本地的环境中运行起来,那么在云端也可以跑起来。自动安装依赖的模块对于python开发者来说,只要把依赖的模块,例如django, flask等写到 requirements.txt中,BAE会自动帮你把这些模块部署到执行环境中。对于nodejs开发者,可以使用 package.json 达到同样的效果。丰富的服务支持提供多样性的扩展服务,包括MongoDB、MySQL、Redis、Log、Port等。此外百度强大的云能力也都支持,如云存储、媒体云、云推送、LBS等等。自由的网络访问许多PaaS,对外的网络访问需要通过HTTP Proxy 或者是Socket Proxy 代理出去;而在BAE3.0里面,对外的网络访问不再需要经过代理层的转发。此外,我们还将在未来开放“端口服务”,允许开发者自定义对外提供服务的TCP/UDP端口,从而实现更复杂的业务逻辑。新增worker类型很多PaaS只能提供web类型应用的开发;而BAE3.0新增的worker类型应用,可以满足开发者执行长期任务的需求。例如您可以使用worker类型来实现一个自定义的网络爬虫。Worker类型示例本地开发环境我们提供了接近于“云端运行环境”的本地开发环境工具,帮助开发者在本地进行开发和调试;当您在本地完成开发和调试后,再将应用部署到云端,就可以流畅的运行起来了。执行单元套餐在创建BAE部署的时候,您可以根据实际情况选择执行单元的“套餐类型”;也可以在应用上线后,根据访问量随时调整“套餐类型”,从而提高资源利用率。运行环境BAE3.0 是一种基于Linux Container的资源独享型PaaS:基本技术: Linux ContainerBAE3.0底层采用的是Linux Container这种轻量虚拟机技术,相对于传统的kvm, xen 等虚拟机技术来说,它可以更好的适应云计算的需求。关于Container技术的详细介绍,可以参考这里 /操作系统Ubuntu 12.04 Server轻量虚拟机内部,我们采用的是64位的 Ubuntu 12.04 Server。资源配额每个轻量虚拟机都具有一定的资源配额,应用如果使用了超过配额的资源,就可能出现不可预期的错误。例如疯狂分配内存,大量占用磁盘空间等等。 内存: 默认 256M;可通过套餐来调整大小 磁盘: 2G(此为临时文件系统,非代码空间,也不可长期存储文件;代码空间限制为100M) CPU: 与其它轻量虚拟机分享CPU 网络: 流入5Mbytes/秒;流出5Mbytes/秒部署应用代码应用代码部署在 /home/bae/app 目录下,其权限为 bae 账号所有执行应用代码应用代码以 bae 账号来运行;因此应用代码对于 /home/bae 目录下具有任意的读写和访问权限,同时对 /tmp 目录也具有读写和访问权限临时性文件系统应用虽然可以在 /home/bae/ 等目录下任意读写,但是我们说轻量虚拟机里面是一个“临时性文件系统”;也就是说,应用在这些目录下动态创建的文件、目录,是随时可能消失的。这是因为当轻量虚拟机出现故障,或者轻量虚拟机所在物理机器出现故障的情况下,需要将这个轻量虚拟机动态的迁移到别的物理机器上,保证应用的“高可用性”。迁移后,原来轻量虚拟机里面的文件、目录就都丢失了;这也是PaaS通用的处理逻辑。对应用开发者来说,应该意识到PaaS的这种特性,并尽量将需要持久化的数据或者是需要被多个轻量虚拟机共享的数据放到mysql, redis, mongodb, bcs 等存储服务器上。或者使用NFS服务,也可部分解决共享文件的需求。执行单元性能指标以下是对现有的几种部署类型进行压力测试后的性能数据。压测基于256M内存的执行单元,开发者可参考如下测试数据,以了解BAE3.0中执行单元的抗压能力。Nodejs runtime 由于压测的只是一个最简单的helloworld页面,没有用到任何扩展服务,因此实际情况可能低于此值。nodejs执行单元压测数据并发304050100150300qps87410201078113411401058请求数2137942095813419822766691650762475892xx时延1ms1ms3ms11ms29ms112ms4xx数量0000005xx数量000002error数量735155576045宿主机idle40%40%35%50%30%30%宿主机load average212421703022网络带宽4M4M5M6M5M6.5MPhp runtime 仅仅针对phpinfo() 页面进行相关压测,没有用到任何扩展服务,因此实际情况可能低于此值。php 执行单元压测数据php cgi 数:50并发30405080100qps1125111014541308425请求数117569161131153592197640682632xx时延1ms1ms1ms1ms30ms4xx数量000005xx数量00000error数量403001767154828error几率0.03%0.18%0.11%0.36%7%宿主机idle40%20%20%5%1%宿主机load averag络带宽200k350k476k420k180kPython runtime 由于压测的只是一个最简单的helloworld页面,没有用到任何扩展服务,因此实际情况可能低于此值。python 执行单元压测数据cgi 数:50并发405080qps859864916请求数1367191467091428832xx时延4ms5ms6ms4xx数量0005xx数量5312error数量2872error几率0%0%0.05%宿主机idle33%25%30%宿主机load average14.8918.6219.75网络带宽240k280k220kJava runtime 此次压测只测试了一个最简单的index.jsp 页面,没有用到任何扩展服务,因此实际情况可能低于此值。java 执行单元压测数据并发304050100150qps337482529536872请求数456126531670876749201088682xx时延4ms4ms5ms37ms80ms4xx数量000005xx数量000043318error数量127111219宿主机idle10%10%10%5%5%宿主机load average5562637063网络带宽1M2M5M6M5M3.0环境中各类限制类型配额svn/git代码空间:100Mphp-web部署后端cgi进程数:50python-web部署后端cgi进程数:50公有mysql请求数:200000个/分钟CPU时间:400秒/分钟流入流量:300MB/分钟流出流量:600MB/分钟连接数:每个数据库并发连接数将视系统繁忙情况动态调整,范围为1050。私有mysql(申请制)请求限制:128M(读写平均qps:450)256M(读写平均qps:700)512M(读写平均qps:1000)1024M(读写平均qps:1400)容量:2G10Gmongodb请求数:200000个/分钟流入流量:300MB/分钟流出流量:600MB/分钟redis请求:请求数限制为300000个/分钟。( 每次请求最大能处理2048个字节)连接数:每个数据库并发连接数最大为30容量:每个数据库可用的keys总数量为100000cache容量:100Mnfs文件数:2048各操作频率:详见计费标准BAE3.0执行单元按套餐计费,计费公式: 费用套餐单价*使用时长执行单元套餐套餐名称内存(单位:MB)磁盘(单位:GB)单价(单位:元/天)套餐A6420.1套餐B12820.2套餐C25620.4套餐D51220.7套餐E102421.3套餐F204822.5特别说明: 1.因BAE3.0在底层采用“轻量虚拟机技术”,为资源独享型PaaS。故计费指标为您当前占用的执行单元,不论流量大小。但有网络限制:流入5Mbytes/秒;流出5Mbytes/秒。 2.不同配置的执行单元套餐能力评估可参考256M执行单元压测数据。可根据实际需求选择合适的套餐。带宽计费BAE3.0执行单元默认带宽为5MB/s,该部分不额外计费。为满足开发者对于更高带宽的需求,特推出附加带宽套餐,附加带宽需要在“配额管理”中申请,方可使用。附加带宽按套餐计费,计费公式: 费用套餐单价*使用时长带宽套餐套餐名称单执行单元带宽(单位:MB/s)单价(单位:元/天)套餐A(默认带宽免费)50套餐B100.1套餐C150.2套餐D200.3数据库访问说明 请求:为了防止恶意攻击,云数据库采用分钟配额来限制数据库的访问,超配额的数据库将会被封禁5分钟。 请求数:200000个/分钟 CPU时间:400秒/分钟 流入流量:300MB/分钟 流出流量:600MB/分钟 连接数:每个数据库并发连接数将视系统繁忙情况动态调整,范围为1050。 容量:每个数据库有各自的容量限制,超过配额后,数据库将会被封禁。请提前作好监控并及时扩容。服务使用说明 注意:如下表格中的命令为限制使用的命令。限制数值涉及SQL单表最大行数10 000 000行insert,replace单库最大表数1024个create table最大外排序行数65536 行select ,update,delete最大无索引操作行数或最大limit行数200 000 行select,update,delete查询最大操作行数1 000 000行select更新最大操作行数1 000 000 行update删除最大操作行数1 000 000 行delete创建索引最大行数500 000 行create index修改表最大行数500 000 行alter table错误码错误码错误信息说明建议13000Server Error服务器错误联系云数据库管理员13001Protocol Packet Invalid协议包非法使用标准库连接云数据库13002Ak Sk Invalidaksk错误请核对连接数库时使用的参数正确性13003No Database Selected没有选择数据库请在发送任何Query前选择数据库13004Permission Denied权限不允许请正确填写ak,sk和数据库名13005Connect Number Exceeded连接数超限优化应用代码,连接及时释放13006Minute Quota Exceeded分钟配额超限联系管理员13007Access Forbidden禁止访问数据库容量超限或过期,扩容或续费13010Operation Not Supported操作不支持不使用该操作13011Table Number Exceeded表数量超限清理不需要的表13012Table Rows Exceeded表行数超限如果有需求,请联系管理员13013Filesort Rows Exceeded外排序行数超限优化表或sql13014Handle Rows Exceeded操作行数超限优化表或sql私有mysql计费私有mysql计费也按套餐计费,计费公式: 费用套餐单价*使用时长私有mysql套餐套餐名称内存(单位:MB)容量(单位:GB)单价(单位:元/天)套餐A128(读写平均qps:450)20.8套餐B256(读写平均qps:700)21.4套餐C512(读写平均qps:1000)22.6套餐D51242.8套餐E512103.4套餐F1024(读写平均qps:1400)105.8特别说明: 1.私有mysql收费,仍需要在配额管理中提交申请,审批通过后方可使用。 2.私有mysql与共享mysql的差别可参考如下与公有数据库的区别相同点: 支持各语言原生的sdk访问数据库,用户只需要更改数据库的连接信息即可使用,导入导出和phpmyadmin操作完全相同,应用迁移的代价几乎为零。 数据库自动冗余备份,对于用户来说后端主从切换完全透明。 数据完全隔离,不同应用的数据会存在于不同的数据库中而不会相互影响不同点: 用户可使用长连接,维护mysql连接池,不受30秒断连接的限制。但应用代码里面还是要有重连机制,防止后端服务发生热切换,连接失败情况发生。 并发连接数最大支持到500,且直接连接服务实例,相比与公有集群,更能满足应用高并发,低延迟的需求。 无服务使用限制,用户独占服务资源。 特别注意:私有服务的密码初始化时为应用的Secret Key,创建成功后,密码会随着重置sk而变化。port端口服务计费port服务按端口的使用时间计费,每个端口单独计费,计费公式:每个端口的费用套餐单价*使用时长port端口服务套餐名称单价(单位:元/天)套餐A0.12特别说明: 1.port端口服务,仍需要在配额管理中提交申请,审批通过后方可使用。资源配额执行单元配额 普通开发者:执行单元配额为 1 。即每位开发者默认可使用1个执行单元,需在BAE3.0资源开放时段创建部署,否则会提示“BAE资源不足,正在扩容中,请等候下一批” 付费开发者:执行单元配额为 5 。即每位开发者可使用5个执行单元,可以自由创建或删除部署,资源充足。需要多于5个则需要在配额管理中提交申请。注意:普通开发者,若删除部署,对应的执行单元会回收。当试用资源不足时将无法创建。付费开发者不受此影响,随时可删除重建。内存配额创建部署时执行单元的内存默认为256M的: 最大可调至512M(如需要更大内存,需在配管管理中提交申请) 最小,视具体情况定 如果是worker类型、lighttpd-static,最小可调至64M; 如果是web类型,最小可调至128M; 如果是java类型,最小为256M带宽配额 执行单元带宽配额需要在配额管理中提交申请才可调整。注意: 带宽配额为单执行单元的带宽配额,开发者直接在执行单元类型中申请提交即可。私有mysql配额 私有mysql需要在配额管理中提交申请才可用。port端口服务配额 port端口服务需要在配额管理中提交申请才可用。资源回收为防止恶意占用资源,若开发者未按时支付,BAE有权收回资源。待账单支付后,方可继续使用。具体回收策略如下: 账单发出后,7日仍未支付,将自动封禁该用户,回收其所有执行单元(服务终止,但代码仍保留)。 6个月之内支付账单,则自动解封该用户,根据封禁之前的执行单元状态恢复服务。 6个月后仍未支付,则代码删除且不可恢复数据库服务等级协议本协议自2014年2月1日生效。百度云数据库服务等级协议(简称“SLA”) 百度云数据库为广大开发者提供的分布式数据存储服务,可以支持百万级别的后端数据库集群,多机房自动冗余备份,自动读写分离,同时提供数据隔离及安全性检查。百度云数据库本身不提供内容,对开发者存储的内容不做任何修改或编辑。在适用的百度开放云协议有效期间内,百度云数据库服务承诺在单季度中均稳定有 99.9% 的时间可供开发者正常使用。如果百度云数据库服务未符合SLA的要求,而开发者履行了本SLA所规定的义务,则开发者有资格获得符合以下所述服务补偿规则中的相应补偿。定义及名词说明以下定义适用于本SLA。- “服务”: 是指百度云数据库服务根据本SLA协议向开发者提供的付费服务(未付费情况,不适用本SLA)。指标项业务可用性百度云数据库服务承诺在单个季度中均至少有 99.9% 的时间可供开发者正常使用。即单个季度中不可用时间总计不超过130分钟。不可用时间定义包括: (1)机房单网段故障(如单网段交换机故障):在部署时保证所有的数据库不在同一个网段,来避免对数据库服务的中断。 (2)全机房故障(如全机房断电):单个机房整体稳定度在99.99%以上,可以保证数据库服务的稳定度在99.99%。 (3)数据库主库故障: 如果是由于数据库主库服务器故障,百度数据库管理员(DBA)会在4-10分钟内完成将业务切换到新的主库。 如果是由于数据库本身异常,如数据库bug等导致数据库重启,百度数据库管理员(DBA)会在5分钟内通过代理层对触发bug的语句类型进行封禁。 (4)数据库从库故障:数据库的代理层配置有多个从库,即单个从库故障对服务无影响。多个从库同时故障的情况,处理时间为10-20分钟。 (5)数据库代理层故障:数据库的代理层是无状态无数据的模块,在不同网段部署有多个代理层,业务使用上配置有多个入口,即单个代理层故障对服务无影响。多个代理同时故障的情况,处理时间约为30分钟。业务持久性百度云数据库承诺每月存储持久性为 99.9999999%,意为每月开发者1000000000条存储记录,数据不丢失的概率为99.9999999%,即每月只有1条记录丢失的可能。数据可销毁性百度与开发者均承诺,用户主动删除百度云数据库中存储的数据,云数据库内部会通过文件索引删除、空间回收覆盖写等手段,保证相关该数据无法复原。当百度云数据库的服务器整机下架或故障硬盘下架时会进行数据清除工作(消磁、物理损毁等),并且会进行下架后抽查,保证数据可销毁。数据可迁移性百度云数据库支持数据库导入导出操作,数据库文件支持sql文件、zip、bzip2、gzip 4种格式,用户可在百度云数据库管理控制台界面或phpMyadmin界面内进行操作。数据私密性百度云数据库承诺使用加密和隔离等手段保证开发者存储在百度云数据库中的数据互不可见。通过 API Key 和 Secret Key 安全加密对来对云数据库用户进行身份验证,在未经用户授权的情况下,其他用户无法访问其存储数据。百度云数据库运维工程师对运维生产环境的访问权限需经过集中的组和角色管理系统来定义和控制, 每个运维工程师都有自己的唯一身份(UID),经过数字证书和动态令牌双因素认证后通过 SSH 连接到安全代理后进行操作,所有登陆、操作过程均被实时审计。数据知情权百度云数据库为开发者提供1个核心数据中心:百度M1数据中心(位于北京朝阳区酒仙桥北路),以下简称M1。数据中心当地的法律遵守中华人民共和国法律。数据存储节点信息如下:数据存储在M1 ,有3份数据冗余,包括1份冷备,都在M1。百度与开发者均承诺,开发者所有数据不会提供给任意第三方,除政府监管部门监管审计需要。开发者所有数据不会存在国外数据中心或用于国外业务或数据分析。业务可审查性百度不会在未经合法开发者授权时,公开、编辑或透露开发者的个人信息及保存在百度云数据库中的非公开内容,除非有下列情况: (1)有关法律、法规规定或百度云数据库合法服务程序规定; (2)在紧急情况下,为维护开发者及公众的权益; (3)为维护百度的商标权、专利权及其他任何合法权益; (4)其他依法需要公开、编辑或透露个人信息的情况。业务功能百度云数据库为开发者提供分布式的数据库存储服务,业务功能主要包括数据存储、数据导入、数据导出等。详细操作参见云数据库帮助文档。条款项服务变更、终止条款 (1)鉴于网络服务的特殊性,开发者了解并同意,百度云数据库有权变更、中断或终止部分或全部的网络服务。如变更、中断或终止的网络服务属于免费网络服务,百度云数据库无需针对开发者进行单独通知。 (2)开发者理解,百度云数据库需要定期或不定期地对提供网络服务的平台或相关的设备进行检修或者维护,可能造成收费网络服务在合理时间内的中断。百度云数据库无需承担责任,但百度云数据库应尽可能进行事先通告。 (3)百度云数据库服务可能变更或删除部分功能。此时,百度云数据库无需针对开发者进行单独通知。开发者理解并接受,一旦服务取消,开发者使用本服务的权利将立即终止,并且开发者在本服务中储存的任何数据库信息可能无法恢复。服务赔偿条款“服务补偿规则”包含以下内容: (1)当且仅当百度云数据库服务因自身原因导致服务不可用或出现严重故障(如无法写入或数据丢失)的情况下,百度云数据库服务有义务尽快修复问题,并对开发者予以适当补偿。同时,百度云数据库服务补偿原则仅针

温馨提示

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

评论

0/150

提交评论