本技术涉及云计算,尤其涉及一种应用部署方法、装置及相关设备。
背景技术:
1、应用编排服务(application orchestration service,aos),是一种在云平台自动化部署以及编排应用的服务,能够实现在云上一键式的应用创建及云服务资源开通,提供高效的云上应用复制和迁移能力。
2、目前,在云上部署应用的过程中,应用编排服务会向用户提供模板,并由用户向该模板中输入多个配置项的值,从而应用编排服务可以根据该模板中多个配置项的值,在云上部署应用。
3、但是,实际应用场景中,应用编排服务经常会向用户反馈应用部署失败,这使得用户需要通过多次试错等方式排除部署异常,从而降低用户在云上部署应用的效率、增加部署难度。
技术实现思路
1、有鉴于此,本技术实施例提供了一种应用部署方法,以实现提高用户在云上部署应用的效率、降低部署难度。本技术还提供了对应的应用部署装置、计算设备集群、计算机可读存储介质以及计算机程序产品。
2、第一方面,本技术实施例提供了一种应用部署方法,该方法可以由相应的应用部署装置执行,具体地,应用部署装置获取用户提供的配置模板,该配置模板可以是由用户自定义的配置模板,或者可以是用户在应用部署装置提供的配置模板上针对部分配置项完成配置后所得到的配置模板,该配置模板中包括针对该应用的多个配置项,其中,该多个配置项中包括第一配置项以及第二配置项,并且,第一配置项的值由用户完成配置,第二配置项的值用户并未对其进行配置,该多个配置项用于对部署应用所需的云环境中的资源进行配置;然后,应用部署装置获取云环境中与第二配置项匹配的至少一种可用资源,该可用资源包括计算资源、存储资源以及网络资源中的至少一种,并根据该至少一种可用资源,确定第二配置项的值,所确定的第二配置项的值用于指示该至少一种可用资源中的目标资源,从而应用部署装置根据第一配置项、用户指定的第一配置项的值、该第二配置项、应用部署装置自动确定的第二配置项的值,在云上部署应用。
3、如此,应用部署装置根据云环境中当前可用的资源,自动确定用户未配置的剩余部分的配置项的值,这使得基于该部分配置项的值部署应用时,能够避免因为该部分配置项的值所对应的资源不可用而导致应用部署失败,以此可以有效提高部署应用的成功率,无需用户通过多次试错的方式排除应用部署过程中存在的异常,从而可以提高用户在云上部署应用的效率、降低部署难度。并且,应用部署装置自动确定用户未配置部分的配置项的值,也能有效减少用户所需配置的参数数量,从而可以进一步提高用户在云上部署应用的效率、降低部署难度。
4、在一种可能的实施方式中,应用部署装置还可以获取部署指示信息,该部署指示信息用于指示基于目标因素针对第二配置项从云环境中选择可用的资源(也即用于指示用户对于第二配置项所选择的资源的倾向),其中,目标因素包括该应用的功能、性能以及成本中的一种或者多种因素;则,应用部署装置在确定第二配置项的值时,具体可以是根据该部署指示信息以及至少一种可用资源,确定该第二配置项的值。如此,应用处理装置基于该部署指示信息为所需部署的应用选择合适的可用资源(也即确定第二配置项的值),可以使得为应用分配的可用资源能够更加符合用户的预期,如可以选择符合用户预期的低成本/高性能的资源来部署应用等,以此可以提高用户体验。
5、在一种可能的实施方式中,应用部署装置在确定第二配置项的值时,具体可以是先获取第二配置项的多个候选值分别对应的评分,该多个候选值中的每个候选值用于指示云环境中的一种可用资源,然后根据多个候选值分别对应的评分,确定第二配置项的值。如此,应用部署装置可以基于评分机制,自动为第二配置项确定合适的取值,也即从云环境中自动选择合适的资源来部署应用。
6、在一种可能的实施方式中,第二配置项的数量为多个,并且,每个第二配置项对应于至少一个候选值,则应用部署装置在确定第二配置项的值时,具体可以是先确定多个配置组合,该多个配置组合中的每个配置组合包括多个第二配置项、多个第二配置项分别对应的一个候选值,不同配置组合中多个第二配置项分别对应的候选值不同;然后,应用部署装置确定多个配置组合中的每个配置组合的评分,每个配置组合的评分根据多个第二配置项分别对应的候选值的评分进行计算得到,并根据每个配置组合的评分,从多个配置组合中确定目标配置组合,该目标配置组合中的候选值为多个第二配置项的值。如此,基于配置组合的方式确定多个第二配置项的取值,可以避免忽略配置项之间的依赖关系而导致为多个第二配置项所设置的值存在冲突,影响最终的应用部署效果。
7、在一种可能的实施方式中,第二配置项的多个候选值包括目标候选值,该目标候选值的评分为基础评分与优选评分之间的和值,其中,优选评分根据目标候选值的优选等级进行确定,则,应用部署装置还可以响应于(如管理员等)针对目标候选值的优选等级的调整操作,调整目标候选值的评分。如此,通过调整候选值的优先等级,可以调整资源配置过程中该候选值的评分,以此便于对云环境中的可用资源进行细粒度管理和控制。比如,可以通过调整部分az中的可用资源对应的候选值的优选等级,可以增加该候选值的评分,从而可以优先将该az中的可用资源分配给所需部署的应用,实现对云环境中的资源的管理。
8、在一种可能的实施方式中,应用部署装置在云上部署应用时,具体可以是先输出用于呈现给用户的第二配置项的值,并响应于用户针对第二配置项的值的修改操作,确定第二配置项对应的修正值,从而应用部署装置根据第一配置项、用户指定的第一配置项的值、第二配置项、用户修改的第二配置项对应的修正值,在云上部署应用。如此,通过用户修改(或者确认)第二配置项的值,不仅可以简化用户部署应用时所需执行的操作,提高配置效率、降低配置难度,也能使得针对该应用的最终配置能够进一步符合用户的预期,提高用户部署应用的体验。
9、在一种可能的实施方式中,应用部署装置在云上部署应用时,具体可以是先输出用于呈现给用户的第二配置项的值、配置模板对应的历史配置记录,该历史配置记录包括在历史时间段内部署应用时为第二配置项所配置的值,从而应用部署装置可以响应于用户针对第二配置项的值的选择操作,根据第一配置项、第一配置项的值、第二配置项、第二配置项的值,在云上部署应用。如此,通过向用户呈现针对该第二配置项的历史配置记录,为用户配置应用提供参考,从而用户可以借鉴其他用户对于该第二配置项的配置情况进行决策,为第二配置项设置合适的值,以此可以提高用户部署应用的体验。
10、第二方面,本技术提供一种应用部署装置,该应用部署装置包括应用编排模块,用于获取用户提供的配置模板,配置模板包括针对应用的多个配置项,多个配置项中包括第一配置项以及第二配置项,第一配置项的值由用户完成配置,多个配置项用于对部署应用所需的云环境中的资源进行配置;云环境反馈模块,用于获取云环境中与第二配置项匹配的至少一种可用资源,可用资源包括计算资源、存储资源以及网络资源中的至少一种;配置模块,用于根据至少一种可用资源,确定第二配置项的值,第二配置项的值用于指示至少一种可用资源中的目标资源;应用编排模块,还用于根据第一配置项、第一配置项的值、第二配置项、第二配置项的值,在云上部署应用。
11、在一种可能的实施方式中,应用编排模块,还用于:获取部署指示信息,部署指示信息用于指示基于目标因素针对第二配置项从云环境中选择可用资源,目标因素包括应用的功能、性能以及成本中的一种或者多种因素;配置模块,具体用于:根据部署指示信息以及至少一种可用资源,确定第二配置项的值。
12、在一种可能的实施方式中,配置模块,具体用于:获取第二配置项的多个候选值分别对应的评分,多个候选值中的每个候选值用于指示云环境中的一种可用资源;根据多个候选值分别对应的评分,确定第二配置项的值。
13、在一种可能的实施方式中,第二配置项的数量为多个,每个第二配置项对应于至少一个候选值,配置模块,具体用于:确定多个配置组合,多个配置组合中的每个配置组合包括多个第二配置项、多个第二配置项分别对应的一个候选值,不同配置组合中多个第二配置项分别对应的候选值不同;确定多个配置组合中的每个配置组合的评分,每个配置组合的评分根据多个第二配置项分别对应的候选值的评分进行计算得到;根据每个配置组合的评分,从多个配置组合中确定目标配置组合,目标配置组合中的候选值为多个第二配置项的值。
14、在一种可能的实施方式中,多个候选值包括目标候选值,目标候选值的评分为基础评分与优选评分之间的和值,优选评分根据目标候选值的优选等级进行确定;配置模块,还用于:响应于针对目标候选值的优选等级的调整操作,调整目标候选值的评分。
15、在一种可能的实施方式中,应用编排模块,具体用于:输出用于呈现给用户的第二配置项的值;响应于用户针对第二配置项的值的修改操作,确定第二配置项对应的修正值;根据第一配置项、第一配置项的值、第二配置项、第二配置项对应的修正值,在云上部署应用。
16、在一种可能的实施方式中,应用编排模块,具体用于:输出用于呈现给用户的第二配置项的值、配置模板对应的历史配置记录,历史配置记录包括在历史时间段内部署应用时为第二配置项所配置的值;响应于用户针对第二配置项的值的选择操作,根据第一配置项、第一配置项的值、第二配置项、第二配置项的值,在云上部署应用。
17、值得注意的是,第二方面提供的应用部署装置,对应于第一方面提供的应用部署方法,故第二方面以及第二方面中任一实施方式所具有的技术效果,可参见第一方面或者第一方面的相应实施方式所具有的技术效果。
18、第三方面,本技术提供一种计算设备集群,所述计算设备包括至少一个计算设备,所述至少一个计算设备包括至少一个处理器和至少一个存储器;所述至少一个存储器用于存储指令,所述至少一个处理器执行所述至少一个存储器存储的该指令,以使所述计算设备集群执行上述第一方面或第一方面任一种可能实现方式中的应用部署方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。所述至少一个计算设备还可以包括总线。其中,处理器通过总线连接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。
19、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行上述第一方面或第一方面的任一种实现方式所述的方法。
20、第五方面,本技术提供了一种包含指令的计算机程序产品,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行上述第一方面或第一方面的任一种实现方式所述的方法。
21、本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
1.一种应用部署方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述至少一种可用资源,确定所述第二配置项的值,包括:
4.根据权利要求3所述的方法,其特征在于,所述第二配置项的数量为多个,每个所述第二配置项对应于至少一个候选值;
5.根据权利要求3所述的方法,其特征在于,所述多个候选值包括目标候选值,所述目标候选值的评分为基础评分与优选评分之间的和值,所述优选评分根据所述目标候选值的优选等级进行确定;
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述第一配置项、所述第一配置项的值、所述第二配置项、所述第二配置项的值,在云上部署所述应用,包括:
7.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述第一配置项、所述第一配置项的值、所述第二配置项、所述第二配置项的值,在云上部署所述应用,包括:
8.一种应用部署装置,其特征在于,所述装置包括:
9.根据权利要求8所述的装置,其特征在于,所述应用编排模块,还用于:获取部署指示信息,所述部署指示信息用于指示基于目标因素针对所述第二配置项从所述云环境中选择可用资源,所述目标因素包括所述应用的功能、性能以及成本中的一种或者多种因素;
10.根据权利要求8或9所述的装置,其特征在于,所述配置模块,具体用于:
11.根据权利要求10所述的装置,其特征在于,所述第二配置项的数量为多个,每个所述第二配置项对应于至少一个候选值,所述配置模块,具体用于:
12.根据权利要求10所述的装置,其特征在于,所述多个候选值包括目标候选值,所述目标候选值的评分为基础评分与优选评分之间的和值,所述优选评分根据所述目标候选值的优选等级进行确定;
13.根据权利要求8至12任一项所述的装置,其特征在于,所述应用编排模块,具体用于:
14.根据权利要求8至12任一项所述的装置,其特征在于,所述应用编排模块,具体用于:
15.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行如权利要求1至7任一项所述的方法。
