一种基于Terraform的云平台资源弹性伸缩实现方法及系统技术方案

技术编号:24497266 阅读:40 留言:0更新日期:2020-06-13 03:32
本发明专利技术公开了一种基于Terraform的云平台资源弹性伸缩实现方法及系统,属于云计算pass领域,本发明专利技术要解决的技术问题为如何保证资源按需创建,满足按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本,技术方案为:该方法是使用开源的Terraform工具和Etcd数据库,根据租户弹性伸缩策略编辑Terraform模板,并通过云平台提供的provider插件的Terraform工具执行Terraform模板,进而动态控制租户在云平台上的资源,达到资源弹性伸缩的效果,实现租户资源的创建与删除操作以及云平台上基础设施资源管理与上层应用的解耦与分离。该系统采用微服务的技术架构,包括UI层、业务逻辑层和基础设施管理层;UI层用于与用户交互,接收用户配置,转发给业务逻辑层处理并将处理结果呈现给用户。

A realization method and system of elastic scaling of cloud platform resources based on terraform

【技术实现步骤摘要】
一种基于Terraform的云平台资源弹性伸缩实现方法及系统
本专利技术属于云计算pass领域,具体地说是一种基于Terraform的云平台资源弹性伸缩实现方法及系统。
技术介绍
随着云计算技术的快速发展,越来越多的政府机关单位、企业和个人将应用由传统的计算中心迁移到云中心,云平台上部署的应用越来越多,应用的访问量不确定性越来越大,可能大多数情况下流量相对稳定,但某个特殊时段的访问量会激增,对于这类应用的高可用性需求越来越高,另一方面,需要兼顾租户的运营成本。针对访问流量相对稳定的应用,部署之后,不需要动态调整(弹性伸缩)所需的计算资源,但是,对于特定时刻、特定周期或者基于监控告警等动态调整计算资源时,传统的云服务器类产品,无法满足该需求。故如何保证资源按需创建,满足按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本是目前亟待解决的技术问题。专利号为CN107506241A的专利文献公开了一种云平台自动弹性伸缩的方法,包括创建云主机的弹性伸缩策略,主要包括cpu使用率、内存使用率阀值信息,并将策略应用到指定的云主机上;结合云平台监控功能,实时监控应用了伸缩策略的云主机,当达到了伸缩的阀值时,根据配置执行对应的伸缩策略;云主机根据配置的伸缩策略执行完成之后,即完成了云主机的扩容或减容工作。但是该技术方案对于特定时刻、特定周期或者基于监控告警等动态调整计算资源时,不能保证资源按需创建,满足按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本。
技术实现思路
>本专利技术的技术任务是提供一种基于Terraform的云平台资源弹性伸缩实现方法及系统,来解决如何保证资源按需创建,满足按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本的问题。本专利技术的技术任务是按以下方式实现的,一种基于Terraform的云平台资源弹性伸缩实现方法,该方法是使用开源的Terraform工具和Etcd数据库,根据租户弹性伸缩策略编辑Terraform模板,并通过云平台提供的provider插件的Terraform工具执行Terraform模板,进而动态控制租户在云平台上的资源,达到资源弹性伸缩的效果,实现租户资源的创建与删除操作以及云平台上基础设施资源管理与上层应用的解耦与分离;其中,租户自定义的弹性伸缩策略包括三种类型的策略,分别为定时策略、周期策略和基于监控告警的触发策略;弹性伸缩的行为包括三种动作,分别为增加资源、减少资源和调整资源。一种基于Terraform的云平台资源弹性伸缩系统,该系统采用微服务的技术架构,包括UI层、业务逻辑层和基础设施管理层;UI层用于与用户交互,接收用户配置,转发给业务逻辑层处理并将处理结果呈现给用户,同时用于与第三方开发者交互,对第三方开发者提供功能API;业务逻辑层用于数据模型定义与业务流程管理;基础设施管理层用于通过部署了Inspurcloudprovider插件的Terraform工具进行用户浪潮云上基础设施管理。作为优选,所述UI层包括,AS-Front前端应用微服务单元,用于与用户交互,接收用户配置,转发给业务逻辑层处理,并将处理结果呈现给用户;OpenAPI单元,用于与第三方开发者交互,对第三方开发者提供功能API。作为优选,所述业务逻辑层包括弹性伸缩本身的AS-Service后端微服务单元和使用到的外部微服务单元,使用到的外部微服务单元包括Time-Service公共定时任务平台微服务子单元以及ECS-Service云服务器微服务子单元和SLB-Service微服务子单元;其中,AS-Service后端微服务单元用于定义数据模型定义与业务流程管理,通过Time-Service定时任务管理微服务子单元进行弹性伸缩定时任务的管理,并通过ESC-Service云服务器微服务子单元和SLB-Service微服务子单元进行云服务器与负载均衡产品相关的对接,同时接收UI层的用户输入以及公共定时任务平台侧的输入,进行业务逻辑与流程控制,并通过对基础设施管理层模板的动态调整,完成资源的动态增加与减少。作为优选,所述基础设施管理层包括,基础设施管理微服务单元用于接收AS-Service后端微服务子单元下发的模板与参数,完成浪潮云上用户资源的动态创建与删除;inspurcloudprovider插件单元用于通过封装产品API的方式,实现了浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IPEIP的管理,并将浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IPEIP连接到计费管理系统BBS上实现订单的费用管理。更优地,所述AS-Service后端微服务单元根据功能划分为不同的模块,包括API接口管理模块、伸缩组实例管理模块、伸缩配置管理模块、伸缩策略管理模块、数据库管理模块、活动管理模块、定时任务管理模块和模板管理模块,使用伸缩规则管理模块管理伸缩策略,并通过定时任务管理模块和活动管理模块完成初始化和手动触发的操作;活动管理模块接收定时任务管理模块与伸缩组实例管理模块的触发输入,借助模板管理模块生产执行模板,调用Terraform微服务提供的接口,完成活动内容的执行。更优地,所述API接口管理模块用于面向前端UI层和OpenAPI单元封装的RestfulAPI接口,进行身份认证和授权管理的接口权限控制,转发外部调用到除API接口管理以外的功能模块,并将处理结果反馈给调用者;伸缩组实例管理模块是核心功能模块,用于伸缩组实例的创建、删除与查询,伸缩策略的使用,云服务器实例移入与移出以及活动的触发;伸缩组实例管理模块内部维护实例的创建、查询与删除操作,并同时维护云服务器的移入与移出操作;伸缩配置管理模块用于伸缩组伸缩配置的定义与管理,对应云服务器基本配置的管理,云服务器基本配置的管理包括镜像、云硬盘及安全组;伸缩策略管理模块用于伸缩策略与规则的创建、删除与查询的基本操作;数据管理模块用于伸缩组实例、伸缩规则和定时任务的数据模型定义,以及数据的增删改查操作,并使用排它锁,实现伸缩组实例的锁保护,以达到对伸缩组实例操作的互斥处理;活动管理模块用于弹性伸缩动作的执行;定时任务管理模块用于与定时任务管理平台对接,完成弹性伸缩定时任务的管理,弹性伸缩定时任务的管理包括创建、查询、删除、变更以及定时任务执行;模板管理模块用于为活动管理模块提供模板定义、生成支持,并控制云服务器的数量和配置动态变化。更优地,所述活动管理模块的弹性伸缩动作包括伸缩组实例的初始化活动、期望实例数维持活动、最大/最小实例数维持活动、手动触发规则活动以及定时任务触发规则活动,每个活动均有独立的线程完成。更优地,所述伸缩组实例的初始化活动分别启动期望实例数维持活动和最大/最小实例数维持活动,期望实例数维持活动启动最大/最小实例数维持活动;伸缩组实例的初始化活动分别手动触发规则活动以及定时任务触发规则活动之间存在单向线程,期望本文档来自技高网...

【技术保护点】
1.一种基于Terraform的云平台资源弹性伸缩实现方法,其特征在于,该方法是使用开源的Terraform工具和Etcd数据库,根据租户弹性伸缩策略编辑Terraform模板,并通过云平台提供的provider插件的Terraform工具执行Terraform模板,进而动态控制租户在云平台上的资源,达到资源弹性伸缩的效果,实现租户资源的创建与删除操作以及云平台上基础设施资源管理与上层应用的解耦与分离;/n其中,租户自定义的弹性伸缩策略包括三种类型的策略,分别为定时策略、周期策略和基于监控告警的触发策略;弹性伸缩的行为包括三种动作,分别为增加资源、减少资源和调整资源。/n

【技术特征摘要】
1.一种基于Terraform的云平台资源弹性伸缩实现方法,其特征在于,该方法是使用开源的Terraform工具和Etcd数据库,根据租户弹性伸缩策略编辑Terraform模板,并通过云平台提供的provider插件的Terraform工具执行Terraform模板,进而动态控制租户在云平台上的资源,达到资源弹性伸缩的效果,实现租户资源的创建与删除操作以及云平台上基础设施资源管理与上层应用的解耦与分离;
其中,租户自定义的弹性伸缩策略包括三种类型的策略,分别为定时策略、周期策略和基于监控告警的触发策略;弹性伸缩的行为包括三种动作,分别为增加资源、减少资源和调整资源。


2.一种基于Terraform的云平台资源弹性伸缩系统,其特征在于,该系统采用微服务的技术架构,包括UI层、业务逻辑层和基础设施管理层;
UI层用于与用户交互,接收用户配置,转发给业务逻辑层处理并将处理结果呈现给用户,同时用于与第三方开发者交互,对第三方开发者提供功能API;
业务逻辑层用于数据模型定义与业务流程管理;
基础设施管理层用于通过部署了Inspurcloudprovider插件的Terraform工具进行用户浪潮云上基础设施管理。


3.根据权利要求2所述的基于Terraform的云平台资源弹性伸缩系统,其特征在于,所述UI层包括,
AS-Front前端应用微服务单元,用于与用户交互,接收用户配置,转发给业务逻辑层处理,并将处理结果呈现给用户;
OpenAPI单元,用于与第三方开发者交互,对第三方开发者提供功能API。


4.根据权利要求2所述的基于Terraform的云平台资源弹性伸缩系统,其特征在于,所述业务逻辑层包括弹性伸缩本身的AS-Service后端微服务单元和使用到的外部微服务单元,使用到的外部微服务单元包括Time-Service公共定时任务平台微服务子单元以及ECS-Service云服务器微服务子单元和SLB-Service微服务子单元;
其中,AS-Service后端微服务单元用于定义数据模型定义与业务流程管理,通过Time-Service定时任务管理微服务子单元进行弹性伸缩定时任务的管理,并通过ESC-Service云服务器微服务子单元和SLB-Service微服务子单元进行云服务器与负载均衡产品相关的对接,同时接收UI层的用户输入以及公共定时任务平台侧的输入,进行业务逻辑与流程控制,并通过对基础设施管理层模板的动态调整,完成资源的动态增加与减少。


5.根据权利要求2所述的基于Terraform的云平台资源弹性伸缩系统,其特征在于,所述基础设施管理层包括,
基础设施管理微服务单元用于接收AS-Service后端微服务子单元下发的模板与参数,完成浪潮云上用户资源的动态创建与删除;
inspurcloudprovider插件单元用于通过封装产品API的方式,实现了浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IPEIP的管理,并将浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IPEIP连接到计费管理系统BBS上实现订单的费用管理。


6.根据权利要求4...

【专利技术属性】
技术研发人员:蒋方文高传集于昊张栋梁高申申王蕾
申请(专利权)人:山东汇贸电子口岸有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1