主流公共云服务商对比.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主流公共云服务商对比 百度开放云服务: 应用引擎BAE3.0 概述 百度应用引擎(BAE)提供多语言、弹性的服务端运行环境,能帮助开发者快速开发并部署应用。 传统PAAS采用沙盒技术来实现应用之间的资源隔离,如下图所示。沙盒技术需要对运行环境和编程语言进行功能限制,例如:禁止创建进程和线程,禁止某些系统调用,禁止对某些文件系统路径的读写,禁止加载C语言模块、禁止某些网络功能等,这就大大增加了开发者的学习成本,也使得应用的开发和迁移难度变大。 采用沙盒技术进行资源隔离时,困扰开发者的一个主要问题就是应用的云端运行环境与开发者的本地开发环境不一致,很多功能受到限制。开发者在本地开发调试好的应用,发布到云端就遇到种种问题无法运行,不得不针对云端环境进行修改。 图1 BAE采用轻量虚拟机技术进行资源隔离,如下图所示。在运行环境和编程语言层面,不做任何限制;应用在云端的运行环境与开发者本地的开发环境保持一致,从而使得学习成本、开发和迁移成本降到最低,开发者的生产力得到最大限度的解放。 图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端口,从而实现更复杂的业务逻辑。 新增work

文档评论(0)

5hfvk152a9 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档