本发明涉及云服务工厂平台技术领域,特别涉及一种云服务工厂平台全生命周期管理方法。
背景技术:
目前,公有云,私有云,混合云等多云环境在企业政府it架构中应用越来越广泛。在此环境下,用户频繁使用的服务如tomcat,apache,mysql等如何快速创建,如何便捷的管理服务的整个生命周期是很大的挑战。
云环境下,用户日益增长的包括创建、删除服务等服务全生命周期管理的需求越来越多,越来越复杂。
基于上述情况,本发明提出了一种云服务工厂平台全生命周期管理方法。
技术实现要素:
本发明为了弥补现有技术的缺陷,提供了一种简单高效的云服务工厂平台全生命周期管理方法。
本发明是通过如下技术方案实现的:
一种云服务工厂平台全生命周期管理方法,其特征在于,包括以下步骤:
第一步,编写代码,规划和创建基础架构的理念,将iaas(infrastructureasaservice,基础设施即服务)层和资源相关的操作抽取出来,进而达到用代码来管理资源的目的;
第二步,系统接收到用户创建服务请求后,terraform执行预先定义的模板,创建计算、存储和网络这些资源;
第三步,创建服务请求执行结果通过消息队列mq异步返回,系统接收到消息后即可执行下一步。
所述第三步中,下一步可以是继续创建计算、存储或网络这些资源也可以是在服务器上执行后续的脚本;如果下一步操作请求是创建服务请求,则由terraform执行预先定义的模板;如果下一步操作请求是执行脚本请求,则ansible执行预先定义的脚本。
所述第一步中,首先在git服务器上创建terraform模板工程,按terraform的tf语法要求新建文件1,并用代码定义服务所依赖的计算、存储和网络各项资源;然后,还要按terraform的tf语法要求新建文件2,并用代码定义文件1中的资源创建完成后需要作为输出的字段;
按ansible语法要求新建ansible文件,实现服务所依赖的计算、存储和网络资源创建完成后需要通过脚本在服务器上执行的具体服务的安装包、依赖包的安装执行;
执行创建服务请求时,terraform执行文件1和文件2中预先定义的模板;执行脚本请求,则ansible执行ansible文件中定义的脚本。
该云服务工厂平台全生命周期管理方法,将api编码为声明性配置文件,云平台对虚机的删除、启动、关停、锁定、解锁及扩缩容api(applicationprogramminginterface,应用程序编程接口)在terraformprovider中以遵循terraform接口的形式实现。
所述terraform模板里面定义power_state字段,通过给power_state字段传递不同的值实现服务的删除、启动、关停、锁定、解锁及扩缩容操作。
为了最大限度满足各种服务需求,该云服务工厂平台全生命周期管理方法,支持三种服务提供方式,分别为:
(1)操作系统(os)镜像和服务(service)安装包分开;
(2)操作系统(os)和服务(service)安装包仍做成一个镜像;
(3)操作系统(os)预装docker,服务(service)安装包以docker镜像方式提供并放在镜像仓库中。
所述第(1)种服务提供方式中,所有服务使用统一的操作系统镜像,服务安装包及依赖包统一放到gitlab(利用rubyonrails一个开源的版本管理系统)或者仓库中。
所述第(1)种服务提供方式中,创建服务过程分为两步走,第一步先创建虚拟机,并在虚拟机上安装操作系统,输出镜像后,下载服务的安装包并安装。
所述第(2)种服务提供方式中,创建服务过程的第一步先创建虚拟机,并在虚拟机上安装操作系统,下载服务的安装包和依赖包并安装,操作系统(os)和服务(service)安装包最终输出一个镜像即可。
所述第(3)种服务提供方式中,创建服务过程的第一步先创建虚拟机,在虚拟机上安装操作系统后再安装docker,服务的安装包以及依赖包制作成docker镜像上传至镜像仓库。
本发明的有益效果是:该云服务工厂平台全生命周期管理方法,用户能够安全、可预测地创建、更改和改进基础架构,同时将api编码为声明性配置文件,可在团队成员之间共享、编辑、审阅和版本化;此外多种服务提供方式能够满足客户个性化服务需求,极大地提高了用户体验。
附图说明
附图1为本发明云服务工厂平台全生命周期管理方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该云服务工厂平台全生命周期管理方法,包括以下步骤:
第一步,编写代码,规划和创建基础架构的理念,将iaas(infrastructureasaservice,基础设施即服务)层和资源相关的操作抽取出来,进而达到用代码来管理资源的目的;
第二步,系统接收到用户创建服务请求后,terraform执行预先定义的模板,创建计算、存储和网络这些资源;
第三步,创建服务请求执行结果通过消息队列mq异步返回,系统接收到消息后即可执行下一步。
所述第三步中,下一步可以是继续创建计算、存储或网络这些资源也可以是在服务器上执行后续的脚本;如果下一步操作请求是创建服务请求,则由terraform执行预先定义的模板;如果下一步操作请求是执行脚本请求,则ansible执行预先定义的脚本。
所述第一步中,首先在git服务器上创建terraform模板工程,按terraform的tf语法要求新建文件1,并用代码定义服务所依赖的计算、存储和网络各项资源;然后,还要按terraform的tf语法要求新建文件2,并用代码定义文件1中的资源创建完成后需要作为输出的字段;
按ansible语法要求新建ansible文件,实现服务所依赖的计算、存储和网络资源创建完成后需要通过脚本在服务器上执行的具体服务的安装包、依赖包的安装执行;服务安装脚本和服务升级脚本可以让提供新服务的人写,由ansible按需调用即可;
执行创建服务请求时,terraform执行文件1和文件2中预先定义的模板;执行脚本请求,则ansible执行ansible文件中定义的脚本。
该云服务工厂平台全生命周期管理方法,将api编码为声明性配置文件,云平台对虚机的删除、启动、关停、锁定、解锁及扩缩容api(applicationprogramminginterface,应用程序编程接口)在terraformprovider中以遵循terraform接口的形式实现。
所述terraform模板里面定义power_state字段,通过给power_state字段传递不同的值实现服务的删除、启动、关停、锁定、解锁及扩缩容操作。
服务提供方式的创新,当前,用户需要的服务类型日益庞杂,只依靠服务提供方预制一些常用的服务满足不了更多的,个性化的服务需求。为了最大限度满足各种服务需求,该云服务工厂平台全生命周期管理方法,支持三种服务提供方式,由服务开发者自由选择,最大限度满足各种服务的需求,分别为:
(1)操作系统(os)镜像和服务(service)安装包分开;
(2)操作系统(os)和服务(service)安装包仍做成一个镜像;
(3)操作系统(os)预装docker,服务(service)安装包以docker镜像方式提供并放在镜像仓库中。
所述第(1)种服务提供方式中,所有服务使用统一的操作系统镜像,服务安装包及依赖包统一放到gitlab(利用rubyonrails一个开源的版本管理系统)或者仓库中。
所述第(1)种服务提供方式中,创建服务过程分为两步走,第一步先创建虚拟机,并在虚拟机上安装操作系统,输出镜像后,下载服务的安装包并安装。
所述第(2)种服务提供方式中,创建服务过程的第一步先创建虚拟机,并在虚拟机上安装操作系统,下载服务的安装包和依赖包并安装,操作系统(os)和服务(service)安装包最终输出一个镜像即可。
所述第(3)种服务提供方式中,创建服务过程的第一步先创建虚拟机,在虚拟机上安装操作系统后再安装docker,服务的安装包以及依赖包制作成docker镜像上传至镜像仓库。
与现有技术相比,该云服务工厂平台全生命周期管理方法,具有以下特点:
1、计算,存储,网络等资源的管理部分基于开源项目terraform以及terraformprovider开发,从而可以在多个地方轻松使用相同的配置构建资源,在减少错误的同时还节省了时间;
2、用户还能够安全、可预测地创建、更改和改进基础架构,将api编码为声明性配置文件,可在团队成员之间共享、编辑、审阅和版本化;
3、用户可以快速实现服务的创建、删除、启动、关停、锁定、解锁、扩缩容等操作;
4、支持三种服务提供方式,能够满足更多的个性化的服务需求,极大地提高了用户体验;
5、用户可以自由扩展服务种类,自定义创建服务的步骤,最大程度实现了扩展性与效率的平衡。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。