本发明涉及一种管理系统,尤其涉及一种弹性计算服务管理系统。
背景技术:
近几年来,随着移动互联网的飞速发展,便捷、良好体验、快速迭代的互联网化服务深入人心。传统的it系统在对移动互联网化的需求响应上存在短板,应用系统对资源需求的波峰波谷现象突出,无法快速响应瞬息变化的市场需求,这就要求it支持部门必须在it技术上迎头赶上来满足用户和业务部门的需求。
目前行业内主流的技术方案,技术架构选择以基于mesosmartho+docker开源技术为核心的互联网化技术体系,搭建数据中心操作系统(dcos,datacenteroperatingsystem),来实现弹性计算服务平台。图1为现有技术的弹性计算服务管理系统,其中docker用于轻量级、操作系统级虚拟化技术,实现持续集成与部署,快速迭代应用程序;mesos用于负责分布式集群资源分配,将数据中心抽象成一台电脑;zookeeper用于分布式应用程序协调服务;marathon用于负责任务调度,故障转移;marathon-lb用于负责服务发现;haproxy用于提供高可用性、负载均衡服务。但是该方案针对传统的soa架构,现有的非托管类服务(传统商业数据库、诸如oracle、db2、物理机等)无法纳入管控,实现弹性扩缩容、资源申请、释放、绑定,启停、删除等操作,相当于“真空状”,随着业务数据量会不断增长、访问习惯变更、业务需求变化、应用程序变更等因素,这些因素直接影响目前容器技术方案使用的范畴、持续性、高可用性、生命周期等,非托管类服务成为业务瓶颈。mesosmartho+docker体系具有以下缺点:1、不具非托管类服务横纵向扩展能力,采用的调度方式主要针对托管类(分布式缓存、redis、内存数据库、负载均衡规则引擎),非托管服务无法实现建成跨应用的资源共享和动态调度,支持非托管类应用和服务的快速扩缩容,降低平台可用性;2、不具备非托管类服务敏捷开发机制,无法建立敏捷的开发和交付机制,需要关注非管托类部署环境,无法实现快速的应用环境的设计和构建,支撑业务快速响应;3、不具备智能运维能力,本身只是针对托管类(分布式缓存、redis、内存数据库、负载均衡规则引擎),无法实现托管类服务和非托管类服务智能、集中式的运维运营管理,无法推动自动化运维协同演进,从而保障弹性计算平台的可延续扩展;4、不具备非托管类服务开发、测试、交付、运维部署全流程的打通,无法实现代码编译、单元测试和生产部署的一键化和自动化,提高软件开发部署效率;5、对人的依赖高,可以实现托管类自动处理,自动扩缩容、自动启停等,但对于非托管类缺失自动管控,自动故障处理等,需要人工手动处理,这就需要维护人员具有较高的技术能力,丰富的运维经验,对现场业务综合环境熟悉,对业务知识存在依赖,优先保障何种业务正常使用。
因此,为了更快捷有效的构建业务系统性能管理能力,快速提升业务系统性能,有必要以开源云计算机技术为基础,搭建弹性计算服务管理平台(paas,platformasaservice),实现对应用、服务、资源的调度与编排控制。
技术实现要素:
本发明所要解决的技术问题是提供一种弹性计算服务管理系统,能够实现托管类和非托管类服务同时使用,系统自动切换,保障了业务的连续性。
本发明为解决上述技术问题而采用的技术方案是提供一种弹性计算服务管理系统,包括:
基础资源适配模块,其用于和北向服务编排层资源适配模块以及南向iaas层基础资源适配模块连接,所述基础资源适配模块包括资源审批单元、权限管理单元以及操作审计单元,所述资源审批单元用于基于角色进行权限管理,所述权限管理单元用于基于基础资源层的资源进行权限管理,所述操作审计单元用于记录资源操作情况;
资源调度与编排模块,包括资源调度单元和编排服务单元,所述资源调度单元用于为应用提供基础资源层的资源调度,所述编排服务单元用于为应用匹配合适的资源;
所述北向服务编排层资源适配模块,其和所述资源调度与编排模块连接,所述北向服务编排层资源适配模块用于为所述资源调度与编排模块提供资源调度接口适配,所述北向服务编排层资源适配模块包括基础资源分配接口单元和回收标准化接口单元,所述基础资源分配接口单元为所述资源调度与编排模块提供资源适配,所述回收标准化接口用于支持回收资源;
所述南向iaas层基础资源适配模块,其和iaas基础资源层连接,所述南向iaas层基础资源适配模块用于为不同来源的所述iaas基础资源层接入管理,提供统一的标准接口适配,所述南向iaas层基础资源适配模块包括接口适配与访问连接单元、资源导入单元、计算资源适配单元、存储资源适配单元、网络资源适配单元,所述接口适配与访问连接单元用于支持不同的基础资源层的适配并记录各基础资源层的访问信息,所述资源导入单元用于批量导入适配资源,所述计算资源适配单元用于管理虚机操作,所述存储资源适配单元用于管理存储资源操作,所述网络资源适配单元用于管理网络资源。
优选地,所述弹性计算服务管理系统还包括:
应用生命周期管理模块,其用于管理多个应用,所述应用生命周期管理模块包括应用部署单元、应用升级单元、灰度发布单元、应用删除单元、应用启停单元、应用伸缩单元,所述应用部署单元用于根据编排文件构建相应应用,所述应用升级单元用于根据最小健康实例数量比例以及最大过载实例数量比例更新应用,所述灰度发布单元用于根据动态更新负载以及多级应用实现灰度发布,所述应用删除单元用于删除应用,所述应用启停单元用于启动和停止应用,所述应用伸缩单元用于手动及自动伸缩应用。
优选地,所述弹性计算服务管理系统还包括;
服务集成与管理模块,其用于集成与管理托管类和非托管类服务,所述服务集成与管理模块包括管理及运维者接口、应用编排北向接口以及非托管服务接口。
优选地,所述管理及运维者接口包括服务注册发布单元、服务修改单元、服务删除单元、服务目录获取单元、服务软件包上传单元,所述服务注册发布单元用于注册和发布服务,所述服务修改单元用于修改服务,所述服务删除单元用于删除服务,所述服务目录获取单元用于获取目录,所述服务软件包上传单元用于上传服务软件包。
优选地,所述应用编排北向接口包括服务申请单元、服务实例创建单元、服务实例绑定单元、服务实例获取单元、服务实例解绑单元以及服务上线能力单元,所述服务申请单元用于申请服务,所述服务实例创建单元用于创建服务实例,所述服务实例绑定单元用于绑定服务实例,所述服务实例获取单元用于获取服务实例,所述服务实例解绑单元用于解绑服务实例,所述服务上线能力单元用于上线和下线服务。
优选地,所述非托管服务接口包括服务集成接入单元、服务订阅单元、服务实例绑定单元、服务伸缩单元以及服务访问单元,所述服务集成接入单元用于集成接入服务,所述服务订阅单元用于订阅服务,所述服务实例绑定单元用于绑定服务实例,所述服务伸缩单元用于伸缩服务,所述服务访问单元用于访问服务。
优选地,所述弹性计算服务管理系统还包括:
仓库模块,其用于提供软件包的存储与管理,所述仓库模块包括上传单元、访问接入单元以及下载单元,所述上传单元用于上传软件包并进行存储,所述访问接入单元用于集成仓库web访问接入,所述下载单元用于下载软件包。
优选地,所述弹性计算服务管理系统还包括:
持续集成与持续部署模块,所述持续集成与持续部署模块包括镜像构建单元、集成测试单元、流程管理单元以及上线管理单元,所述持续集成与持续部署模块用于可持续管理上线发布。
优选地,所述托管类服务包括分布式缓存、redis、内存数据库以及负载均衡规则引擎,所述非托管类服务包括oracle、db2以及物理机。
优选地,所述应用生命周期管理模块还包括非托管服务生命周期管理单元,其用于绑定非托管服务、解绑定非托管服务、健康探测非托管服务以及启停非托管服务。
本发明对比现有技术有如下的有益效果:本发明提供的一种弹性计算服务管理系统,由于采用南向iaas层基础资源适配模块和北向服务编排层资源适配模块,能够为弹性计算服务管理系统提供iaas层资源适配。
进一步地,通过实际数据采集和周密算法分析,能够实现自动化部署和运维,实现高可用集群建设。
进一步地,通过托管类和非托管类服务同时使用,系统自动切换,保障了业务的连续性。
进一步地,提出了多层架构,通过简单的操作,即可完成调度任务的定制,后续的信息采集、分析、计算等操作全部有装置自动完成,操作简单,对使用人员的要求相当低。
附图说明
图1为现有技术的弹性计算服务管理系统;
图2为本发明实施例中的弹性计算服务管理系统的基础资源适配模块的示意图;
图3为本发明实施例中的弹性计算服务管理系统的应用生命周期管理模块的示意图;
图4为本发明实施例中的弹性计算服务管理系统的服务集成与管理模块的示意图;
图5为本发明实施例中的弹性计算服务管理系统的仓库模块的示意图;
图6为本发明实施例中的弹性计算服务管理系统的持续集成与持续部署模块的示意图;
图7为本发明实施例中的弹性计算服务管理系统的应用升级单元的示意图;
图8为本发明实施例中的弹性计算服务管理系统的应用删除单元的示意图;
图9为本发明实施例中的弹性计算服务管理系统的应用伸缩单元的示意图;
图10为本发明实施例中的弹性计算服务管理系统的非托管类服务单元的示意图;
图11为本发明实施例中的弹性计算服务管理系统的持续集成与持续部署模块的示意图;
图12为本发明实施例中的弹性计算服务管理系统的调度流程示意图。
具体实施方式
在以下描述中,为了提供本发明的透彻理解,阐述了很多具体的细节。然而,本发明可以在没有这些具体的细节的情况下实践,这对本领域普通该技术人员来说将是显而易见的。因此,具体的细节阐述仅仅是示例性的,具体的细节可以由奔放的精神和范围而变化并且仍被认为是在本发明的精神和范围内。
本发明构建一种全新的弹性计算平台自动化实现方法,平台实现过程中,使用资源弹性分配的近似最优解公式,如下所示:
整个系统的求解就是获得y值的最大值,可以采用如下的条件来获得最优解,其中各变量的含义如下:
i=1->n,服务请求数量;
h=1->h,每个集群中同质物理服务器数量
j=1->d,每个服务器提供的资源类型数量(例如cpu、ram、带宽、存储等)y^i,表示服务i的最小产出要求,取值在0和1之间;
eih:表示资源请求i是否分配在物理服务器h上,取值0或者1;如果是则取值1,否则取值0;
yih:表示服务i在服务器h上是否进行scale方式的输出;如果服务i不在这个服务器上,则取值必须是0;
iaas(infrastructureasaservice),即基础设施即服务。现在参考图2,本发明为解决上述技术问题而采用的技术方案是提供一种弹性计算服务管理系统2,包括:
基础资源适配模块23,其用于和北向服务编排层资源适配模块22以及南向iaas层基础资源适配模块24连接,所述基础资源适配模块23包括资源审批单元231、权限管理单元232以及操作审计单元233,所述资源审批单元231用于基于角色进行权限管理,所述权限管理单元232用于基于基础资源层的资源进行权限管理,所述操作审计单元233用于记录资源操作情况;
所述资源调度与编排模块21,所述资源调度与编排模块21包括资源调度单元211和编排服务单元212,所述资源调度单元211用于为应用提供基础资源层的资源调度,所述编排服务单元212用于为应用匹配合适的资源;
所述北向服务编排层资源适配模块22,其和所述资源调度与编排模块21连接,所述北向服务编排层资源适配模块22用于为所述资源调度与编排模块21提供资源调度接口适配,所述北向服务编排层资源适配模块22包括基础资源分配接口单元221和回收标准化接口单元222,所述基础资源分配接口单元221为所述资源调度与编排模块提供资源适配,所述回收标准化接口单元222用于支持回收资源;
所述南向iaas层基础资源适配模块24,其和iaas基础资源层连接,所述南向iaas层基础资源适配模块24用于为不同来源的所述iaas基础资源层接入管理,提供统一的标准接口适配,所述南向iaas层基础资源适配模块24包括接口适配与访问连接单元241、资源导入单元242、计算资源适配单元243、存储资源适配单元244、网络资源适配单元245,所述接口适配与访问连接单元241用于支持不同的基础资源层的适配并记录各基础资源层的访问信息,所述资源导入单元242用于批量导入适配资源,所述计算资源适配单元243用于管理虚机操作,所述存储资源适配单元244用于管理存储资源操作,所述网络资源适配单元用于管理网络资源。
弹性计算服务管理系统2,完成对应用、服务、资源的调度与编排控制,完成对应用、服务的部署等全生命周期管理。
弹性计算服务管理系统2根据其功能定位,分别提供资源调度与编排服务、应用生命周期管理服务、服务集成与管理服务、仓库服务以及基础资源适配服务。
基础资源适配模块23,主要用于弹性计算服务管理系统2与iaas层资源无缝对接,实现基础资源中计算、网络、存储资源的接入及调度,一次接入,实现无需人工干预,为应用编排提供资源支撑的目标。其中资源审批单元231提供基于角色的权限管理能力,未经审批不得擅自使用资源。权限管理单元232通过多租户的方式,对基础资源层的资源进行权限管控,限制资源使用范围。操作审计单元233记录资源操作情况,提供利用多种过滤条件对操作记录查询,实现安全分析、资源变更追踪以及合规性审计。
南向iaas层基础资源适配模块24为不同来源的iaas层基础资源(物理机/虚拟机/云主机/存储/网络等)接入管理,提供统一的标准接口适配方式,对iaas层资源进行管控。接口适配与访问连接单元241用于提供基础资源适配服务层集成对接vmware、openstack、阿里云等接口,支持不同的基础资源层的适配,记录了各iaas层资源的访问连接方式。资源导入单元242用于提供基础资源适配服务层支持静态资源,批量导入的方式,记录资源共享的访问连接方式,将资源纳入统一管理,为上层提供资源接口服务。计算资源适配单元243用于接口适配提供了调用脚本/restapi/程序接口/页面操作等方式适配不同的iaas资源环境,实现虚机创建、起停、删除、扩容、缩容等操作。存储资源适配单元244用于接口适配提供了调用脚本/restapi/程序接口/页面操作等方式适配不同的iaas资源环境,实现实现存储资源的卷申请、创建、绑定、解绑等操作。网络资源适配单元245用于接口适配提供了调用脚本/restapi/程序接口/页面操作等方式适配不同的iaas资源环境,实现实现网络资源申请、创建、设置等。
北向服务编排层资源适配模块22为服务编排层,提供资源调度接口适配,支持基础资源分配、销毁、回收等资源操作,屏蔽底层基础资源层接口差异。基础资源分配接口单元221用于按需封装restapi接口操作,为服务编排层提供资源适配,应用编排人员,无需关注底层资源配置情况,只需要提供资源申请需求即可如涉及应用伸缩/应用升级/应用灰度发布/应用部署/应用升级/应用伸缩/应用灰度发布/应用启停/应用删除等请求。回收标准化接口单元222用于支持已使用基础资源进行解绑回收,回收的资源,重新回到资源池内,以便于资源重复使用。
资源调度与编排模块21,所述资源调度与编排模块21包括资源调度单元211和编排服务单元212。
资源调度单元211需要提供统一的资源调度机制,为应用或者服务提供基础资源层(iaas层资源、物理机,容器)资源调度。同时满足应用资源池动态伸缩的服务能力。资源调度单元212选择基于开源mesos、kubernetes、marathon、yarn、cloudfoundry等框架,实现调度功能。对通过基础资源适配器,纳入到t-paas平台的调度资源,可以利用资源调度模块提供的北向接口方式,供服务集成与管理服务与应用生命周期管理服务提供资源申请服务,提供资源类型有计算资源调度申请接口、存储资源调度申请接口和网络资源调度申请接口。三大资源调度接口,遵循tosca标准提供统一的应用描述(组成、拓扑组网及应用关系)、资源调度需求描述等接口和软件包格式,确保t-paas平台对各域应用部署格式的统一。计算资源调度申请接口:提供计算资源申请、释放、绑定,供服务集成与管理服务与应用生命周期管理服务提供资源申请服务。网络资源调度申请接口:提供网络资源申请、释放、绑定,供服务集成与管理服务与应用生命周期管理服务提供资源申请服务。存储资源调度申请接口:提供存储资源申请、释放、绑定,供服务集成与管理服务与应用生命周期管理服务提供资源申请服务。
编排服务单元212为应用与服务匹配合适的资源,如需使用服务,可根据服务目录,找到对应的已上线的服务,建立应用与服务之间依赖关系,如资源匹配、端口匹配、存储匹配、网络匹配、亲和与反亲和策略匹配等方式,绑定第三方资源服务,建立路由关系。对建立编排地应关系服务,可以直接点对点访问。
现在参考图3,在具体实施中,所述弹性计算服务管理系统2还包括:
应用生命周期管理模块31,其用于管理多个应用,所述应用生命周期管理模块31包括应用部署单元319、应用升级单元317和312、灰度发布单元311和316、应用删除单元321、应用启停单元320、应用伸缩单元313和318,所述应用部署单元319用于根据编排文件构建相应应用,所述应用升级单元317和312用于根据最小健康实例数量比例以及最大过载实例数量比例更新应用,所述灰度发布单元311和316用于根据动态更新负载以及多级应用实现灰度发布,所述应用删除单元321用于删除应用,所述应用启停单元320用于启动和停止应用,所述应用伸缩单元313和318用于手动及自动伸缩应用。
应用生命周期管理模块31实现多种类型应用的创建、部署、监控、升级、弹性伸缩、启停、删除等能力。应用是直接运行在服务里面,应用生命周期管理模块31面向不同的服务接口。
应用部署单元319的部署方式包括平台部署以及restful接口调用部署,不管采用哪种方式部署都会经过统一鉴权模块来确定是否具备相关权限。其中,restful接口提供一组应用部署api调用服务,当应用部署通过api调用时会根据yml编排文件构建对应服务。平台部署提供编排文件和选择框部署,当应用部署时会根据编排文件分配资源调度相关实例部署在节点上。
现在参考图7,应用升级单元317和312可以是将应用升级到上一个版本,也可以是升级到下一个版本,这取决与应用需要升级到哪个版本,应用升级是一个逐步更新实例版本的过程,在应用升级中主要考虑以下两个变量:
最小健康实例数量比例:当发起应用升级,在新的版本实例启动后至少保证启动的健康实例个数=最小健康实例数量比例后再继续进行逐步更新
最大过载实例数量比例:当发起应用升级,允许=最大过载实例数量比例的实例先启动后再停止旧的应用实例。
灰度发布单元311和316注册在负载上的生产应用a和a-灰度,由北向或南向生命周期管理接口发起更新a-灰度版本,由统一注册更新服务对负载进行更新。
现在参考图8,应用删除单元321支持应用删除,同时保证应用删除的可恢复性,应用删除接口不对运营者开放,只向应用编排提供北向接口用于应用删除,当删除应用时同时会记录相关删除应用操作者时间并产生告警日志输出到消息队列推送给订阅方。
应用启停单元320在应用启停过程中,应用所需要的资源会被创建和删除,当应用启动失败或者停止失败时候会自动进行n次重试,当重试依然失败时会生成告警条目信息。
现在参考图9,应用伸缩单元313和318提供两种方式实现应用伸缩:手动和自动。用户可以根据自己的需求,设置相关的定时或周期性的策略,在适当的时机增加或减少资源,从而节约人力和资金成本,保证应用健康平稳运行。手动方式需要人为触发,可以进行横向和纵向伸缩,横向伸缩是指调整应用的实例数量,也就是组成应用集群的容器数量,平台提供智能化的负载均衡。纵向伸缩是指扩展应用单个容器的资源配额,比如内存、cpu等。目前可提供横向伸缩方式。平台可根据应用资源的使用情况,如:cpu、内存,或访问情况,如:qps,对应用进行横向的扩容或缩容。开启自动扩容后,平台将结合用户自己配置的策略,联合监控数据,自动的创建和释放实例,全程无需人工参与,实现资源合理利用最大化。通过对最小实例数的设定,可保证应用实时可用数量。
现在参考图4,在具体实施中,所述弹性计算服务管理系统2还包括;
服务集成与管理模块4,其用于集成与管理托管类和非托管类服务,所述服务集成与管理模块4包括管理及运维者接口41、应用编排北向接口42以及非托管服务接口43。所述管理及运维者接口31包括服务注册发布单元411、服务修改单元412、服务删除单元413、服务目录获取单元414、服务软件包上传单元415,所述服务注册发布单元用411于注册和发布服务,所述服务修改单元412用于修改服务,所述服务删除单元413用于删除服务,所述服务目录获取单元414用于获取目录,所述服务软件包上传单元415用于上传服务软件包。所述应用编排北向接口42包括服务申请单元421、服务实例创建单元422、服务实例绑定单元423、服务实例获取单元425、服务实例解绑单元426以及服务上线能力单元424,所述服务申请单元421用于申请服务,所述服务实例创建单元422用于创建服务实例,所述服务实例绑定单元423用于绑定服务实例,所述服务实例获取单元425用于获取服务实例,所述服务实例解绑单元426用于解绑服务实例,所述服务上线能力单元424用于上线和下线服务。所述非托管服务接口43包括服务集成接入单元431、服务订阅单元432、服务实例绑定单元433、服务伸缩单元434以及服务访问单元435,所述服务集成接入单元431用于集成接入服务,所述服务订阅单元432用于订阅服务,所述服务实例绑定单元433用于绑定服务实例,所述服务伸缩单元434用于伸缩服务,所述服务访问单元435用于访问服务。
现在参考图10,在具体实施中,所述应用生命周期管理模块31还包括非托管服务生命周期管理单元,其用于绑定非托管服务、解绑定非托管服务、健康探测非托管服务以及启停非托管服务。非托管服务生命周期管理单元主要用于:绑定,解绑定,健康探测、启停。绑定:t-paas平台提供与非托管服务绑定功能,当非托管服务与平台建立绑定关系后,托管类服务可以通过绑定服务目录选择绑定的非托管服务。解绑定:t-paas平台提供与非托管服务解绑定功能,当非托管服务与平台解除绑定关系后,托管类服务不可以通过绑定服务目录选择已经解除绑定的非托管服务,同时当非托管服务解除绑定后,将在绑定目录中清除条目。健康探测:在选择进行健康检查的前提下,t-paas平台对非托管类对应绑定服务会进行定时建厂探测检查,当发现服务不可用时则进行相应的告警。
现在参考图11,服务集成与管理实现应用所依赖的基础技术能力服务集成能力(集成行为包括应用与服务依赖关系、服务发布、服务绑定与解绑等),集成与管理的服务分为托管类和非托管类,对于托管类其生命周期(服务创建、部署、升级、弹性伸缩、启停、删除)由系统管理,对与非托管类服务生命周期由第三方管理,paas的服务管控只实现对服务的绑定等接入能力。
管理或运维者接口,包括服务注册发布:通过restfulapi或t-paas平台web面向管理和运维提供服务注册和发布功能,所有托管类服务都在t-paas上进行服务注册发布,同时发布的服务可以由不同方式构建包含不限于:镜像,二进制包,服务注册发布后在服务目录中生成对应服务条目。服务修改:通过restfulapi或t-paas平台web面向管理和运维提供服务修改功能,服务修改包含对服务的分配资源属性,基本参数配置属性,分配的节点属性修改。服务删除:只通过t-paas平台web提供服务删除功能,删除的服务将同时在服务目录中删除,同时通过消息队列接口通知到所有订阅者。服务目录获取:通过restfulapi或t-paas平台web面向管理和运维提供服务目录获取功能,restful接口提供所有服务目录和单个服务目录获取功能,取决与管理和运维者调用的接口,在t-paas平台web运维和管理可对获取的服务目录进行过滤与筛选功能。服务软件包上传:只通过t-paas平台web提供服务软件包上传功能,上传的服务软件包格式包含以下几类:容器镜像,已编译二进制包,已封装好适用不同操作系统的安装包,服务软件包上传后存储在仓库并在t-paas平台展现对应条目信息。应用编排北向接口,包括服务申请:应用在编排创建过程中可以在t-paas平台通过服务目录选择进行服务申请,由t-paas平台权限控制模块来确定应用是否能进行服务申请。服务实例创建:提供应用编排中对托管类基础技术服务实例进行创建,创建后的服务实例将注册在服务目录条目中,其生命周期由t-paas平台负责。服务实例绑定:在t-paas平台创建的服务实例,平台自动对服务实例进行绑定,绑定后的服务实例将注册在服务条目中。服务实例获取:提供restfulapi与web平台对托管在t-paas平台服务实例提供服务实例获取功能,服务实例获取包含:服务健康状态,实例部署信息,访问地址信息等。服务实例解绑:在t-paas平台创建的服务实例,平台提供对服务实例解绑功能,解绑后的服务实例将在服务目录对应服务实例中删除。服务上线能力:对在t-paas平台提供的服务提供服务上线,下线功能,下线后的服务将在服务目录上被禁用,上线后的服务在服务目录中被启用,启用后的服务能正常被应用编排选择。非托管服务接口,包括服务集成接入:通过restful接口和t-paas平台web对非托管服务提供服务集成接口功能,服务集成接入后在服务目录上生成对应服务条目,应用编排时可以选择对应服务,但非托管服务生命周期不归t-paas平台负责。服务订阅:t-paas平台可以对非托管服务提供服务订阅功能,当其他服务依赖非托管服务时可以由t-paas平台订阅功能进行订阅服务实例与健康信息。服务实例绑定:t-paas平台可以对非托管服务提供对应服实例绑定功能,包含已接入服务扩展实例绑定。服务伸缩:t-paas平台可以对非托管服务提供服务伸缩,伸缩的服务实例在t-paas平台服务条目中的实例列表进行删除,但不对非托管服务物理实例进行操作。服务访问:t-paas平台对接入的非托管服务提供服务访问能力,包含:ssh,命令行接口,web管理工具。
现在参考图5,所述弹性计算服务管理系统2还包括:
仓库模块51,其用于提供软件包的存储与管理,所述仓库模块51包括上传单元511、访问接入单元512以及下载单元513,所述上传单元511用于上传软件包并进行存储,所述访问接入单元512用于集成仓库web访问接入,所述下载单元513用于下载软件包。
仓库模块51为系统的应用与服务提供软件包的存储与管理能力(包括仓库的创建、软件/镜像的上传、删除、备份等);软件包格式包括二进制包、容器镜像包、虚拟机镜像包等多种格式,在t-paas平台仓库类型分为托管类和非托管类。上传:系统为软件包或者镜像包上传功能,并记录上传介质对应的描述信息,同时对上传的软件包或者镜像包进行存储管理功能。访问接入:系统集成仓库web访问接入,可以在系统内对仓库进行web访问。下载:系统仓库服务提供已纳入仓库管理的软件包或者镜像,提供下载功能,下载方式支持http/p2p等多种高速下载方式。当需要对仓库管理的软件包或者镜像进行下载时,只需通过相对应的agent进行主动触发调用仓库服务下载接口,即可完成下载功能。仓库模块51包括托管类仓库和非托管类仓库,托管类仓库主要通过整合及二次开发开源仓库工具,构建高可用企业级仓库管理服务,对应用与服务进行存储与管理操作。仓库服务提供如下功能:简单易用,图形化操作让镜像/软件管理得心应手。支持镜像/软件远程同步,可以实现诸如镜像软件复制、跨数据中心传输。实现基于项目、用户、标签等多维度的镜像/软件归类、查找。提供仓库的高可用性功能,当一台仓库发生故障时,其它仓库可立即即接管提供相应的服务。非托管仓库对非托管类服务所依赖的压缩包,二进制文件,源码包等多种格式存储,下载,上载服务。
现在参考图6,所述弹性计算服务管理系统2还包括:
持续集成与持续部署模块61,所述持续集成与持续部署模块61包括镜像构建单元611、集成测试单元612、流程管理单元613以及上线管理单元614,所述持续集成与持续部署模块用于可持续管理上线发布。
在具体实施中,所述托管类服务包括分布式缓存、redis、内存数据库以及负载均衡规则引擎,所述非托管类服务包括oracle、db2以及物理机。
系统提供企业级持续集成和持续交付解决方案,从快速搭建持续集成环境,到改进和融合企业的开发、测试及持续发布流程,助力企业提升产品发布效率,规范产品开发流程。系统集成了git/svn作为源码管理仓库,当用户在平台上新建一个应用时,自动会为此应用分配一个git/svn仓库。应用也可以关联平台外部的git/svn仓库,源码仓库一旦和应用关联之后,就可以实现将源代码自动发布至平台运行的整个流程。发布之前需要经过一个持续集成流程,持续集成流程可以预先定义,不同的交付团队可能会有差异,只有所有阶段都通过才能发布成功。在开发测试阶段,可以开启自动构建功能,当代码发生变更时自动触发构建流程,并及时反馈集成状态和结果。系统提从了包含镜像构建、集成测试、流程管理和上线管理四个功能模块,实现可持续的,自动化的上线发布管理。系统通过jenkins配置整个持续集成流程,整个流程由代码质量检查、单元测试、构建、部署等几个阶段组成。当触发部署时,先判断当前应用在jenkins平台上是否已经创建对应的持续任务,如果已经存在的话就触发第一个任务,如果不存在则创建这些任务。每一个任务成功执行才会触发下一个任务的执行,组成持续集成流程的所有任务执行过程。任务执行过程中的启动、成功、失败等状态会通过webhook反馈给平台,平台会记录这些状态,并根据执行结果改变执行流程。代码仓库和镜像仓库是开发、测试和生成环境清晰边界。用户选择关联项目代码后,通过webhook监测代码库更新,当开发人员提交代码后,平台将立即下载代码并自动构建、部署,帮助项目团队升级开发模式、真正做到每日集成和验证,让代码承载业务敏捷、缩短迭代周期、助力产品快速推向市场。
现在参考图12,示出了整个弹性计算服务管理系统与周边以及内部各服务之间交互流程。
本发明对比现有技术有如下的有益效果:本发明提供的一种弹性计算服务管理系统,由于采用南向iaas层基础资源适配模块和北向服务编排层资源适配模块,能够为弹性计算服务管理系统提供iaas层资源适配。
进一步地,通过实际数据采集和周密算法分析,能够实现自动化部署和运维,实现高可用集群建设。
进一步地,通过托管类和非托管类服务同时使用,系统自动切换,保障了业务的连续性。
进一步地,提出了多层架构,通过简单的操作,即可完成调度任务的定制,后续的信息采集、分析、计算等操作全部有装置自动完成,操作简单,对使用人员的要求相当低。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。