应用部署方法介绍

应用部署方法介绍

ID:11308374

大小:1.17 MB

页数:11页

时间:2018-07-11

应用部署方法介绍_第1页
应用部署方法介绍_第2页
应用部署方法介绍_第3页
应用部署方法介绍_第4页
应用部署方法介绍_第5页
资源描述:

《应用部署方法介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、应用部署方法介绍2.1介绍传统PaaS采用sandbox实现app间的资源安全隔离,sandbox需要对运行环境和编程语言进行底层的功能限制,例如:禁止创建进程和线程,禁止部分系统调用,禁止对某些系统路径的读写,禁止加载C语言模块,禁止某些网络功能等,这大大增加了开发者的开发成本,也使得应用开发和跨平台迁移难度叫交接和学习成本变大,不利于平台的推广。另外困扰开发者的一个主要问题就是应用的云端运行环境与开发者的本地开发环境不一致,很多功能受到限制。开发者在本地开发调试好的应用,发布到云端就遇到沙盒限

2、制问题无法运行,不得不针对云端环境进行修改。BAE采用轻量虚拟机技术进行资源隔离,在运行环境和编程语言层面,不做任何限制;应用在云端的运行环境与开发者本地的开发环境保持一致,从而使得学习成本、开发和迁移成本降到最低,开发者的生产力得到最大限度的解放。下图显示沙盒技术实现资源隔离(左)与轻量虚拟机技术实现资源隔离(右)的区别:2.2服务器部署评估应用部署计算流量可能存在一个逐渐优化的过程,为了防止流量突增引起雪崩效益,针对php执行环境(代码为helloworld),对单个执行单元并发20时候,qp

3、s达到530最高阈值,并发再次提高qps会下降,单个执行单元配置:单核,内存512,带宽10M。部分压测数据如下:并发Qps2XX4XXerror率宿主idled-2XX请求超时10459498930020%4ms020530941940012%4ms0305291397500010%6ms0注:当前压测数据是对执行单元最简单的吞吐校验。是线上和线下的一个辅助校验,当有后端服务的时候此数据会有量级减少2.3特性执行单元由运行在轻量虚拟机内的一组进程构成;每个执行单元对应一个轻量虚拟机。开发者无需关

4、心轻量虚拟机的存在,只需关注部署的执行单元即可。假设有一个BAE部署分配了两个执行单元,每个执行单元对应一个轻量虚拟机,执行单元启动后,对应着轻量虚拟机里面的一组进程,包括lighttpd和php-fpm进程等。若其中一个轻量虚拟机出现故障,BAE平台自动为其重新分配一个轻量虚拟机,并将执行单元部署到新的轻量虚拟机上,这就是执行单元的迁移。这种技术保证了应用的高可靠性。运行环境和与编程语言无任何限制:对运行环境和编程语言,包括创建进程、创建线程、系统调用、执行C扩展模块、文件系统访问不做任何限制。

5、多种编程语言支持:目前支持PHP、Python、Java、Node.js,以后会陆续增加对主流开发语言的支持。目前的bae4.0开发者还可以自定义运行环境编程框架的支持:编程语言层面没有任何限制,相应地支持特定编程语言的所有编程框架。无论是主流还是小众框架,只要能在开发者本地的环境中运行起来,则云端也能运行无阻。自动安装依赖包:通过配置依赖包文件,云端环境可以自动安装用户指定的依赖包。例如,package.json是nodejs-web部署类型的NPM配置文件,用于配置node.js编译时的依赖包

6、及启动时的入口文件,从package.json配置的依赖包在编译时安装在应用根目录的.bae/node_modules目录下。相似地,requirements.txt是python-web/python-worker部署类型的用户自定义依赖配置文件,用于配置编译时的依赖包。开发者部署代码时添加requirements.txt文件,其中指定的依赖包会下载安装到应用根目录的deps目录下。丰富的服务支持:提供多样性的扩展服务,包括MySQL、MongoDB、Redis、Log、Port等。自由的网络访

7、问:多数PaaS对外的网络访问需要通过HTTPProxy或SocketProxy代理出去,而BAE对外的网络访问无需代理层的转发。此外,BAE提供扩展服务Port,允许开发者自定义对外提供服务的TCP端口,从而实现更复杂的业务逻辑。新增worker类型:多数PaaS只提供web部署类型,BAE在此基础上提供worker类型,主要用于后台任务,例如爬虫,长期运行于后台,不停的去爬取各种网络资源。本地开发环境:BAE提供基于跨平台虚拟化工具VirtualBox和虚拟机创建工具Vagrant的本地开发环

8、境,通过模拟与BAE云端执行单元完全一致的虚拟环境,确保本地调试通过的代码部署到云端后可顺利发布,节省了因本地与云端环境不一致导致的调试成本,在一定程度上提高了开发效率。环境部署:本地开发环境是BAE为方便开发者使用BAECLI工具进行本地调试提供的Ubuntu虚拟机(12.04.2LTS,64bit)。依赖于跨平台虚拟化工具VirtualBox和虚拟机创建工具Vagrant,本地开发环境通过模拟与BAE远端执行单元完全一致的虚拟环境,确保本地调试通过的代码部署到BAE后可顺利发布

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。