一种面向多租户的企业应用部署与管理系统的制作方法

文档序号:9567176阅读:789来源:国知局
一种面向多租户的企业应用部署与管理系统的制作方法
【技术领域】
[0001] 本发明属于软件技术领域,具体涉及企业应用部署与管理系统。
【背景技术】
[0002] 云计算技术飞速发展产生了W-切皆服务巧v&rythingasaService,简称 Xaa巧为代表的服务化应用模式,给软件产业发展带来了巨大的机遇,同时,也为软件技术, 特别是网络化企业应用的开发与部署技术带来新的需求和挑战。运维成本压力和指数级 业务增长压力使互联网企业更关注于物理资源的利用率和应用的可扩展性。国内外大型 口企业纷纷推出云计算平台(如,AmazonEC2、GoogleAppEngine、MicrosoftAzure、 IBMSmartClout盛大云、阿里云、新浪云),同时,开源云计算平台(如,Eucalyp化s、 化enStack)的出现也促进了云计算技术研究与应用的发展。
[0003]Goo邑IeAppEn邑ine(Goo邑IeAppEn邑ine,URL:appen邑ine.邑〇〇邑Ie.com) 寺 传统Web应用开发的化aS平台,目前支持Python和化va两种编程语言,W及Django、QierryPy、Pylons和web2py等Web应用框架。GoogleAppElngine提供了抓L获取、由 件、缓存、图像处理等服务,帮助开发人员构建Web应用程序。应用开发完毕后交给Google App化gine巧管,负责应用的集群部署、监控W及失效恢复,并根据应用的访问量和数据存 储需求的变化而自动扩展。化rce.comij'orce.com,抓L 化rce.com)支持Apex语言, 可W用于开发应用程序业务逻辑、数据库触发器W及用户界面。Force,com为开发者提供 了在线的和本地的两种集成开发环境,包括F'orce.comDeveloperConsole和F'orce.com IDE。其中,前者包含可用于创建、调试和测试应用程序的工具集合,可W帮助开发人员完 成调试和故障排除、编辑和导航源代码、测试和验证性能、执行SO化和SO化查询等开发任 务;后者是基于Eclipse的本地集成开发环境,用于化rce.com应用的创建、修改、测试和 部署。CloudFoun化y(Cloud化11]1化y,URL;www.clou壯Oim化y.org)是VMware维护的开 源化aS项目,支持Java、Rails、Ruby、Node.js开发语言,并提供消息、关系数据库、内存存 储等服务。Cloud化un化y包括中必控制器、Agent、路由、消息系统、健康检查、NFS和数据 库六大模块。用户通过中必控制器将应用生命周期管理指令发送给相关Agent,Agent负责 应用运行支撑环境的构建,并将运行时监测到的应用行为发送给健康检查模块进行分析。 0口611化1;1^(化日]1化1;1^,1]化哪丽.〇9日]13111;1^.。〇111)支持化¥日、?册、?八11〇]1、1?址)7等主流开发 语言,除了提供基于JBoss中间件套件的平台服务,还提供支持云端应用程序监控管理的 JBossOperations化twork、监控云端能效的CloudA血inF*o;rtalW及JBossDeveloper Studio开发工具,可混和调度不同虚拟平台,如KVM、VMware和Hyper-V。新浪应用引擎(新 浪SAE,抓L;sae.sina.com.cn)是新浪推出的公共化aS平台。Web开发者可W通过SVN或 者Web版在线代码编辑器进行开发、部署、调试,团队开发时还可W进行成员协作,不同的 角色将对代码、项目拥有不同的权限。SAE提供了一系列分布式计算、存储服务供开发者使 用,包括分布式文件存储、分布式数据库集群、分布式缓存、分布式定时服务等。百度应用引 擎(百度BAE,抓Lideveloper.baidu.com/services)是百度推出的公共F*aaS平台,将原 本单机的LAMP架构变成分布式架构。开发者可W基于BAE平台进行PHP、Java、Python应 用的开发、编译、发布、调试。同时,BAE平台也提供了大量的云服务,包括fetchU化、task queue、SQL、memcache等。
[0004]W上的公有云计算平台实质上就是一个预先装好的WebContainer和一组公共服 务,如数据存储服务,消息队列,集中式会话及缓存等等。对于个人用户或者简单应用来说, 云计算平台使得开发人员仅关注应用逻辑开发本身,不用把精力花费在基础实施和应用的 扩展和维护上。众多的企业应用依巧于云计算平台W提供多样化的互联网服务。然而,企 业若采用公有云计算平台,郝么将面临放弃全部现有的应用架构与基础设施,同时难W保 障应用与数据的安全;若自行构建云计算平台,则不仅一次性投入巨大,而且应用可扩展性 差,更缺少专业的IT运维团队。因此,企业级云计算平台和公有云计算平台有如下核必区 别;
[0005] 复杂的多租户模型;对于公有云计算平台,其租户模型是(用户一应用一应用实 例),一个用户可W部署多个应用,每个应用可W有多个运行时实例,应用实例共享资源池。 对于一个大型企业,一个大部口可能是一个租户,大部口下面的子部口也是一个租户;或者 一个SaaS应用系统的一个实例就是一个租户。对于租户的资源使用,大部口租户共享资源 池里面的资源,也可能某些关键租户需要独占一些资源W保证安全。
[0006] 已有应用的兼容;原有应用移植到新的部署环境下,需要进行适应性改造。例如, 企业的传统应用是基于关系型数据库的,某些云计算平台若不支持关系型数据存储,即使 是简单的已有应用都无法迁移到云计算平台上。
[0007] 复合应用的构建;企业化-Premise应用在很长一段时间内都是要存在的,私有云 计算平台要成为化-Premise和公有云之间的桥梁。私有云计算平台不仅是应用部署平台 夕F,还需要提供集成和方便构建复合应用的能力。
[0008]因此,企业级云计算平台不仅仅是应用部署平台,而且是复杂多租户环境和复杂 应用环境下的共享基础设施平台。

【发明内容】

[0009] 本发明的技术解决问题;针对现有云计算技术面向企业应用在多租户资源隔离、 兼容已有应用和构建复合应用等方面所存在的问题,提出一种面向多租户的企业应用部署 与管理系统,具有多租户安全隔离、企业应用无缝迁移,W及服务与应用可扩展的优点。
[0010] 本发明的技术方案可W表示为图1,具体步骤如下:
[0011] 面向多租户的企业应用部署与管理系统包括;路由层、应用运行时层、W及服务 层。各层次构成如下:
[0012] ?路由层;Router、Control、Loa地alance;
[0013] ?应用运行时层;NodeAgent、Container、AppMaster、AppSVN、Monitor、 IAASAdaptor;
[0014] ?服务层:基础服务(数据库、缓存、消息)、集成服务(第H方服务)。
[0015] 所述系统的核必组件包括W下部分:
[001 引(1)云路由(Router)
[0017] 云路由的功能包括负载均衡、路由、流水记录等,可分为H个层次:
[0018] ?适配框架;提供灵活的服务适配引擎,可W编排服务执行流程,并能方便地新增 服务类型;
[0019] ?基础服务;提供服务路由、负载均衡、流量统计、访问控制、异常处理、流水服务 等基础服务,还提供针对特殊请求的定时任务基础服务;
[0020] ?协议适配;与其他模块的交互提供通讯协议,包括异步HTTP接入接出协议,JMS 协议等。
[0021] 似访问控制(Control)
[0022] 访问控制的功能是依据AppMaster下发的访问控制策略,判断是否允许请求继续 访问应用。访问控制的对象是应用,通过配置策略可W得知应用何时拒绝访问。用户请求 到达router后,根据要请求的应用名进行访问控制检查,并在router进行拦截,避免决拒 绝访问应用的请求进入Node。访问控制策略初步包括应用的生效时间段。
[0023] (3)云负载均衡(Xoa地alance)
[0024] 云负载均衡的功能包括状态采集、权值计算、负载分配。首先,从NodeAgcnt获取 应用状态和节点状态,然后计算实例权值。当Router传来负载均衡请求后,根据实例权值 分配负载。权值计算策略分为静态策略和动态策略:
[0025] ?静态策略;所有实例按照1 : 1的比例轮询;
[0026] ?动态策略;根据权值计算策略,把应用状态转换为应用权值,其中,权值计算考 虑的因素有,节点平均响应时间,CPU利用率,连接数等。
[0027] (4)云节点代理(NodeAgent)
[002引云节点代理的功能包括:
[0029] ?通过NodeAgent实现管理平台命令的转义,屏蔽了操作系统的差异和容器的差 异,传达到应用与服务;
[0030] ?按照管理平台的命令对资源按照需求进行隔离或共享;
[0031] ?对节点资源信息W及应用或服务占用的资源进行可定义频率的探测与传递。其 中,节点代理与资源信息探测功能主要包括:
[003引 ?创建LXC资源隔离容器
[0033] 根据A卵Master传递的需求按照,制定最大内存数占用数,制定CPU核必数,仓Ij建 LXC资源隔离容器。所有部署在容器内的应用或服务,在容器启动后独占所分配的内存与 CPU资源,实现与其他应用和实例的资源隔离。
[0034] ?删除LXC资源隔离容器
[003引接收到A卵Master传递的卸载命令后,卸载LXC资源容器内已部署的应用或服务, 并完成所占用CPU、内存、硬盘资源的释放。
[0036] ?获取应用/服务安装包
[0037] 通过A卵Master下达部署指令,由部署指令获取所需要的验证信息如,用户名、密 码,W及安装资源包所在位置,然后通过FTP、HTTP和共享存储直接远程复制的方式,进行 资源的主动获取。
[0038] ?资源监控
[0039] 按照自定义采集频率提供节点运行状态,其中,CPU利用率,剩余物理内存数按照 自定义采集频率提供应用/服务状态;CPU利用率,物理内存占用数,连接数采集采用周期 性同步采集,与运行状态变更触发主动采集的方式进行监控信息汇总。
[0040] ?快照功能
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1