CN112948091A - 应用***的迁移方法、装置、电子设备及存储介质 - Google Patents
应用***的迁移方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112948091A CN112948091A CN202110313298.1A CN202110313298A CN112948091A CN 112948091 A CN112948091 A CN 112948091A CN 202110313298 A CN202110313298 A CN 202110313298A CN 112948091 A CN112948091 A CN 112948091A
- Authority
- CN
- China
- Prior art keywords
- cloud
- application system
- application
- migration
- mode
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000013509 system migration Methods 0.000 title description 3
- 238000013508 migration Methods 0.000 claims abstract description 156
- 230000005012 migration Effects 0.000 claims abstract description 89
- 238000012986 modification Methods 0.000 claims description 43
- 230000004048 modification Effects 0.000 claims description 41
- 238000012360 testing method Methods 0.000 claims description 23
- 230000010354 integration Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 16
- 230000009466 transformation Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 241000677635 Tuxedo Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种应用***的迁移方法、装置、电子设备及存储介质。其中,该方法包括:确定应用***的迁移上云模式,其中,所述迁移上云模式包括基础架构上云、容器改造上云和应用改造上云中的至少一种;创建所述应用***的资源载体;根据所述迁移上云模式和所述资源载体,在云平台上部署所述应用***,并将所述应用***的数据库迁移上云,以完成所述应用***的迁移上云。本申请实施例提供的技术方案,可以提升应用***的资源利用率,为业务应用带来敏捷性,以适应业务的创新需求。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种应用***的迁移方法、装置、电子设备及存储介质。
背景技术
随着云计算平台的发展,云计算平台拥有强大的计算能力、存储能力、多样化的服务以及高性价比的优势。
现有技术中,对应用***进行迁移上云的方案比较单一,不能满足互联网接入应用的弹性需求,且不能保障迁移上云之后应用***的正常运行。现有技术中,尚未有更好的应用***的迁移上云的方法。
发明内容
本申请实施例提供了一种应用***的迁移方法、装置、电子设备及存储介质,以实现可以提升应用***的资源利用率,为业务应用带来敏捷性,以适应业务的创新需求。
第一方面,本申请实施例提供了一种应用***的迁移方法,该方法包括:
确定应用***的迁移上云模式,其中,所述迁移上云模式包括基础架构上云、容器改造上云和应用改造上云中的至少一种;
创建所述应用***的资源载体;
根据所述迁移上云模式和所述资源载体,在云平台上部署所述应用***,并将所述应用***的数据库迁移上云,以完成所述应用***的迁移上云。
第二方面,本申请实施例提供了一种应用***的迁移装置,该装置包括:
确定模块,用于确定应用***的迁移上云模式,其中,所述迁移上云模式包括基础架构上云、容器改造上云和应用改造上云中的至少一种;
创建模块,用于创建所述应用***的资源载体;
迁移模块,用于根据所述迁移上云模式和所述资源载体,在云平台上部署所述应用***,并将所述应用***的数据库迁移上云,以完成所述应用***的迁移上云。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请任意实施例所述的应用***的迁移方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现本申请任意实施例所述的应用***的迁移方法。
本申请实施例提供了一种应用***的迁移方法、装置、电子设备及存储介质,通过确定应用***的迁移上云模式;创建应用***的资源载体;根据迁移上云模式和资源载体,在云平台上部署应用***,并将应用***的数据库迁移上云,以完成应用***的迁移上云。本申请实施例提供的技术方案,可以提升应用***的资源利用率,为业务应用带来敏捷性,以适应业务的创新需求。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例一提供的一种应用***的迁移方法的第一流程示意图;
图2为本申请实施例二提供的一种应用***的迁移方法的第二流程示意图;
图3为本申请实施例三提供的一种应用***的迁移方法的第三流程示意图;
图4为本申请实施例四提供的一种应用***的迁移装置的结构示意图;
图5是用来实现本申请实施例的一种应用***的迁移方法的电子设备的框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请实施例一提供的一种应用***的迁移方法的第一流程示意图,本实施例可适用于将应用***从传统平台转移到云平台的情况。本实施例提供的一种应用***的迁移方法可以由本申请实施例提供的应用***的迁移装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在执行本方法的电子设备中。
参见图1,本实施例的方法包括但不限于如下步骤:
S110、确定应用***的迁移上云模式。
其中,迁移上云模式包括基础架构上云、容器改造上云和应用改造上云中的至少一种。其中,基础架构上云是指支撑应用***的互联网技术的资源载体,从现有的物理机环境或虚拟化环境迁移到云平台的虚拟化环境。容器改造上云是指将应用接入层(即网络服务器)和应用逻辑层(即应用中间件层,包括JAVA环境、中间件、应用程序包)打包在容器中,通过云平台进行自动化部署和发布。应用改造上云是指通过容器、微服务框架等方式支撑应用***在云上部署和运行。
在本申请实施例中,根据应用***的技术架构类型和应用***对云平台的服务需求,评估并确定应用***是基于基础架构上云、容器改造上云、应用改造上云三种模式中的一种或多种。具体的,当应用***的技术架构比较单一时,则采用一种迁移上云模式即可满足要求;当应用***有多种技术架构时,则采用至少两种的迁移上云模式才能满足需求。例如:网络大学应用前端网络应用部分可以采用容器改造上云,而其它的流媒体服务、缓存组件等只适合于基础架构上云。当选用两种以上的迁移上云模式时,即就是应用***的迁移上云模式属于混合模式上云。其中,如何分析应用***对云平台的服务需求将在下述实施例中进行具体的解释说明。
可选的,确定应用***的迁移上云模式,包括如下至少一种:判断应用***的访问流量是否存在高峰和低谷,若是,则确定应用***的迁移上云模式为容器改造上云,若否,则确定应用***的迁移上云模式为基础架构上云;判断应用***的业务功能是否固定,和/或应用***的版本的更新频率是否达到预设频率,若是,则确定应用***的迁移上云模式为应用改造上云,若否,则确定应用***的迁移上云模式为基础架构上云;若应用***部署的复杂程度高,或者应用***的应用实例大于预设阈值,则确定应用***的迁移上云模式为容器改造上云;若应用***采用微服务架构设计开发,则确定应用***的迁移上云模式为应用改造上云。
具体的,采用基础架构上云作为应用***的迁移上云模式的适用场景为:1、应用***的访问流量平稳,没有明显高峰和低谷场景;2、应用***的业务流程固定、数据模型稳定,应用版本较少发生变化(如半年或一年才更新一次);3、应用***的业务逻辑复杂、业务模块间紧耦合、应用***改造风险比较大的传统单体应用,比如营销等;4、应用***部署和运行需要使用特定操作***(如Windows 2003等),绑定操作***底层特定功能(如集群文件***),应用***无法采用容器镜像方式部署和发布;5、采用集中式交易中间件(如Tuxedo)、集中式服务总线、轻量级关系型数据库,Nosql数据库、缓存数据库应用支撑平台组件。
具体的,采用容器改造上云作为应用***的迁移上云模式的适用场景为:1、应用***的负载波动明显,访问流量存在高峰低谷的场景(如高峰期并发数与低谷期并发数差距较大),应用***需要实现弹性伸缩;2、应用***的部署比较繁琐,配置文件易出错(如存在大量的配置操作),应用***存在快速、标准、自动化部署的需求;3、应用***的应用实例较多,存在统一日志、统一监控的需求;4、应用***的业务逻辑和业务状态数据分离;5、应用***可基于容器镜像进行部署和发布,不依赖底层操作***的特殊机制。
具体的,采用应用改造上云作为应用***的迁移上云模式的适用场景为:1、应用***的业务需求和业务功能频繁变化,应用版本存在快速迭代开发;2、应用***采用微服务架构设计开发;3、当前应用***为传统集中式架构,应用模块间紧耦合,通过升级、扩容硬件,已无法满足应用***功能性、非功能性方面的发展要求(如存在大规模并发用户访问的互联网+场景,并发用户数太大,现有应用架构已无法支撑),存在应用改造上云的需求;4、应用***存在快速上线、灰度发布的需求。
S120、创建应用***的资源载体。
在本申请实施例中,经S110确定应用***需要使用哪种迁移上云模式完成应用***的迁移上云工作。然后,根据应用***的迁移上云模式,创建应用***的资源载体。此外,还需要通过云控制台创建租户账号。
在本申请实施例中,为应用***的创建资源载体的过程可以通过以下子步骤进行:
S1201、分析应用***的资源需求和应用***对云平台的服务需求。
在本申请实施例中,由于使用的迁移上云模式不同,因而应用***的资源需求和应用***对云平台的服务需求也略有差异。
具体的,采用基础架构上云作为应用***的迁移上云模式,应用***的资源需求和应用***对云平台的服务需求包括:1、计算资源:根据应用***当前资源现状,估算虚拟机、物理机的配置数量及配置参数(包括CPU、内存、本地硬盘、云硬盘等参数)。2、网络资源:云平台应根据应用***的网络要求分配虚拟局域网、互联网协议(Internet ProtocolAddress,IP)地址、网络带宽等网络资源,满足应用上云部署和运行。3、存储资源:云平台应根据应用的结构化数据存储、非结构化数据存储需要,分配存储区域网络(Storage AreaNetwork,SAN)、网络附加存储(Network Attached Storage,NAS)或分布式存储资源,按不同应用的接口要求提供块存储、对象存储和文件存储接口,并满足应用的性能需要。4、负载均衡资源:云平台的负载均衡组件应用满足应用负载均衡(Server Load Balancer,SLB)(4层或7层)、全局负载均衡(Global Server Load Balancing,GSLB)需求。5、其他资源:云平台应提供符合应用部署要求的操作***软件镜像模板,支持云主机备份,同时应满足结构化数据、非结构化数据的全备和增量备份。
具体的,采用容器改造上云作为应用***的迁移上云模式,应用***的资源需求和应用***对云平台的服务需求包括:1、云平台镜像仓库应提供分层的容器基础镜像;2、云平台应提供可选择的容器实例规格;3、云平台需控制容器实例间的网络带宽配置;4、云平台需提供相应NAS存储、分布式存储,满足应用容器实例访问的缓存数据、读写的非结构化数据的存储需求;5、云平台负载均衡组件应用满足应用SLB(4层或7层)、GSLB需求;6、云平台应提供应用配置参数、环境变量的编排文件;7、云平台应满足应用War包、容器基础镜像归档与管理,同时应满足结构化数据、非结构化数据的全备和增量备份;8、云平台应给迁移应用单独分配租户。
具体的,采用应用改造上云作为应用***的迁移上云模式,应用***的资源需求和应用***对云平台的服务需求包括:1、云平台镜像仓库应提供微服务容器基础镜像;2、云平台应提供可选择的容器实例规格;3、云平台需提供相应网络文件***(Network FileSystem,NFS)存储、分布式存储,满足应用容器实例访问的缓存数据、读写的非结构化数据的存储需求;4、与外部***进行集成联调;5、云平台需解决服务运行期注册发现,解决服务配置动态调整、解决服务调用过程的全链路监控跟踪;6、云平台需提供网关服务,实现前端网络页面和后端微服务的平滑对接,解决微服务日志、监控数据的自动收集和存储;7、云平台负载均衡组件应用满足微服务架构应用的SLB(4层或7层)、GSLB需求;8、云平台应提供微服务架构应用配置参数、环境变量的编排文件;9、云平台应满足应用Jar包、容器基础镜像归档与管理,同时应满足结构化数据、非结构化数据的全备和增量备份;10、云平台应给迁移应用单独分配租户。
S1202、根据资源需求和服务需求,创建应用***的资源载体。
在本申请实施例中,经上述S1201步骤,分析应用***的资源需求和应用***对云平台的服务需求。然后根据资源需求和服务需求,在云平台上为应用***创建资源载体。示例性的,当采用基础架构上云作为应用***的迁移上云模式时,则云平台应根据应用***的网络要求分配虚拟局域网、IP地址、网络带宽等网络资源,以满足应用上云部署和运行。
S130、根据迁移上云模式和资源载体,在云平台上部署应用***,并将应用***的数据库迁移上云,以完成应用***的迁移上云。
在本申请实施例中,经上述步骤为应用***确定迁移上云模式和创建资源载体之后,需要根据选定的迁移上云模式和资源载体,在云平台上部署应用***。
具体的,如果迁移上云模式采用的是基础架构上云,在云平台上部署应用***的过程为:通过使用工具上传应用***的应用包到虚拟机,依据设计要求部署应用***的应用包到指定的中间件中,手工执行中间件启动指令,完成应用***的应用包的部署。
如果迁移上云模式采用的是容器改造上云,在云平台上部署应用***的过程为:在云平台的云控制台上传应用***的应用包,依据所创建的资源载体(如:2个中央处理器(Central Processing Unit,CPU)4G内存)和服务器节点数选取适当的容器规格和数量,通过云控制台完成应用***的启动命令、中间件种类、日志数据的拉取地址、弹性伸缩策略等的配置。部署完成后云平台会快速启动应用***的服务器节点,应用启动后在云控制台上会显示出应用***的访问路径。如果应用***访问成功,则表明应用***的应用包的部署工作完成。可选的,为了给生产环境***提供本地负载,可以通过云控制台为应用***创建负载均衡服务,负载均衡服务也是根据应用***的并发量来分配负载均衡使用的资源,负载均衡服务建立后即可将应用***的访问路径配置到负载均衡中。
采用应用改造上云的迁移上云模式在云平台上部署应用***的过程,和采用容器改造上云的迁移上云模式在云平台上部署应用***的过程大致相同。不同之处在于:还需要在所创建的资源载体基础上,增加通过云控制台完成分布式服务总线组件的配置。
采用混合模式上云的迁移上云模式(即应用***各模块由不同的迁移上云模式进行迁移上云),***各模块在云平台上的部署过程依赖其采用的具体迁移上云模式。具体的,采用基础架构上云的模块使用基础架构上云的部署方式;采用容器改造上云的模块使用容器改造上云的部署方式;采用应用改造上云的模块使用应用改造上云的部署方式。
在本申请实施例中,将应用***的应用包部署至云平台之后,如果需要在云平台中使用新的数据库,则将应用***迁移上云之前的原数据库中的数据迁移到新的数据库中。
需要说明的是,将应用***的的应用包部署至云平台之后,如果仍然采用原数据库,则不涉及数据库迁移上云工作。
本实施例提供的技术方案,通过确定应用***的迁移上云模式;创建应用***的资源载体;根据迁移上云模式和资源载体,在云平台上部署应用***,并将应用***的数据库迁移上云,以完成应用***的迁移上云。本申请通过综合考虑各方面因素为应用***确定合适的迁移上云模式,并为应用***创建资源载体,然后根据已确定的迁移上云模式和资源载体,将应用***迁移上云至云平台中。本申请实施例提供的技术方案,可以提升应用***的资源利用率,为业务应用带来敏捷性,以适应业务的创新需求。
实施例二
图2为本申请实施例二提供的一种应用***的迁移方法的第二流程示意图。本申请实施例是在上述实施例的基础上进行优化,具体优化为:增加了对应用***进行改造的过程、以及将上云后的应用***与外部***建立联调的过程进行详细的解释说明。
参见图2,本实施例的方法包括但不限于如下步骤:
S210、确定应用***的迁移上云模式。
S220、创建应用***的资源载体。
S230、判断迁移上云模式是否选用容器改造上云和/或应用改造上云,若是,则执行S240,若否,则执行S250。
S240、对应用***进行改造,并在云平台上部署改造后的应用***。
在本申请实施例中,如果迁移上云模式是为容器改造上云和/或应用改造上云,则对应用***进行改造,并在云平台上部署改造后的应用***。
在本申请实施例中,若迁移上云模式选用容器改造上云,需要对应用***的程序代码和配置文件进行修改,并在云平台上部署修改后的程序代码和配置文件。对应用***的程序代码和配置文件进行修改具体包括:1、将应用***的程序代码和配置文件进行分离,其中,配置文件是指应用***在云平台上运行需要的资源信息。这样设置的好处在于可以实现通过云平台自动化部署应用***。2、将应用***在运行时产生的运行数据转存到分布式存储或是数据库,这样设置是因为在云平台中容器资源都是动态变化的,保存在容器中的数据将随着容器的生命周期结束而自动清空。
在本申请实施例中,若迁移上云模式选用应用改造上云,首先确定应用***是否包含微服务。若应用***中未包含微服务,则为应用***的开发微服务,以确保应用***能够无缝迁移到平台上运行。并且为所开发的微服务设置配置文件,并在云平台上部署微服务和配置文件;其中,微服务基于云平台分布式服务总线运行,采用云平台分布式服务总线的好处是可以实现服务注册发现和全链路监控。可选的,可以提供对微服务运行期对配置文件的动态调整。
S250、在云平台上部署的应用***。
在本申请实施例中,由于采用基础架构上云,应用***的运行环境没有改变(操作***、中间件)、应用***的数据库环境没有改变(数据库架构、数据库集群、数据库版本)和应用代码层面没有改变,所以当迁移上云模式为基础架构上云时,采用基础架构上云的应用***不涉及到对应用***的开发改造,直接在云平台上部署的应用***。
S260、判断应用***与外部***是否具有集成关系,若是,则执行S270,若否,则执行S280。
在本申请实施例中,在对应用***进行迁移上云时,需要对应用***与外部***间的集成关系和技术路线进行分析,进而确定应用***与外部***是否具有集成关系。其中,外部***是指其它应用***。可选的,还可以分析应用***内部组件之间的集成关系。若存在集成关系,执行S270;若不存在集成关系,执行S280。
S270、将上云后的应用***与外部***建立联调关系。
在本申请实施例中,若应用***与外部***之间具有集成关系,则将上云后的应用***与外部***建立联调关系,为应用***与外部***建立联调关系之后,也就表明将应用***迁移上云完成。具体的,上云后的应用***与外部***的集成方式不会因为进行迁移上云操作而在技术方面有所限制,仍然可以采用迁移上云之前的集成方案实现***之间的集成,***各模块之间的集成可以直接引用虚拟机IP地址,应用***与外部***之间集成需使用负载均衡为云上***分配的IP地址和端口。
需要注意的是,当采用容器改造上云和/或应用改造上云对应用***进行迁移上云时,由于应用***运行在容器中,而容器的网络地址为云平台内部网络,对外不可见也无法访问,所以在***集成过程中外部***不能直接引用云平台的容器IP,而是要使用负载均衡为应用***提供的对外访问地址。
需要注意的是,当采用容器改造上云对应用***进行迁移上云时,在对应用***内部组件之间建立联调关系时,需要引用云平台为应用***所提供的服务名。
S280、迁移上云结束。
本实施例提供的技术方案,通过确定应用***的迁移上云模式;创建应用***的资源载体;若迁移上云模式选用容器改造上云和/或应用改造上云,则对应用***进行改造,并在云平台上部署改造后的应用***;若迁移上云模式选用基础架构上云,则直接在云平台上部署的应用***;若应用***与外部***具有集成关系,则将上云后的应用***与外部***建立联调关系。本申请通过对应用***创建资源载体、对应用***进行改造、以及将上云后的应用***与外部***建立联调,提升应用***的资源利用率,有效节省操作***的资源开销。
实施例三
图3为本申请实施例三提供的一种应用***的迁移方法的第三流程示意图。本申请实施例是在上述实施例的基础上进行优化,具体优化为:增加了对迁移上云后的应用***进行测试和上云成效分析的过程进行详细的解释说明。
参考图3,本实施例的方法包括但不限于如下步骤:
S310、确定应用***的迁移上云模式。
S320、创建应用***的资源载体。
S330、根据迁移上云模式和资源载体,在云平台上部署应用***,并将应用***的数据库迁移上云,以完成应用***的迁移上云。
S340、根据迁移上云模式,对迁移上云后的应用***进行测试。
在本申请实施例中,经上述步骤,将应用***迁移上云之后,需要对迁移上云后的应用***进行测试(即上云测试)。由于使用的迁移上云模式不同,因而对应用***进行上云测试的内容也略有差异。
具体的,由于基础架构上云应用***的没有对程序代码进行修改,只是对配置文件进行了调整。因此,当迁移上云模式采用的是基础架构上云时,对应用***进行上云测试的内容包括:1、在云平台中验证新的配置文件是否能够保证应用***的正常运行;2、验证基础资源扩容或缩容后***运行是否正常;3、验证在云平台中应用***与外部***集成是否正常。
具体的,由于容器改造上云对应用***将程序代码与配置文件进行分离,同时将应用***在运行时产生的运行数据转存到分布式存储或是数据库,因此,当迁移上云模式采用的是容器改造上云时,对应用***进行上云测试的内容包括:1、测试在云平台上程序代码与配置文件分离的***是否能正常运行,业务逻辑是否会产生错误;(2)验证运行数据转存到数据库后是否会对应用***的性能产生影响;(3)验证在云平台上应用***与外部***集成是否正常。
具体的,应用改造上云对应用***进行微服务架构改造,与原***架构发生质的变化,因此,当迁移上云模式采用的是应用改造上云时,对应用***进行上云测试的内容包括:1、验证采用微服务架构改造的应用***是否能够正常在云平台上运行,验证通过分布式服务总线网关对接的应用***前后端口是否正常运行;2、验证是否能在云平台中查到后端微服务的调用链路,当调用过程中发生错误云平台是否能及时给出错误提示信息;3、验证微服务之间的调用是否成功,以及外部***与微服务架构***之间集成是否成功。
具体的,当迁移上云模式采用的是混合模式上云时,***各模块测试工作依赖其采用的具体迁移上云模式。采用基础架构上云的模块使用基础架构上云的测试方式、采用容器改造上云的模块使用容器改造上云的测试方式、采用应用改造上云的模块使用应用改造上云的测试方式。
可选的,对迁移上云后的应用***进行测试之后,对测试合格的应用***进行***割接。具体的,上云测试工作完成后,在云平台上的应用***即可切换成生产模式运行。应用***割接前需编写***割接回退方案,一旦发生割接失败,应用***将回退至迁移上云之前的生产环境。应用***顺利割接到云平台,应用***运行正常,即进入到上线试运行期,试运行时间不少于90天,主要记录应用的可用性、连续性和安全情况。
S350、在云平台上的应用***运行过程中,对应用***进行成效分析。
在本申请实施例中,在云平台上的应用***运行过程中,从云平台支撑、应用***业务层面、应用***上云获得感等维度对应用***进行成效分析。
具体的,从云平台支撑维度对应用***进行成效分析包括:评估云平台上运行的计算、存储、网络资源配置及资源利用率;评估云平台上运行的应用容器实例、节点数及资源利用率;是否能够通过云平台进行统一汇总、监控和展现。
具体的,从应用***业务层面维度对应用***进行成效分析包括:应用负载流量指标,可确认云上环境是否已经承载生产业务,此指标可通过云平台统一展现;业务处理量、业务成功率、业务响应等监控指标,可确认云平台是否满足应用***业务层面基本运行要求,此指标由应用单独的子模块负责展现。
具体的,从应用***上云获得感维度对应用***进行成效分析包括:对比迁移上云前后的应用***,可以从最终用户、应用***开发测试、应用***部署上线、应用***安全、应用***运维等层面,依次评估分析上云获得感。
本实施例提供的技术方案,通过确定应用***的迁移上云模式;创建应用***的资源载体;根据迁移上云模式和资源载体,在云平台上部署应用***,并将应用***的数据库迁移上云,以完成应用***的迁移上云;若应用***与外部***具有集成关系,则将上云后的应用***与外部***建立联调关系;根据迁移上云模式,对迁移上云后的应用***进行测试;在云平台上的应用***运行过程中,对应用***进行上云成效分析。本申请通过对迁移上云后的应用***进行测试、***割接和上云成效分析,可以使应用***的迁移上云方案更加完整,可以保障对迁移上云后的应用***的正常运行使用。本申请方案实现简单方便、便于普及,适用范围更广。
实施例四
图4为本申请实施例提供的一种应用***的迁移装置的结构示意图,如图4所示,该装置400可以包括:
确定模块410,用于确定应用***的迁移上云模式,其中,所述迁移上云模式包括基础架构上云、容器改造上云和应用改造上云中的至少一种。
创建模块420,用于创建所述应用***的资源载体;
迁移模块430,用于根据所述迁移上云模式和所述资源载体,在云平台上部署所述应用***,并将所述应用***的数据库迁移上云,以完成所述应用***的迁移上云。
可选的,所述确定应用***的迁移上云模式,包括如下至少一种:判断所述应用***的访问流量是否存在高峰和低谷,若是,则确定所述应用***的迁移上云模式为容器改造上云,若否,则确定所述应用***的迁移上云模式为基础架构上云;判断所述应用***的业务功能是否固定,和/或所述应用***的版本的更新频率是否达到预设频率,若是,则确定所述应用***的迁移上云模式为应用改造上云,若否,则确定所述应用***的迁移上云模式为基础架构上云;若所述应用***部署的复杂程度高,或者所述应用***的应用实例大于预设阈值,则确定所述应用***的迁移上云模式为容器改造上云;若所述应用***采用微服务架构设计开发,则确定所述应用***的迁移上云模式为应用改造上云。
进一步的,上述应用***的迁移装置,还可以包括:联调模块;
所述联调模块,用于在将应用***数据迁移上云之后,判断所述应用***与外部***是否具有集成关系;若是,则将上云后的应用***与外部***建立联调关系。
进一步的,上述迁移模块430,可以具体用于:判断迁移上云模式是否选用容器改造上云和/或应用改造上云;若是,则对所述应用***进行改造,并在云平台上部署改造后的应用***。
进一步的,上述迁移模块430,还可以具体用于:若迁移上云模式选用容器改造上云,则对所述应用***的程序代码和配置文件进行修改,并在云平台上部署修改后的程序代码和配置文件。
进一步的,上述迁移模块430,还可以具体用于:当迁移上云模式选用应用改造上云时,若所述应用***中未包含微服务,则为所述应用***的开发微服务,以及为所开发的微服务设置配置文件,并在云平台上部署所述微服务和所述配置文件;其中,所述微服务基于云平台分布式服务总线运行。
进一步的,上述创建模块420,还可以具体用于:分析所述应用***的资源需求和所述应用***对云平台的服务需求;根据所述资源需求和所述服务需求,创建所述应用***的资源载体。
进一步的,上述应用***的迁移装置,还可以包括:上云测试模块;
所述上云测试模块,用于将应用***的数据库迁移上云之后,根据所述迁移上云模式,对迁移上云后的应用***进行测试。
进一步的,上述应用***的迁移装置,还可以包括:成效分析模块;
所述成效分析模块,用于将应用***的数据库迁移上云之后,在云平台上的应用***运行过程中,对所述应用***进行成效分析。
本实施例提供的应用***的迁移装置可适用于上述任意实施例提供的应用***的迁移方法,具备相应的功能和有益效果。
实施例五
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是根据本申请实施例的应用***的迁移方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器510、存储器520,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图5中以一个处理器510为例。
存储器520即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的应用***的迁移方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的应用***的迁移方法。
存储器520作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的应用***的迁移方法对应的程序指令/模块(例如,附图4所示的确定模块410、创建模块420和迁移模块430)。处理器510通过运行存储在存储器520中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的应用***的迁移方法。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据应用***的迁移的电子设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至应用***的迁移的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
应用***的迁移方法的电子设备还可以包括:输入装置530和输出装置540。处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置530可接收输入的数字或字符信息,以及产生与应用***的迁移的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置540可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
值得注意的是,上述应用***的迁移装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种应用***的迁移方法,其特征在于,所述方法包括:
确定应用***的迁移上云模式,其中,所述迁移上云模式包括基础架构上云、容器改造上云和应用改造上云中的至少一种;
创建所述应用***的资源载体;
根据所述迁移上云模式和所述资源载体,在云平台上部署所述应用***,并将所述应用***的数据库迁移上云,以完成所述应用***的迁移上云。
2.根据权利要求1所述的方法,其特征在于,所述确定应用***的迁移上云模式,包括如下至少一种:
判断所述应用***的访问流量是否存在高峰和低谷,若是,则确定所述应用***的迁移上云模式为容器改造上云,若否,则确定所述应用***的迁移上云模式为基础架构上云;
判断所述应用***的业务功能是否固定,和/或所述应用***的版本的更新频率是否达到预设频率,若是,则确定所述应用***的迁移上云模式为应用改造上云,若否,则确定所述应用***的迁移上云模式为基础架构上云;
若所述应用***部署的复杂程度高,或者所述应用***的应用实例大于预设阈值,则确定所述应用***的迁移上云模式为容器改造上云;
若所述应用***采用微服务架构设计开发,则确定所述应用***的迁移上云模式为应用改造上云。
3.根据权利要求1所述的方法,其特征在于,在将所述应用***数据迁移上云之后,还包括:
判断所述应用***与外部***是否具有集成关系;
若是,则将上云后的应用***与外部***建立联调关系。
4.根据权利要求1所述的方法,其特征在于,根据所述迁移上云模式和所述资源载体,在云平台上部署所述应用***,包括:
判断迁移上云模式是否选用容器改造上云和/或应用改造上云;
若是,则对所述应用***进行改造,并在云平台上部署改造后的应用***。
5.根据权利要求4所述的方法,其特征在于,若迁移上云模式选用容器改造上云,则对所述应用***进行改造,并在云平台上部署改造后的应用***,包括:
对所述应用***的程序代码和配置文件进行修改,并在云平台上部署修改后的程序代码和配置文件。
6.根据权利要求4所述的方法,其特征在于,若迁移上云模式选用应用改造上云,则对所述应用***进行改造,并在云平台上部署改造后的应用***,包括:
若所述应用***中未包含微服务,则为所述应用***的开发微服务,以及为所开发的微服务设置配置文件,并在云平台上部署所述微服务和所述配置文件;其中,所述微服务基于云平台分布式服务总线运行。
7.根据权利要求1所述的方法,其特征在于,所述创建所述应用***的资源载体,包括:
分析所述应用***的资源需求和所述应用***对云平台的服务需求;
根据所述资源需求和所述服务需求,创建所述应用***的资源载体。
8.根据权利要求1所述的方法,其特征在于,在将所述应用***的数据库迁移上云之后,还包括:
根据所述迁移上云模式,对迁移上云后的应用***进行测试。
9.根据权利要求1所述的方法,其特征在于,在将所述应用***的数据库迁移上云之后,还包括:
在云平台上的应用***运行过程中,对所述应用***进行成效分析。
10.一种应用***的迁移装置,其特征在于,所述装置包括:
确定模块,用于确定应用***的迁移上云模式,其中,所述迁移上云模式包括基础架构上云、容器改造上云和应用改造上云中的至少一种;
创建模块,用于创建所述应用***的资源载体;
迁移模块,用于根据所述迁移上云模式和所述资源载体,在云平台上部署所述应用***,并将所述应用***的数据库迁移上云,以完成所述应用***的迁移上云。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一项所述的应用***的迁移方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一项所述的应用***的迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110313298.1A CN112948091B (zh) | 2021-03-24 | 2021-03-24 | 应用***的迁移方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110313298.1A CN112948091B (zh) | 2021-03-24 | 2021-03-24 | 应用***的迁移方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948091A true CN112948091A (zh) | 2021-06-11 |
CN112948091B CN112948091B (zh) | 2024-01-30 |
Family
ID=76227750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110313298.1A Active CN112948091B (zh) | 2021-03-24 | 2021-03-24 | 应用***的迁移方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948091B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467436A (zh) * | 2021-06-28 | 2021-10-01 | 重庆长安汽车股份有限公司 | 一种基于soa服务分层的整车功能实现方法及*** |
CN113726638A (zh) * | 2021-11-04 | 2021-11-30 | 北京比格大数据有限公司 | 一种多云多芯容器管理的方法、装置及设备、存储介质 |
CN114826864A (zh) * | 2022-03-11 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 应用***的架构确定方法和装置、电子设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103649941A (zh) * | 2011-07-12 | 2014-03-19 | 国际商业机器公司 | 云上的应用资源管理器 |
CN103930863A (zh) * | 2011-10-11 | 2014-07-16 | 国际商业机器公司 | 可轻松云化的应用的基于发现的标识和迁移 |
CN111526818A (zh) * | 2017-12-28 | 2020-08-11 | 爱惜康有限责任公司 | 电外科***的态势感知 |
-
2021
- 2021-03-24 CN CN202110313298.1A patent/CN112948091B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103649941A (zh) * | 2011-07-12 | 2014-03-19 | 国际商业机器公司 | 云上的应用资源管理器 |
CN103930863A (zh) * | 2011-10-11 | 2014-07-16 | 国际商业机器公司 | 可轻松云化的应用的基于发现的标识和迁移 |
CN111526818A (zh) * | 2017-12-28 | 2020-08-11 | 爱惜康有限责任公司 | 电外科***的态势感知 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467436A (zh) * | 2021-06-28 | 2021-10-01 | 重庆长安汽车股份有限公司 | 一种基于soa服务分层的整车功能实现方法及*** |
CN113726638A (zh) * | 2021-11-04 | 2021-11-30 | 北京比格大数据有限公司 | 一种多云多芯容器管理的方法、装置及设备、存储介质 |
CN113726638B (zh) * | 2021-11-04 | 2022-04-01 | 北京比格大数据有限公司 | 一种多云多芯容器管理的方法、装置及设备、存储介质 |
CN114826864A (zh) * | 2022-03-11 | 2022-07-29 | 阿里巴巴(中国)有限公司 | 应用***的架构确定方法和装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112948091B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7138126B2 (ja) | リソース配置を最適化するための適時性リソース移行 | |
CN112948091B (zh) | 应用***的迁移方法、装置、电子设备及存储介质 | |
US11023286B2 (en) | Container based service management | |
US9942353B2 (en) | Management of connections within a messaging environment based on the statistical analysis of server responsiveness | |
US9998531B2 (en) | Computer-based, balanced provisioning and optimization of data transfer resources for products and services | |
US9405579B2 (en) | Seamless extension of local computing power | |
US8694685B2 (en) | Migrating virtual machines with adaptive compression | |
CN111737127A (zh) | 用于测试地图服务的方法和装置 | |
US10936356B2 (en) | Virtual machine management | |
US20190095284A1 (en) | Enhanced application write performance | |
US11144432B2 (en) | Testing and reproduction of concurrency issues | |
US9785507B2 (en) | Restoration of consistent regions within a streaming environment | |
CN111343219B (zh) | 计算服务云平台 | |
CN111400000A (zh) | 网络请求处理方法、装置、设备和存储介质 | |
CN115580645A (zh) | 一种服务切换方法、装置、电子设备和存储介质 | |
US20220413902A1 (en) | Partition migration with critical task prioritization | |
US11082520B2 (en) | Process broker for executing web services in a system of engagement and system of record environments | |
CN111767169A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113760638A (zh) | 一种基于kubernetes集群的日志服务方法和装置 | |
CN111767059A (zh) | 深度学习模型的部署方法、装置、电子设备和存储介质 | |
US11775398B2 (en) | Rollback of services with a global variable change | |
WO2022148376A1 (en) | Edge time sharing across clusters via dynamic task migration | |
CN114546644A (zh) | 集群资源调度方法、装置、软件程序、电子设备及存储介质 | |
US11157309B2 (en) | Operating cluster computer system with coupling facility | |
US20210075884A1 (en) | Dynamic initiation of services |
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 |