Application high availability evaluation method and device, equipment and storage medium

By acquiring and analyzing application deployment information and judging the availability zone and number of instances in combination with preset standards, the problem that the existing technology cannot uniformly measure application high availability, and the evaluation of high availability deployment for cloud applications and fault isolation switching is achieved. Improves the resilience and resilience of the application.

CN119179644APending Publication Date: 2024-12-24CHINA MERCHANTS BANK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411302053.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-18
Publication Date
2024-12-24

AI Technical Summary

Technical Problem

The existing technology cannot uniformly measure whether different types of applications meet high availability requirements, resulting in uncontrollable risks and uncontrollable recovery time in cloud application deployment architectures.

Method used

By obtaining application instance deployment information, cluster deployment information, availability zone deployment information and regional deployment information, combined with preset evaluation standards, we can determine whether the number of available zones and instances meet the high availability requirements, and conduct high availability architecture evaluation for different application types. and fault isolation switch operation.

Benefits of technology

It realizes the evaluation of high availability deployment architecture for different types of applications, ensuring that the application meets high availability requirements, and improving the application's resilience and failure recovery capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119179644A_ABST
    Figure CN119179644A_ABST
Patent Text Reader

Abstract

The invention discloses an application high availability evaluation method and device, equipment and a storage medium, and belongs to the technical field of application architecture design. The application high availability evaluation method comprises the following steps: acquiring instance deployment information, cluster deployment information, available region deployment information and regional deployment information of a to-be-evaluated application; based on the instance deployment information, the cluster deployment information, the available region deployment information and the region deployment information, determining the number of available regions corresponding to a plurality of deployment regions of the to-be-evaluated application and the number of instances corresponding to each available region; and judging whether the to-be-evaluated application meets a high availability requirement corresponding to the application type of the to-be-evaluated application or not based on a preset evaluation standard, the number of the available areas and the number of the instances. According to the method and the device, the current deployment architecture of various different types of applications can be evaluated, so that whether different types of to-be-evaluated applications reach a high-availability deployment target or not is measured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of application architecture design, and in particular to an application high availability evaluation method, device, equipment and storage medium. Background Art

[0002] In order to cope with unreliable infrastructure, cloud applications must adapt to build high-availability architectures to ensure the quality of application operation. Therefore, in order to better promote the high-availability deployment of cloud applications and improve application resilience, it is necessary to conduct high-availability evaluation of the application deployment architecture to help the application achieve a high-availability architecture.

[0003] However, currently the modeling methods for different types of applications cannot be unified, which makes it difficult to measure whether the application meets the high availability requirements. Summary of the invention

[0004] The main purpose of the present invention is to provide an application high availability evaluation method, device, equipment and storage medium, aiming to solve the technical problem of how to measure whether different applications meet the high availability requirements.

[0005] To achieve the above object, the present invention provides an application high availability evaluation method, which includes the following steps:

[0006] Obtain instance deployment information, cluster deployment information, availability zone deployment information, and region deployment information of the application to be evaluated;

[0007] Determine the number of availability zones corresponding to multiple deployment areas of the application to be evaluated and the number of instances corresponding to each availability zone based on the instance deployment information, cluster deployment information, availability zone deployment information, and region deployment information;

[0008] Based on the preset evaluation criteria, the number of available zones, and the number of instances, determine whether the application to be evaluated meets the high availability requirements corresponding to the application type of the application to be evaluated.

[0009] Optionally, the step of obtaining instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information of the application to be evaluated includes:

[0010] Among the multiple applications, applications whose business importance level and / or application importance level meet the preset requirements are selected as applications to be evaluated;

[0011] Get the deployment configuration information of the application to be evaluated;

[0012] Based on the deployment configuration information, the instance deployment information, cluster deployment information, availability zone deployment information, and region deployment information of the application to be evaluated are obtained.

[0013] Optionally, the step of judging whether the application to be evaluated meets the high availability requirement corresponding to the application type of the application to be evaluated based on the preset evaluation criteria, the number of available zones, and the number of instances includes:

[0014] Determine the application type of the application to be evaluated based on the type field and the deployment type field of the application to be evaluated;

[0015] The preset high availability indicator corresponding to the application type is used as the preset evaluation standard corresponding to the application to be evaluated;

[0016] Based on the preset evaluation criteria, the number of availability zones, and the number of instances, determine whether the application to be evaluated meets the high availability requirements.

[0017] Optionally, the application type is a first type application or a special virtual machine application; the first type application includes a container application or a common virtual machine application;

[0018] The step of determining the application type of the application to be evaluated based on the type field and the deployment type field of the application to be evaluated includes:

[0019] Identify the type field and deployment type field of the application to be evaluated;

[0020] If the type field is identified as "application" and the deployment type field is "container", the application type of the application to be evaluated is determined to be a container application;

[0021] If the type field is identified as "application" and the deployment type field is "special virtual machine", the application type of the application to be evaluated is determined to be a special virtual machine application;

[0022] If the type field is identified as "application" and the deployment type field is "normal virtual machine", it is determined that the application type of the application to be evaluated is a normal virtual machine application.

[0023] Optionally, the area includes a main production area and a backup production area;

[0024] Based on the preset evaluation criteria, the number of available zones, and the number of instances, the steps for determining whether the application to be evaluated meets the high availability requirements include:

[0025] If the application type of the application to be evaluated is a first type application, and the application to be evaluated is a business application, then it is determined whether the application to be evaluated meets a first preset standard; the first preset standard is that both the primary production area and the backup production area corresponding to the application to be evaluated are deployed with at least three availability zones, and each availability zone is deployed with at least one instance;

[0026] If the application type of the application to be evaluated is a first type application, and the application to be evaluated is an isolation zone application, then determine whether the application to be evaluated meets a second preset standard; the second preset standard is that both the primary production zone and the backup production zone corresponding to the application to be evaluated are deployed with at least two availability zones, and each availability zone is deployed with at least one instance;

[0027] If the application type of the application to be evaluated is a special virtual machine application, determine whether the application to be evaluated meets the third preset standard; the third preset standard is that the main production area corresponding to the application to be evaluated is deployed with at least two availability zones, and the number of instances deployed in each availability zone is the same, and the backup production area corresponding to the application to be evaluated is deployed with at least one availability zone, and at least one instance is deployed in the availability zone, and the number of instances in the main production area is four times the number of instances in the backup production area.

[0028] Optionally, the method further comprises:

[0029] Based on the high-availability architecture of the faulty application, the fault points of the faulty application are checked step by step to determine the fault level of the faulty application;

[0030] For faulty applications, perform isolation switching operations corresponding to the fault level.

[0031] Optionally, for a faulty application, the step of performing an isolation switching operation corresponding to the fault level includes:

[0032] If the fault level is a regional fault, perform regional level isolation switching operations for the faulty application;

[0033] If the fault level is an availability zone-level fault, an availability zone-level isolation switch operation is performed for the faulty application;

[0034] If the fault level is a cluster-level fault, a cluster-level isolation switching operation is performed for the faulty application;

[0035] If the fault level is an instance-level fault, an instance-level isolation switching operation is performed for the faulty application.

[0036] In addition, to achieve the above-mentioned purpose, the present invention also provides an application high availability evaluation device, the device comprising:

[0037] A deployment information acquisition module is used to obtain instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information of the application to be evaluated;

[0038] A deployment architecture determination module, used to determine the number of available zones corresponding to multiple deployment areas of the application to be evaluated and the number of instances corresponding to each available zone based on the instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information;

[0039] The deployment architecture evaluation module is used to determine whether the application to be evaluated meets the high availability requirements corresponding to the application type of the application to be evaluated based on preset evaluation criteria, the number of available zones, and the number of instances.

[0040] In addition, to achieve the above-mentioned purpose, the present invention also provides an application high availability evaluation device, the device including: a memory, a processor, and an application high availability evaluation program stored in the memory and executable on the processor, the application high availability evaluation program being configured to implement the steps of the application high availability evaluation method as described above.

[0041] In addition, to achieve the above-mentioned purpose, the present invention also provides a computer-readable storage medium, on which an application high availability evaluation program is stored, and when the application high availability evaluation program is executed by a processor, the steps of the application high availability evaluation method as described above are implemented.

[0042] The present invention obtains the deployment information of each level of the high-availability architecture corresponding to the application to be evaluated, obtains the number of available zones and instances corresponding to multiple deployment areas in the current deployment architecture of the application to be evaluated, and then judges whether the deployment of the number of available zones and the number of instances meets the high-availability requirements according to the preset evaluation criteria, and finally determines whether the application to be evaluated meets the high-availability requirements of the corresponding application type. Therefore, the present invention can evaluate the current deployment architecture of multiple different types of applications, so as to measure whether different types of applications to be evaluated have achieved the high-availability deployment goals. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 It is a structural diagram of an application high availability evaluation device for a hardware operating environment involved in an embodiment of the present invention;

[0044] Figure 2 This is a flow chart of a first embodiment of a high availability evaluation method according to the present invention;

[0045] Figure 3 This is a flow chart of a second embodiment of a high availability evaluation method according to the present invention;

[0046] Figure 4 A schematic diagram of the association relationship between applications and cloud services using the high availability evaluation method of the present invention;

[0047] Figure 5 This is a functional module diagram of the first embodiment of the high availability evaluation device of the present invention.

[0048] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0049] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.

[0050] After analyzing the relevant technologies, we found that the conventional deployment architecture of current applications has the following problems: First, applications are deployed with a single instance, which has no risk resistance. Once an exception occurs, the business is affected and the recovery time is uncontrollable; second, applications are deployed with multiple instances, but only deployed in the same AZ (Availability Zone). Since the deployment of the same AZ is coupled at the cloud infrastructure level, once an exception occurs in the infrastructure, an AZ-level failure will occur, the business will be affected, and the recovery time is uncontrollable; third, applications are deployed with multiple AZs and multiple instances, but the application instances between AZs cannot replace each other. Therefore, they are essentially single AZ deployments and cannot resist AZ-level failures. In order to better promote the high-availability deployment of cloud applications and improve application resilience, the application system must build a high-availability architecture that adapts to the level to help applications achieve high-availability architecture.

[0051] To this end, the present invention determines whether the deployment of the number of available zones and the number of instances meets the high availability requirements according to the preset evaluation criteria, and finally determines whether the application to be evaluated meets the high availability requirements of the corresponding application type. The current deployment architecture of various types of applications can be evaluated to measure whether different types of applications to be evaluated have achieved the high availability deployment goals.

[0052] Reference Figure 1 , Figure 1 The present invention is a schematic diagram of the structure of a high-availability evaluation device for a hardware operating environment according to an embodiment of the present invention.

[0053] like Figure 1As shown, the application high availability evaluation device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a wireless fidelity (WIreless-FIdelity, WI-FI) interface). The memory 1005 may be a high-speed random access memory (Random Access Memory, RAM) memory, or a stable non-volatile memory (Non-Volatile Memory, NVM), such as a disk memory. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0054] Those skilled in the art will understand that Figure 1 The structure shown in the figure does not constitute a limitation on the application of high availability evaluation equipment, and may include more or less components than those shown in the figure, or combine certain components, or arrange the components differently.

[0055] like Figure 1 As shown, the memory 1005 as a computer-readable storage medium may include an operating system, a data storage module, a network communication module, a user interface module, and an application high availability evaluation program.

[0056] exist Figure 1 In the application high availability evaluation device shown, the network interface 1004 is mainly used for data communication with other devices; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the application high availability evaluation device of the present invention can be set in the application high availability evaluation device, and the application high availability evaluation device calls the application high availability evaluation program stored in the memory 1005 through the processor 1001, and executes the application high availability evaluation method provided by the embodiment of the present invention.

[0057] The embodiment of the present invention provides a method for evaluating application high availability. Figure 2 , Figure 2 The figure is a flow chart of a first embodiment of a high availability evaluation method according to the present invention.

[0058] In this embodiment, the application high availability evaluation method includes:

[0059] Step S100: Obtain instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information of the application to be evaluated.

[0060] Specifically, in this embodiment, the deployment level of the application to be evaluated is divided into four levels: region, availability zone, cluster, and instance, and the deployment information corresponding to each level is obtained respectively, namely, instance deployment information, cluster deployment information, availability zone deployment information, and region deployment information.

[0061] Among them, "instance deployment information" refers to the specific instance deployment of the application to be evaluated on the server, such as the server IP, port number, running status and other information; "cluster deployment information" refers to the deployment of the application to be evaluated in the cluster environment, including cluster nodes, load balancing, etc.; "availability zone deployment information" refers to the deployment of the application to be evaluated in different availability zones in the cloud computing environment to ensure high availability and disaster recovery capabilities; "regional deployment information" refers to the deployment of the application to be evaluated in different geographical locations (such as different data centers).

[0062] As you can understand, a Region is usually composed of multiple availability zones across geographical locations, with dedicated lines connecting the regions, and latency is usually high. AZ (Availability Zone) refers to a physical area in the same region with independent power and network, and faults between different availability zones are isolated from each other. The distance and network latency between AZs in the same region are usually small. Clusters can replace each other. Cluster-level failures can be restored by switching and isolation. An instance refers to an independent "process + runtime environment" deployed after the application code is packaged, and in the ACS (Azure Container Service) container application, it refers to a Pod (the smallest scheduling unit in the open source container orchestration platform).

[0063] Comprehensive evaluation is performed by obtaining the deployment status of the application to be evaluated at the instance, cluster, availability zone, and region levels.

[0064] Furthermore, in the specific implementation process, step S100 specifically includes:

[0065] Step S110: Among the multiple applications, applications whose business importance level and / or application importance level meet the preset requirements are selected as applications to be evaluated.

[0066] Step S120: Obtain deployment configuration information of the application to be evaluated.

[0067] Step S130: Based on the deployment configuration information, the instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information of the application to be evaluated are obtained.

[0068] Specifically, in this embodiment, the application to be evaluated refers to an application with high requirements for safe and stable operation. In the specific implementation process, an application whose business importance level and / or application importance level meets the preset requirements can be used as the application to be evaluated.

[0069] In a specific implementation, applications can be divided into four levels of A, B, C, and D according to the business importance level from high to low, and each level of application can be further divided into three levels of a, b, and c according to the application importance level from high to low. In this embodiment, applications with application importance levels a and b are used as applications to be evaluated. At the same time, there are different high-availability architecture requirements for applications to be evaluated with different business importance levels. For details, please refer to Table 1 of high-availability architecture requirements:

[0070] Table 1

[0071]

[0072] As shown in Table A, the applications to be evaluated with business importance level A, B or C need to meet the requirements of active / standby in the same city, active / active dual or multi-active, and disaster recovery in different locations. Therefore, their high availability architecture needs to meet the requirements of cross-AZ (AvailabilityZone) and cross-region (Region) at the same time, that is, they need to respond to requests across availability zones and regions. Applications to be evaluated with business importance level D need to meet the requirements of active / standby in the same city, active / active dual or multi-active, and their high availability architecture only needs to meet the requirements of cross-AZ, that is, they need to respond to requests across availability zones.

[0073] In the specific implementation process, after determining the application to be evaluated, the CMDB (Configuration Management Database) service unit model can be associated with the model corresponding to the application to be evaluated to obtain the association relationship between the application to be evaluated and the underlying instance deployment. From the association relationship, the deployment configuration information of the application to be evaluated can be obtained. Among them, the deployment configuration information includes the instance deployment information corresponding to the application to be evaluated, the cluster deployment information where the instance is located, the availability zone deployment information where the cluster is located, and the regional deployment information where the availability zone is located.

[0074] Step S200: Based on the instance deployment information, cluster deployment information, available zone deployment information and region deployment information, determine the number of available zones corresponding to multiple deployment areas of the application to be evaluated and the number of instances corresponding to each available zone.

[0075] Step S300: Based on the preset evaluation criteria, the number of available zones, and the number of instances, it is determined whether the application to be evaluated meets the high availability requirement corresponding to the application type of the application to be evaluated.

[0076] Specifically, after obtaining the instance deployment information, cluster deployment information, availability zone deployment information, and regional deployment information corresponding to the application to be evaluated, the current deployment architecture of the application to be evaluated can be obtained, and then based on the current deployment architecture, the number of availability zones corresponding to the deployment of the application to be evaluated in different deployment areas and the number of instances corresponding to each availability zone can be known.

[0077] In this embodiment, different types of applications to be evaluated have different high availability requirements. After obtaining the number of available zones of the current deployment architecture of the application to be evaluated and the number of instances corresponding to each available zone, it can be determined whether the current number of available zones and the number of instances meet the high availability requirements of the application to be evaluated according to the preset evaluation criteria.

[0078] Furthermore, in the specific implementation process, step S300 specifically includes:

[0079] Step S310: Determine the application type of the application to be evaluated based on the type field and the deployment type field of the application to be evaluated.

[0080] Specifically, firstly, the type field and deployment type field of the application to be evaluated are obtained through the application model corresponding to the application to be evaluated in the CMDB, and then the application type corresponding to the application to be evaluated is determined according to the type field information and the deployment type field information.

[0081] Furthermore, in the specific implementation process, the application type may be any one of the first type application and the special virtual machine application; the first type application may be any one of the container application and the common virtual machine application. In this case, step S310 specifically includes:

[0082] Step S311: Identify the type field and deployment type field of the application to be evaluated.

[0083] Step S312: If the type field is identified as "application" and the deployment type field is identified as "container", it is determined that the application type of the application to be evaluated is a container application.

[0084] Step S313: If the type field is identified as "application" and the deployment type field is identified as "special virtual machine", it is determined that the application type of the application to be evaluated is a special virtual machine application.

[0085] Step S314: If the type field is identified as "application" and the deployment type field is identified as "normal virtual machine", it is determined that the application type of the application to be evaluated is a normal virtual machine application.

[0086] Specifically, after obtaining the type field information and deployment type field information of the application to be evaluated, if the type field of the application to be evaluated is identified as "application" and the deployment type field is "container (Docker)", it can be determined that the application to be evaluated is a container application; if the type field of the application to be evaluated is identified as "application" and the deployment type field is "special virtual machine", it can be determined that the application to be evaluated is a special virtual machine application; if the type field of the application to be evaluated is identified as "application" and the deployment type field is "normal virtual machine", it can be determined that the application to be evaluated is a normal virtual machine application.

[0087] Step S320: using the preset high availability indicator corresponding to the application type as the preset evaluation standard corresponding to the application to be evaluated.

[0088] Step S330: Based on the preset evaluation criteria, the number of available zones, and the number of instances, determine whether the application to be evaluated meets the high availability requirements.

[0089] Specifically, in this embodiment, different types of applications to be evaluated have different requirements for security and stability. Therefore, different types of applications to be evaluated have corresponding preset high availability indicators. In the specific implementation process, the preset high availability indicators corresponding to the application to be evaluated can be used as preset evaluation criteria for the application to be evaluated to determine whether the number of available zones in the current deployment architecture of the application to be evaluated and the number of corresponding instances in each available zone meet the high availability requirements.

[0090] Furthermore, in the specific implementation process, the area includes a main production area and a backup production area. In this case, step S330 specifically includes:

[0091] Step S331: If the application type of the application to be evaluated is a first type application, and the application to be evaluated is a business application, it is determined whether the application to be evaluated meets a first preset standard.

[0092] Among them, the first preset standard is that the main production area and the backup production area corresponding to the application to be evaluated are deployed with at least three availability zones, and each availability zone is deployed with at least one instance.

[0093] Step S332: If the application type of the application to be evaluated is a first type application, and the application to be evaluated is an isolated area application, it is determined whether the application to be evaluated meets a second preset standard.

[0094] Among them, the second preset standard is that the main production area and the backup production area corresponding to the application to be evaluated are deployed with at least two availability zones, and each availability zone is deployed with at least one instance.

[0095] Step S333: If the application type of the application to be evaluated is a special virtual machine application, it is determined whether the application to be evaluated meets a third preset standard.

[0096] Among them, the third preset standard is that the main production area corresponding to the application to be evaluated is deployed with at least two availability zones, and the number of instances deployed in each availability zone is the same; the backup production area corresponding to the application to be evaluated is deployed with at least one availability zone, and at least one instance is deployed in the availability zone, and the number of instances in the main production area is four times the number of instances in the backup production area.

[0097] Specifically, in the specific implementation process, if the business importance level of the application to be evaluated is A, B or C, it needs to meet the requirements of off-site disaster recovery. Therefore, the deployment area corresponding to the application to be evaluated includes the main production area and the backup production area, that is, the deployment architecture of the application to be evaluated must first meet the requirements of cross-regional before further evaluation.

[0098] First, in this embodiment, according to different security and stability requirements, the applications to be evaluated are divided into two major types: first type applications and special virtual machine applications. Among them, the first type of applications can be further divided into two sub-types: business applications (also known as BIZ applications) and demilitarized zone applications (also known as DMZ applications, Demilitarized Zone Application) according to the importance of the application scenario. Among them, the security requirements of business applications are higher than those of demilitarized zone applications.

[0099] For business applications in the first type of applications, it is necessary to determine whether its current deployment architecture meets the following requirements: both the primary production area and the backup production area are deployed with at least three availability zones, and each availability zone is deployed with at least one instance. If so, it is determined that its current deployment architecture meets the high availability requirements. If not, a corresponding rectification reminder is given.

[0100] For the isolation zone application in the first type of application, it is necessary to determine whether its current deployment architecture meets the following requirements: both the primary production zone and the backup production zone are deployed with at least two availability zones, and each availability zone is deployed with at least one instance. If so, it is determined that its current deployment architecture meets the high availability requirements. If not, a corresponding rectification reminder is given.

[0101] For special virtual machine applications, it is necessary to determine whether its current deployment architecture meets the following requirements: the main production area is deployed with at least two availability zones, and the number of instances deployed in each availability zone is the same; the backup production area is deployed with at least one availability zone, which is deployed with at least one instance, and the total number of instances in the main production area is four times the total number of instances in the backup production area. If it is met, it is determined that its current deployment architecture meets the high availability requirements. If not, a corresponding rectification reminder is given.

[0102] It is worth mentioning that in this embodiment, the special virtual machine application includes a sub-library application. It is understandable that instances of different sub-libraries of a sub-library application process different requests, so instances between different sub-libraries cannot replace each other. When evaluating a sub-library application, it is also necessary to determine whether the current deployment architecture under each sub-library of the application to be evaluated meets the high availability requirements. That is, only when the instance deployment architecture under each sub-library meets the high availability requirements can it be determined that the application to be evaluated meets the high availability requirements.

[0103] In addition, when the application to be evaluated does not meet the high availability requirements, there are different rectification plans for container applications and virtual machine applications. For virtual machine applications, rectification can be carried out directly by adding instances in different availability zones or different regions according to the corresponding preset evaluation criteria to make the application to be evaluated meet the high availability requirements. For container applications, it is not possible to directly add instances, so the application needs to be migrated to a high-security container cluster. In some specific implementations, the application importance level can also be adjusted to make the application to be evaluated meet the high availability requirements.

[0104] In this embodiment, by obtaining the deployment information of each level of the high-availability architecture corresponding to the application to be evaluated, the number of available zones and the number of instances corresponding to multiple deployment areas in the current deployment architecture of the application to be evaluated are obtained, and then according to the preset evaluation criteria, whether the deployment of the number of available zones and the number of instances meets the high-availability requirements is judged, and finally whether the application to be evaluated meets the high-availability requirements of the corresponding application type is determined. Therefore, the present invention can evaluate the current deployment architecture of multiple different types of applications, so as to measure whether different types of applications to be evaluated have achieved the high-availability deployment goals.

[0105] Further, based on the first embodiment, a second embodiment is proposed, referring to Figure 3 , Figure 3 This is a flow chart of a second embodiment of a high availability evaluation method according to the present invention.

[0106] In this embodiment, after step S300, the method further includes:

[0107] Step S400: Based on the high availability architecture of the faulty application, the fault point of the faulty application is checked level by level to determine the fault level of the faulty application.

[0108] Step S500: For the faulty application, an isolation switching operation corresponding to the fault level is performed.

[0109] Specifically, in this embodiment, when an application with a high-availability architecture fails, the fault point can be checked step by step according to the deployment architecture of the faulty application, that is, the fault can be accurately defined to a specific instance, cluster, availability zone or region, and then the fault level of the faulty application can be determined according to the impact of the fault point on the deployment instance of the application.

[0110] For example: If a failure point causes an instance in a certain availability zone to be unable to respond to requests normally, while other instances can respond to requests normally, the failure level corresponding to the fault application is determined to be an instance-level failure. If a failure point causes all instances in a cluster or group in a certain availability zone to be unable to respond to requests normally, the failure level corresponding to the fault application is determined to be a cluster-level failure. If a failure point causes all instances in a certain availability zone to be unable to respond to requests normally, the failure level corresponding to the fault application is determined to be an availability zone-level failure. If a failure point causes all instances in a deployment region to be unable to respond to requests normally, the failure level corresponding to the fault application is determined to be a region-level failure.

[0111] After determining the fault level corresponding to the faulty application, the corresponding isolation switching operation can be performed according to the fault level, that is, isolating the faulty application from the production environment and switching it to a backup system or node to reduce the impact of the fault on the entire system.

[0112] Furthermore, in the specific implementation process, step S500 specifically includes:

[0113] Step S510: If the fault level is a regional fault, a regional-level isolation switching operation is performed for the faulty application.

[0114] Step S520: If the fault level is an availability zone level fault, an availability zone level isolation switching operation is performed for the faulty application.

[0115] Step S530: If the fault level is a cluster-level fault, a cluster-level isolation switching operation is performed for the faulty application.

[0116] Step S540: If the fault level is an instance-level fault, an instance-level isolation switching operation is performed for the faulty application.

[0117] Specifically, when a regional failure occurs, it is necessary to perform regional isolation switching operations for the failed application. That is, to start a backup instance of the failed application in another region or data center outside the affected region to ensure that the service runs normally in other regions.

[0118] If a fault occurs in a certain availability zone, it is necessary to perform an availability zone-level isolation switch operation for the faulty application. In other words, the faulty application is switched from the affected availability zone to another availability zone to maintain service availability.

[0119] When a cluster-level failure occurs, cluster-level isolation switching operations need to be performed for the failed application. In other words, the tasks of the failed application are reallocated to other healthy cluster nodes to ensure service continuity.

[0120] When the fault is confined to a certain instance, it is necessary to perform instance-level isolation switching operations for the faulty application, that is, start a new instance to replace the faulty instance, or select other available instances from the instance pool to continue providing services.

[0121] Of course, in addition to fault demarcation at the application layer, in a specific implementation, an association between application and cloud service can also be established to achieve the ability of cloud service demarcation of application. When all instances of a faulty application are found to be abnormal, it is necessary to troubleshoot the cloud service that the application depends on, that is, to demarcate the fault to a specific cloud service instance, and then perform isolated switching of the cloud service to restore the business corresponding to the faulty application.

[0122] For example, refer to Figure 4 , Figure 4 Figure 1 is a schematic diagram of the relationship between applications and cloud services. Figure 4 As shown, application A is associated with the domain name resolution service DNS1 (DNS, Domain Name System, a system for resolving domain names to IP addresses) and the cloud database service Redis1 (Redis, an open source memory database) in the cloud service, while the cloud database service Oracle (a database software) in the cloud service is associated with application B and application N. In addition, Oracle is also associated with basic components such as OS (operating system), switches, and storage devices.

[0123] Taking application A as an example, when all instances corresponding to application A are abnormal, DNS1 and Redis1 can be checked separately, and the specific faulty service that application A depends on can be determined from DNS1 and Redis1, so as to isolate and switch the faulty service.

[0124] In this embodiment, the fault point is checked step by step at each deployment level of the faulty application with a high-availability architecture, so as to determine the fault level of the faulty application and perform the corresponding isolation switching operation. Therefore, the present invention can delimit the fault point of the faulty application to a specific instance, cluster, available zone or region, and determine the corresponding fault level, so as to take targeted isolation switching operations and restore the normal operation of the faulty application in time.

[0125] Furthermore, to achieve the above-mentioned purpose, the present invention also provides an application high availability evaluation device, which may include:

[0126] A deployment information acquisition module is used to obtain instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information of the application to be evaluated;

[0127] A deployment architecture determination module, used to determine the number of available zones corresponding to multiple deployment areas of the application to be evaluated and the number of instances corresponding to each available zone based on the instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information;

[0128] The deployment architecture evaluation module is used to determine whether the application to be evaluated meets the high availability requirements corresponding to the application type of the application to be evaluated based on preset evaluation criteria, the number of available zones, and the number of instances.

[0129] It should be noted that the functions that can be realized by each module in the application high availability evaluation device provided in this embodiment and the corresponding technical effects achieved can refer to the description of the specific implementation methods in each embodiment of the application high availability evaluation method of the present invention. For the sake of brevity of the specification, they will not be repeated here.

[0130] In addition, an embodiment of the present invention further proposes a computer-readable storage medium, on which an application high availability evaluation program is stored, and when the application high availability evaluation program is executed by a processor, the steps of the application high availability evaluation method as described above are implemented. Therefore, it will not be repeated here. In addition, the description of the beneficial effects of adopting the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in the present invention, please refer to the description of the method embodiment of the present invention. As an example, the program instructions can be deployed to be executed on one computing device, or on multiple computing devices located at one location, or on multiple computing devices distributed at multiple locations and interconnected by a communication network.

[0131] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, the elements defined by the sentence "including an application high availability evaluation" do not exclude the existence of other identical elements in the process, method, article or system including the element.

[0132] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0133] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a computer-readable storage medium (such as ROM / RAM, magnetic disk, optical disk) as above, and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods of various embodiments of the present invention.

[0134] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.

Claims

1. A method for evaluating application high availability, characterized in that: The application high availability evaluation method comprises the following steps: Obtain instance deployment information, cluster deployment information, availability zone deployment information, and region deployment information of the application to be evaluated; Determine the number of available zones corresponding to the multiple deployment areas of the application to be evaluated and the number of instances corresponding to each of the available zones based on the instance deployment information, the cluster deployment information, the available zone deployment information, and the region deployment information; Based on a preset evaluation standard, the number of available zones, and the number of instances, it is determined whether the application to be evaluated meets a high availability requirement corresponding to the application type of the application to be evaluated.

2. The application high availability evaluation method according to claim 1, characterized in that: The step of obtaining instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information of the application to be evaluated includes: Among the multiple applications, applications whose business importance level and / or application importance level meet the preset requirements are selected as applications to be evaluated; Obtaining deployment configuration information of the application to be evaluated; Based on the deployment configuration information, the instance deployment information, the cluster deployment information, the available zone deployment information, and the region deployment information of the application to be evaluated are obtained.

3. The application high availability evaluation method according to claim 1, characterized in that: The step of judging whether the application to be evaluated meets the high availability requirement corresponding to the application type of the application to be evaluated based on the preset evaluation criteria, the number of available zones, and the number of instances includes: Determine the application type of the application to be evaluated based on the type field and the deployment type field of the application to be evaluated; Using the preset high availability indicator corresponding to the application type as the preset evaluation standard corresponding to the application to be evaluated; Based on the preset evaluation criteria, the number of available zones, and the number of instances, it is determined whether the application to be evaluated meets the high availability requirement.

4. The application high availability evaluation method according to claim 3, characterized in that: The application type is a first type application or a special virtual machine application; the first type application includes a container application or a common virtual machine application; The step of determining the application type of the application to be evaluated based on the type field and the deployment type field of the application to be evaluated includes: Identify the type field and the deployment type field of the application to be evaluated; If it is identified that the type field is "application" and the deployment type field is "container", it is determined that the application type of the application to be evaluated is the container application; If the type field is identified as "application" and the deployment type field is "special virtual machine", the application type of the application to be evaluated is determined to be the special virtual machine application; If the type field is identified as "application" and the deployment type field is "normal virtual machine", it is determined that the application type of the application to be evaluated is the normal virtual machine application.

5. The application high availability evaluation method according to claim 4, characterized in that: The area includes a main production area and a backup production area; The step of judging whether the application to be evaluated meets the high availability requirement based on the preset evaluation criteria, the number of available zones, and the number of instances includes: If the application type of the application to be evaluated is the first type of application, and the application to be evaluated is a business application, determining whether the application to be evaluated meets a first preset standard; the first preset standard is that both the primary production area and the backup production area corresponding to the application to be evaluated are deployed with at least three availability zones, and each of the availability zones is deployed with at least one instance; If the application type of the application to be evaluated is the first type of application, and the application to be evaluated is an isolated area application, determining whether the application to be evaluated meets a second preset standard; the second preset standard is that both the primary production area and the backup production area corresponding to the application to be evaluated are deployed with at least two availability zones, and each of the availability zones is deployed with at least one instance; If the application type of the application to be evaluated is the special virtual machine application, determine whether the application to be evaluated meets the third preset standard; the third preset standard is that the main production area corresponding to the application to be evaluated is deployed with at least two availability zones, and the number of instances deployed in each availability zone is the same, and the backup production area corresponding to the application to be evaluated is deployed with at least one availability zone, and the availability zone is deployed with at least one instance, and the number of instances in the main production area is four times the number of instances in the backup production area.

6. The application high availability evaluation method according to claim 1, characterized in that: The method further comprises: Based on the high availability architecture of the faulty application, the fault point of the faulty application is checked step by step to determine the fault level of the faulty application; For the faulty application, an isolation switching operation corresponding to the fault level is performed.

7. The application high availability evaluation method according to claim 6, characterized in that: The step of performing an isolation switching operation corresponding to the fault level for the fault application includes: If the fault level is a regional fault, performing a regional level isolation switching operation on the faulty application; If the fault level is an availability zone level fault, performing an availability zone level isolation switching operation for the faulty application; If the fault level is a cluster-level fault, performing a cluster-level isolation switching operation on the faulty application; If the fault level is an instance-level fault, an instance-level isolation switching operation is performed on the faulty application.

8. An application high availability evaluation device, characterized in that: The device comprises: A deployment information acquisition module is used to obtain instance deployment information, cluster deployment information, available zone deployment information, and regional deployment information of the application to be evaluated; A deployment architecture determination module, configured to determine the number of available zones corresponding to the multiple deployment areas of the application to be evaluated and the number of instances corresponding to each of the available zones based on the instance deployment information, the cluster deployment information, the available zone deployment information, and the region deployment information; The deployment architecture evaluation module is used to determine whether the application to be evaluated meets the high availability requirement corresponding to the application type of the application to be evaluated based on preset evaluation criteria, the number of available zones and the number of instances.

9. An application high availability evaluation device, characterized in that: The device comprises: a memory, a processor, and an application high availability evaluation program stored in the memory and executable on the processor, wherein the application high availability evaluation program is configured to implement the steps of the application high availability evaluation method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores an application high availability evaluation program, and when the application high availability evaluation program is executed by the processor, the steps of the application high availability evaluation method according to any one of claims 1 to 7 are implemented.