CN111274007A - 一种基于Terraform的云平台资源弹性伸缩实现方法及*** - Google Patents

一种基于Terraform的云平台资源弹性伸缩实现方法及*** Download PDF

Info

Publication number
CN111274007A
CN111274007A CN202010017922.9A CN202010017922A CN111274007A CN 111274007 A CN111274007 A CN 111274007A CN 202010017922 A CN202010017922 A CN 202010017922A CN 111274007 A CN111274007 A CN 111274007A
Authority
CN
China
Prior art keywords
service
management module
management
terraform
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010017922.9A
Other languages
English (en)
Other versions
CN111274007B (zh
Inventor
蒋方文
高传集
于昊
张栋梁
高申申
王蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010017922.9A priority Critical patent/CN111274007B/zh
Publication of CN111274007A publication Critical patent/CN111274007A/zh
Application granted granted Critical
Publication of CN111274007B publication Critical patent/CN111274007B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

一种基于Terraform的云平台资源弹性伸缩实现方法及***
技术领域
本发明属于云计算pass领域,具体地说是一种基于Terraform的云平台资源弹性伸缩实现方法及***。
背景技术
随着云计算技术的快速发展,越来越多的政府机关单位、企业和个人将应用由传统的计算中心迁移到云中心,云平台上部署的应用越来越多,应用的访问量不确定性越来越大,可能大多数情况下流量相对稳定,但某个特殊时段的访问量会激增,对于这类应用的高可用性需求越来越高,另一方面,需要兼顾租户的运营成本。
针对访问流量相对稳定的应用,部署之后,不需要动态调整(弹性伸缩)所需的计算资源,但是,对于特定时刻、特定周期或者基于监控告警等动态调整计算资源时,传统的云服务器类产品,无法满足该需求。
故如何保证资源按需创建,满足按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本是目前亟待解决的技术问题。
专利号为CN107506241A的专利文献公开了一种云平台自动弹性伸缩的方法,包括创建云主机的弹性伸缩策略,主要包括cpu使用率、内存使用率阀值信息,并将策略应用到指定的云主机上;结合云平台监控功能,实时监控应用了伸缩策略的云主机,当达到了伸缩的阀值时,根据配置执行对应的伸缩策略;云主机根据配置的伸缩策略执行完成之后,即完成了云主机的扩容或减容工作。但是该技术方案对于特定时刻、特定周期或者基于监控告警等动态调整计算资源时,不能保证资源按需创建,满足按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本。
发明内容
本发明的技术任务是提供一种基于Terraform的云平台资源弹性伸缩实现方法及***,来解决如何保证资源按需创建,满足按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本的问题。
本发明的技术任务是按以下方式实现的,一种基于Terraform的云平台资源弹性伸缩实现方法,该方法是使用开源的Terraform工具和Etcd数据库,根据租户弹性伸缩策略编辑Terraform模板,并通过云平台提供的provider插件的Terraform工具执行Terraform模板,进而动态控制租户在云平台上的资源,达到资源弹性伸缩的效果,实现租户资源的创建与删除操作以及云平台上基础设施资源管理与上层应用的解耦与分离;
其中,租户自定义的弹性伸缩策略包括三种类型的策略,分别为定时策略、周期策略和基于监控告警的触发策略;弹性伸缩的行为包括三种动作,分别为增加资源、减少资源和调整资源。
一种基于Terraform的云平台资源弹性伸缩***,该***采用微服务的技术架构,包括UI层、业务逻辑层和基础设施管理层;
UI层用于与用户交互,接收用户配置,转发给业务逻辑层处理并将处理结果呈现给用户,同时用于与第三方开发者交互,对第三方开发者提供功能API;
业务逻辑层用于数据模型定义与业务流程管理;
基础设施管理层用于通过部署了Inspurcloud provider插件的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后端微服务子单元下发的模板与参数,完成浪潮云上用户资源的动态创建与删除;
inspurcloud provider插件单元用于通过封装产品API的方式,实现了浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IP EIP的管理,并将浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IP EIP连接到计费管理***BBS上实现订单的费用管理。
更优地,所述AS-Service后端微服务单元根据功能划分为不同的模块,包括API接口管理模块、伸缩组实例管理模块、伸缩配置管理模块、伸缩策略管理模块、数据库管理模块、活动管理模块、定时任务管理模块和模板管理模块,使用伸缩规则管理模块管理伸缩策略,并通过定时任务管理模块和活动管理模块完成初始化和手动触发的操作;活动管理模块接收定时任务管理模块与伸缩组实例管理模块的触发输入,借助模板管理模块生产执行模板,调用Terraform微服务提供的接口,完成活动内容的执行。
更优地,所述API接口管理模块用于面向前端UI层和OpenAPI单元封装的RestfulAPI接口,进行身份认证和授权管理的接口权限控制,转发外部调用到除API接口管理以外的功能模块,并将处理结果反馈给调用者;
伸缩组实例管理模块是核心功能模块,用于伸缩组实例的创建、删除与查询,伸缩策略的使用,云服务器实例移入与移出以及活动的触发;伸缩组实例管理模块内部维护实例的创建、查询与删除操作,并同时维护云服务器的移入与移出操作;
伸缩配置管理模块用于伸缩组伸缩配置的定义与管理,对应云服务器基本配置的管理,云服务器基本配置的管理包括镜像、云硬盘及安全组;
伸缩策略管理模块用于伸缩策略与规则的创建、删除与查询的基本操作;
数据管理模块用于伸缩组实例、伸缩规则和定时任务的数据模型定义,以及数据的增删改查操作,并使用排它锁,实现伸缩组实例的锁保护,以达到对伸缩组实例操作的互斥处理;
活动管理模块用于弹性伸缩动作的执行;
定时任务管理模块用于与定时任务管理平台对接,完成弹性伸缩定时任务的管理,弹性伸缩定时任务的管理包括创建、查询、删除、变更以及定时任务执行;
模板管理模块用于为活动管理模块提供模板定义、生成支持,并控制云服务器的数量和配置动态变化。
更优地,所述活动管理模块的弹性伸缩动作包括伸缩组实例的初始化活动、期望实例数维持活动、最大/最小实例数维持活动、手动触发规则活动以及定时任务触发规则活动,每个活动均有独立的线程完成。
更优地,所述伸缩组实例的初始化活动分别启动期望实例数维持活动和最大/最小实例数维持活动,期望实例数维持活动启动最大/最小实例数维持活动;
伸缩组实例的初始化活动分别手动触发规则活动以及定时任务触发规则活动之间存在单向线程,期望实例数维持活动、最大/最小实例数维持活动手动触发规则活动以及定时任务触发规则活动两两之间存在双向互斥线程。
更优地,所述定时任务管理模块的定时任务具体包括:
(1)、期望实例数维持定时任务:期望实例数到达后,该定时任务会被删除;
(2)、最大/最小实例数维持定时任务:一直存在;
(3)、定时伸缩规则对应的定时任务:用户自定义。
本发明的基于Terraform的云平台资源弹性伸缩实现方法及***具有以下优点:
(一)本发明根据租户策略编辑目标模板,通过Terraform执行模板对接云平台,实现租户资源的创建与删除等操作,与传统的直接对接云平台创建与删除资源的方法相比较,实现了云平台上基础设施资源管理与上层应用的解耦与分离;同时本发明借助第三方开源工具的调度与管理能力,具有良好的性能与横向扩展功能;
(二)本发明基于定时策略,动态伸缩资源:针对特定时刻,动态调整资源的问题,本发明提供了基于定时策略触发动态伸缩资源的功能,很好的解决了特定时刻,动态调整资源的需求;动态伸缩策略包括:增加资源、减少资源和调整资源到目标值等三种。
(三)本发明基于周期策略,动态伸缩资源:针对特定周期,动态调整资源的问题,本发明提供了基于周期策略触发动态伸缩资源的功能,周期策略分为按天、按周和按月三种,很好的解决了特定时刻,动态调整资源的需求;动态伸缩策略包括:增加资源、减少资源和调整资源到目标值等三种。
(四)本发明基于特定性能指标监控告警策略,动态伸缩资源:基于性能监控告警,动态调整资源的问题,本发明提供了基于性能监控告警触发动态伸缩资源的功能,监控的性能指标有:CPU平均使用率、内存平均使用率和网络流量三种,很好的解决了资源利用率饱和或者饥饿时刻,动态调整资源的需求。动态伸缩策略包括:增加资源、减少资源和调整资源到目标值等三种;
(五)租户自定义的弹性伸缩策略包括三种类型的策略,分别为定时策略、周期策略和基于监控告警的触发策略;弹性伸缩的行为包括三种动作,分别为增加资源、减少资源和调整资源,上述三种触发策略与三种弹性伸缩行为很好的保证了资源按需创建,按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本;
(六)本发明自动伸缩的对象是用户云平台上的资源,包括云服务器、云硬盘和弹性IP,对于用户,相当于基础设施的自动化管理;Terraform是一款开源的高效构建、更改和版本控制基础设施的自动化编排工具,通过编辑模板,以及资源状态维护实现资源的动态创建、删除与变更,Terraform通过云平台提供的provider插件,实现对云平台上资源的自动化编排管理;
(七)针对流量波动大或者周期性强的应用,通过自定义伸缩策略,在特定时间、周期或者监控指标阈值情况下,动态触发资源的伸缩动态,一方面,减轻运营人员的压力;另一方面,可以按需创建与删除资源,提高资源的利用率,降低运营成本;
(八)本发明基于Terraform资源编排工具动态创建资源:为了在云平台上创建资源,使用开源的资源编排工具Terraform对接云平台,通过开发对应云平台资源创建provider插件,实现云平台上资源的动态创建;
(九)本发明基于Terraform资源编排工具动态删除资源:为了动态删除在云平台上已创建的资源,使用开源的资源编排工具Terraform对接云平台,通过开发对应云平台资源删除provider插件,实现云平台上资源的动态删除。
附图说明
下面结合附图对本发明进一步说明。
附图1为基于Terraform的云平台资源弹性伸缩***的结构框图;
附图2为AS-Service后端微服务单元的结构框图;
附图3为活动管理模块的弹性伸缩动作之间的活动状态切换示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种基于Terraform的云平台资源弹性伸缩实现方法及***作以下详细地说明。
实施例1:
本发明的1基于Terraform的云平台资源弹性伸缩实现方法,该方法是使用开源的Terraform工具和Etcd数据库,根据租户弹性伸缩策略编辑Terraform模板,并通过云平台提供的provider插件的Terraform工具执行Terraform模板,进而动态控制租户在云平台上的资源,达到资源弹性伸缩的效果,实现租户资源的创建与删除操作以及云平台上基础设施资源管理与上层应用的解耦与分离;
其中,租户自定义的弹性伸缩策略包括三种类型的策略,分别为定时策略、周期策略和基于监控告警的触发策略;弹性伸缩的行为包括三种动作,分别为增加资源、减少资源和调整资源。
实施例2:
如附图1所示,本发明的基于Terraform的云平台资源弹性伸缩***,该***采用微服务的技术架构,包括UI层、业务逻辑层和基础设施管理层;
UI层用于与用户交互,接收用户配置,转发给业务逻辑层处理并将处理结果呈现给用户,同时用于与第三方开发者交互,对第三方开发者提供功能API;UI层包括,
AS-Front前端应用微服务单元,用于与用户交互,接收用户配置,转发给业务逻辑层处理,并将处理结果呈现给用户;
OpenAPI单元,用于与第三方开发者交互,对第三方开发者提供功能API。
业务逻辑层用于数据模型定义与业务流程管理;业务逻辑层包括弹性伸缩本身的AS-Service后端微服务单元和使用到的外部微服务单元,使用到的外部微服务单元包括Time-Service公共定时任务平台微服务子单元以及ECS-Service云服务器微服务子单元和SLB-Service微服务子单元;
其中,AS-Service后端微服务单元用于定义数据模型定义与业务流程管理,通过Time-Service定时任务管理微服务子单元进行弹性伸缩定时任务的管理,并通过ESC-Service云服务器微服务子单元和SLB-Service微服务子单元进行云服务器与负载均衡产品相关的对接,同时接收UI层的用户输入以及公共定时任务平台侧的输入,进行业务逻辑与流程控制,并通过对基础设施管理层模板的动态调整,完成资源的动态增加与减少。如附图2所示,AS-Service后端微服务单元根据功能划分为不同的模块,包括API接口管理模块、伸缩组实例管理模块、伸缩配置管理模块、伸缩策略管理模块、数据库管理模块、活动管理模块、定时任务管理模块和模板管理模块,使用伸缩规则管理模块管理伸缩策略,并通过定时任务管理模块和活动管理模块完成初始化和手动触发的操作;活动管理模块接收定时任务管理模块与伸缩组实例管理模块的触发输入,借助模板管理模块生产执行模板,调用Terraform微服务提供的接口,完成活动内容的执行。
其中,API接口管理模块用于面向前端UI层和OpenAPI单元封装的RestfulAPI接口,进行身份认证和授权管理的接口权限控制,转发外部调用到除API接口管理以外的功能模块,并将处理结果反馈给调用者;
伸缩组实例管理模块是核心功能模块,用于伸缩组实例的创建、删除与查询,伸缩策略的使用,云服务器实例移入与移出以及活动的触发;伸缩组实例管理模块内部维护实例的创建、查询与删除操作,并同时维护云服务器的移入与移出操作;
伸缩配置管理模块用于伸缩组伸缩配置的定义与管理,对应云服务器基本配置的管理,云服务器基本配置的管理包括镜像、云硬盘及安全组;
伸缩策略管理模块用于伸缩策略与规则的创建、删除与查询的基本操作;
数据管理模块用于伸缩组实例、伸缩规则和定时任务的数据模型定义,以及数据的增删改查操作,并使用排它锁,实现伸缩组实例的锁保护,以达到对伸缩组实例操作的互斥处理;
活动管理模块用于弹性伸缩动作的执行;活动管理模块的弹性伸缩动作包括伸缩组实例的初始化活动、期望实例数维持活动、最大/最小实例数维持活动、手动触发规则活动以及定时任务触发规则活动,每个活动均有独立的线程完成,如附图3所示,伸缩组实例的初始化活动分别启动期望实例数维持活动和最大/最小实例数维持活动,期望实例数维持活动启动最大/最小实例数维持活动;伸缩组实例的初始化活动分别手动触发规则活动以及定时任务触发规则活动之间存在单向线程,期望实例数维持活动、最大/最小实例数维持活动手动触发规则活动以及定时任务触发规则活动两两之间存在双向互斥线程。
定时任务管理模块用于与定时任务管理平台对接,完成弹性伸缩定时任务的管理,弹性伸缩定时任务的管理包括创建、查询、删除、变更以及定时任务执行;定时任务管理模块的定时任务具体包括:
(1)、期望实例数维持定时任务:期望实例数到达后,该定时任务会被删除;
(2)、最大/最小实例数维持定时任务:一直存在;
(3)、定时伸缩规则对应的定时任务:用户自定义。
模板管理模块用于为活动管理模块提供模板定义、生成支持,并控制云服务器的数量和配置动态变化。
基础设施管理层用于通过部署了Inspurcloud provider插件的Terraform工具进行用户浪潮云上基础设施管理;基础设施管理层包括,
基础设施管理微服务单元用于接收AS-Service后端微服务子单元下发的模板与参数,完成浪潮云上用户资源的动态创建与删除;
inspurcloud provider插件单元用于通过封装产品API的方式,实现了浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IP EIP的管理,并将浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IP EIP连接到计费管理***BBS上实现订单的费用管理。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种基于Terraform的云平台资源弹性伸缩实现方法,其特征在于,该方法是使用开源的Terraform工具和Etcd数据库,根据租户弹性伸缩策略编辑Terraform模板,并通过云平台提供的provider插件的Terraform工具执行Terraform模板,进而动态控制租户在云平台上的资源,达到资源弹性伸缩的效果,实现租户资源的创建与删除操作以及云平台上基础设施资源管理与上层应用的解耦与分离;
其中,租户自定义的弹性伸缩策略包括三种类型的策略,分别为定时策略、周期策略和基于监控告警的触发策略;弹性伸缩的行为包括三种动作,分别为增加资源、减少资源和调整资源。
2.一种基于Terraform的云平台资源弹性伸缩***,其特征在于,该***采用微服务的技术架构,包括UI层、业务逻辑层和基础设施管理层;
UI层用于与用户交互,接收用户配置,转发给业务逻辑层处理并将处理结果呈现给用户,同时用于与第三方开发者交互,对第三方开发者提供功能API;
业务逻辑层用于数据模型定义与业务流程管理;
基础设施管理层用于通过部署了Inspurcloud provider插件的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后端微服务子单元下发的模板与参数,完成浪潮云上用户资源的动态创建与删除;
inspurcloud provider插件单元用于通过封装产品API的方式,实现了浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IP EIP的管理,并将浪潮云平台上云服务器ECS、云硬盘EBS和弹性公网IP EIP连接到计费管理***BBS上实现订单的费用管理。
6.根据权利要求4所述的基于Terraform的云平台资源弹性伸缩***,其特征在于,所述AS-Service后端微服务单元根据功能划分为不同的模块,包括API接口管理模块、伸缩组实例管理模块、伸缩配置管理模块、伸缩策略管理模块、数据库管理模块、活动管理模块、定时任务管理模块和模板管理模块,使用伸缩规则管理模块管理伸缩策略,并通过定时任务管理模块和活动管理模块完成初始化和手动触发的操作;活动管理模块接收定时任务管理模块与伸缩组实例管理模块的触发输入,借助模板管理模块生产执行模板,调用Terraform微服务提供的接口,完成活动内容的执行。
7.根据权利要求6所述的基于Terraform的云平台资源弹性伸缩***,其特征在于,所述API接口管理模块用于面向前端UI层和OpenAPI单元封装的Restful API接口,进行身份认证和授权管理的接口权限控制,转发外部调用到除API接口管理以外的功能模块,并将处理结果反馈给调用者;
伸缩组实例管理模块用于伸缩组实例的创建、删除与查询,伸缩策略的使用,云服务器实例移入与移出以及活动的触发;伸缩组实例管理模块内部维护实例的创建、查询与删除操作,并同时维护云服务器的移入与移出操作;
伸缩配置管理模块用于伸缩组伸缩配置的定义与管理,对应云服务器基本配置的管理,云服务器基本配置的管理包括镜像、云硬盘及安全组;
伸缩策略管理模块用于伸缩策略与规则的创建、删除与查询的基本操作;
数据管理模块用于伸缩组实例、伸缩规则和定时任务的数据模型定义,以及数据的增删改查操作,并使用排它锁,实现伸缩组实例的锁保护,以达到对伸缩组实例操作的互斥处理;
活动管理模块用于弹性伸缩动作的执行;
定时任务管理模块用于与定时任务管理平台对接,完成弹性伸缩定时任务的管理,弹性伸缩定时任务的管理包括创建、查询、删除、变更以及定时任务执行;
模板管理模块用于为活动管理模块提供模板定义、生成支持,并控制云服务器的数量和配置动态变化。
8.根据权利要求7所述的基于Terraform的云平台资源弹性伸缩***,其特征在于,所述活动管理模块的弹性伸缩动作包括伸缩组实例的初始化活动、期望实例数维持活动、最大/最小实例数维持活动、手动触发规则活动以及定时任务触发规则活动,每个活动均有独立的线程完成。
9.根据权利要求8所述的基于Terraform的云平台资源弹性伸缩***,其特征在于,所述伸缩组实例的初始化活动分别启动期望实例数维持活动和最大/最小实例数维持活动,期望实例数维持活动启动最大/最小实例数维持活动;
伸缩组实例的初始化活动分别手动触发规则活动以及定时任务触发规则活动之间存在单向线程,期望实例数维持活动、最大/最小实例数维持活动手动触发规则活动以及定时任务触发规则活动两两之间存在双向互斥线程。
10.根据权利要求7所述的基于Terraform的云平台资源弹性伸缩***,其特征在于,所述定时任务管理模块的定时任务具体包括:
(1)、期望实例数维持定时任务:期望实例数到达后,该定时任务会被删除;
(2)、最大/最小实例数维持定时任务:一直存在;
(3)、定时伸缩规则对应的定时任务:用户自定义。
CN202010017922.9A 2020-03-31 2020-03-31 一种基于Terraform的云平台资源弹性伸缩实现方法及*** Active CN111274007B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010017922.9A CN111274007B (zh) 2020-03-31 2020-03-31 一种基于Terraform的云平台资源弹性伸缩实现方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010017922.9A CN111274007B (zh) 2020-03-31 2020-03-31 一种基于Terraform的云平台资源弹性伸缩实现方法及***

Publications (2)

Publication Number Publication Date
CN111274007A true CN111274007A (zh) 2020-06-12
CN111274007B CN111274007B (zh) 2023-04-14

Family

ID=70996998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010017922.9A Active CN111274007B (zh) 2020-03-31 2020-03-31 一种基于Terraform的云平台资源弹性伸缩实现方法及***

Country Status (1)

Country Link
CN (1) CN111274007B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111884826A (zh) * 2020-06-13 2020-11-03 苏州浪潮智能科技有限公司 一种策略与执行异构化的弹性伸缩处理方法、***及装置
CN112130974A (zh) * 2020-09-10 2020-12-25 厦门市美亚柏科信息股份有限公司 云计算资源配置方法、装置、电子设备与存储介质
CN114710488A (zh) * 2022-03-29 2022-07-05 浪潮云信息技术股份公司 实现弹性伸缩跨可用区伸缩的方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193546A (zh) * 2017-04-11 2017-09-22 国网天津市电力公司信息通信公司 一种微服务化业务应用***
US20190122156A1 (en) * 2017-10-20 2019-04-25 International Business Machines Corporation Orchestration Engine Blueprint Milestones
CN109947537A (zh) * 2019-03-28 2019-06-28 山东浪潮云信息技术有限公司 创建云容器服务的***及方法
TW201937379A (zh) * 2017-12-05 2019-09-16 美商敏捷棧公司 用於管理資料中心與雲端應用程式基礎架構之系統、方法及非暫態計算機可讀介質
CN110750333A (zh) * 2019-10-25 2020-02-04 浪潮云信息技术有限公司 一种云服务工厂平台全生命周期管理方法
CN110781002A (zh) * 2019-10-24 2020-02-11 浪潮云信息技术有限公司 一种弹性伸缩方法、管理***、终端及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193546A (zh) * 2017-04-11 2017-09-22 国网天津市电力公司信息通信公司 一种微服务化业务应用***
US20190122156A1 (en) * 2017-10-20 2019-04-25 International Business Machines Corporation Orchestration Engine Blueprint Milestones
TW201937379A (zh) * 2017-12-05 2019-09-16 美商敏捷棧公司 用於管理資料中心與雲端應用程式基礎架構之系統、方法及非暫態計算機可讀介質
CN109947537A (zh) * 2019-03-28 2019-06-28 山东浪潮云信息技术有限公司 创建云容器服务的***及方法
CN110781002A (zh) * 2019-10-24 2020-02-11 浪潮云信息技术有限公司 一种弹性伸缩方法、管理***、终端及存储介质
CN110750333A (zh) * 2019-10-25 2020-02-04 浪潮云信息技术有限公司 一种云服务工厂平台全生命周期管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111884826A (zh) * 2020-06-13 2020-11-03 苏州浪潮智能科技有限公司 一种策略与执行异构化的弹性伸缩处理方法、***及装置
CN112130974A (zh) * 2020-09-10 2020-12-25 厦门市美亚柏科信息股份有限公司 云计算资源配置方法、装置、电子设备与存储介质
CN112130974B (zh) * 2020-09-10 2022-10-25 厦门市美亚柏科信息股份有限公司 云计算资源配置方法、装置、电子设备与存储介质
CN114710488A (zh) * 2022-03-29 2022-07-05 浪潮云信息技术股份公司 实现弹性伸缩跨可用区伸缩的方法、装置、设备及介质
CN114710488B (zh) * 2022-03-29 2024-05-03 浪潮云信息技术股份公司 实现弹性伸缩跨可用区伸缩的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111274007B (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
CN111274007B (zh) 一种基于Terraform的云平台资源弹性伸缩实现方法及***
Schmidt Middleware for real-time and embedded systems
WO2019152117A1 (en) Systems and methods for synchronizing microservice data stores
CN103618762A (zh) 一种基于aop的企业服务总线状态预处理***及方法
CN111314149A (zh) 基于多个边缘云平台实现统一监控运维管理的***
US20160203026A1 (en) Processing a hybrid flow associated with a service class
JP7161560B2 (ja) 人工知能開発プラットフォームの管理方法及び装置、媒体
Guo et al. Energy-efficient fault-tolerant scheduling algorithm for real-time tasks in cloud-based 5G networks
EP3457668B1 (en) Clustering in unified communication and collaboration services
CN114840318A (zh) 一种多进程抢占硬件key加解密资源的调度方法
CN103414739B (zh) 采用自动漂移的云服务器自动监控***及方法
CN111666167A (zh) 一种对输入事件读取处理优化方法、非易失性存储器及终端设备
CN107454189A (zh) 具有智能会议安排功能的办公自动化***
CN110109986B (zh) 任务处理方法、***、服务器及任务调度***
CN100426241C (zh) 一种面向服务体系结构中消息层软中断处理方法
CN114553959A (zh) 基于态势感知的云原生服务网格配置按需下发方法及应用
CN113992509A (zh) Sdn网络业务配置下发方法、装置及存储介质
CN113391927A (zh) 一种业务事件的处理方法、装置、***及存储介质
Li et al. An energy-efficient data transfer strategy with link rate control for Cloud
CN111475275A (zh) 一种调度方法及调度服务器
Ji et al. Dynamic Resource Scheduling Of Container-based Edge IoT Agents
US11687269B2 (en) Determining data copy resources
Danjuma et al. Proposed approach for resource allocation management in Service Oriented Architecture (SOA) environment
US11971849B2 (en) Managing fleet of multi-tenant logical databases in relational database management system servers
Hassannezhad Najjari et al. A systematic overview of live virtual machine migration methods

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant