Cloud Services for Cross-Cloud Operations
The cloud service facilitates cross-cloud automation by using a P2P orchestrator and broker service to enable seamless communication and data routing, addressing inefficiencies in existing cloud environments and enhancing migration and data access.
Patent Information
- Application Number
- JP2024045810
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-10-31
- Filing Date
- 2024-03-22
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2040-10-29
AI Technical Summary
Existing cloud computing environments lack a standardized framework for cross-cloud automation, making instance migration and data access between different clouds inefficient, costly, and prone to errors.
A cloud service (CS) with a peer-to-peer (P2P) cloud orchestrator service (COS) and cloud broker service (CBS) enables cross-cloud access and execution of orchestrations, allowing seamless communication and data routing between different cloud environments, leveraging existing automations without modification.
Enables efficient, cost-effective, and error-reduced cross-cloud instance migration with minimal downtime and data loss, while ensuring security and regulatory compliance.
Smart Images

Figure 0007724320000001 
Figure 0007724320000002 
Figure 0007724320000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates generally to cloud computing, and more specifically to a cloud-to-cloud broker service that enables platform orchestration across multiple different clouds. [Background technology]
[0002] This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. As such, it should be read in this light, and not as admissions of prior art.
[0003] Organizations, regardless of size, depend on information technology (IT) and access to data and services for their ongoing operations and success. Each organization's IT infrastructure may have associated hardware resources (e.g., computing devices, load balancers, firewalls, switches, etc.) and software resources (e.g., productivity software, database applications, custom applications, etc.). Increasingly, more and more organizations are turning to cloud computing approaches to supplement or enhance their IT infrastructure solutions.
[0004] Cloud computing generally relates to the sharing of computing resources accessed over the Internet. In particular, cloud computing infrastructure allows users, such as individuals and / or businesses, to access a shared pool of computing resources, such as servers, storage devices, networks, applications, and / or other computing-based services. Doing so allows users to access computing resources located in remote locations on demand, which may be used to perform various computing functions (e.g., storing and / or processing large amounts of computing data). For businesses and other organizational users, cloud computing offers the flexibility of accessing cloud computing resources without incurring large upfront costs, such as purchasing expensive network equipment or investing significant time to establish a private network infrastructure. Instead, by utilizing cloud computing resources, users can redirect resources to focus on their businesses' core functions.
[0005] A data center, as contemplated herein, may include a number of hardware servers arranged in groups or pods that support the operation of a cloud computing environment. Each pod may host a suitable number of instances, which may include, for example, developer instances, production client instances, test client instances, shared or enterprise instances, etc. The life cycle of these instances may include allocation, replication / cloning, backup / restore, failover, etc. within the cloud computing environment. Accordingly, a cloud may include automation executed to manage the life cycle of hosted instances. As used herein, "automation" refers to orchestration that controls or otherwise maintains the instance life cycle. As used herein, "orchestration" refers to computer-executable or interpretable instructions (e.g., one or more scripts, workflows, sub-workflows, operations, sub-operations, and / or scheduled jobs) that, when executed by appropriate computing systems, perform management functions within a cloud environment. Thus, automation for a particular cloud generally includes reference to data and / or executable instructions hosted by the particular cloud.
[0006] Additionally, some cloud computing environments are associated with specific security restrictions. For example, a private cloud may have quarantine restrictions that specify that all data storage and processing occur within the private cloud for enhanced security and / or regulatory compliance. Additionally, some cloud computing environments offer different features, such as different hardware limitations, bandwidth limitations, and application frameworks. Therefore, as an organization's needs change, it may be desirable to migrate instances from one cloud computing environment to another. However, while automation is commonly used to handle instance lifecycle tasks, automation is specific to a particular cloud computing environment and therefore must be customized for each cross-cloud instance migration. Therefore, a need currently exists for a system for orchestrating the execution of automation across different cloud environments that can enable cross-cloud automation actions, such as cross-cloud instance migration. Summary of the Invention
[0007] A summary of certain embodiments disclosed herein is set forth below. It should be understood that these aspects are provided merely to provide the reader with a brief summary of these certain embodiments, and that these aspects are not intended to limit the scope of the disclosure. Indeed, the disclosure may encompass a variety of aspects that may not be set forth below.
[0008] The present embodiment is directed to a cloud service (CS) that enables cross-cloud access to data resources and cross-cloud execution of orchestrations, including automation. The CS includes a peer-to-peer (P2P) cloud orchestrator service (COS) and a cloud broker service (CBS). The COS enables P2P identification and communication routing between different cloud computing environments. In addition, the COS controls the operation of the CBS, which enables cross-cloud access to data and orchestrations (e.g., one or more scripts, workflows, and / or scheduled jobs) from different cloud computing environments. Additionally, a data center may be configured to route all of the data center's orchestration calls through the CS, such that the CS can ensure that references to local data and orchestrations are processed within the data center, while references to data and orchestrations from different data centers are appropriately routed to the corresponding CS in the appropriate data center for processing. Thus, existing automation defined within a cloud computing environment can be leveraged by the CS to enable cross-cloud operations without modification, providing significant gains in efficiency, cost savings, and error reduction. For example, well-established automation for instance allocation, replication / cloning, backup / restore, etc. within a cloud computing environment may be used with the disclosed CS to enable effective P2P, cross-cloud instance migration with minimal downtime, no data loss, and high migration stability. In addition, the CS can enable other cross-cloud operations, such as cross-cloud health monitoring. Furthermore, the CBS of the CS can be configured to limit local access to certain data and / or orchestration for enhanced security and / or regulatory compliance.
[0009] Various refinements of the above-described features may exist in connection with various aspects of the present disclosure. Additional features may also be incorporated into these various aspects. These refinements and additional features may exist individually or in any combination. For example, various features discussed below in connection with one or more of the illustrated embodiments may be incorporated alone or in any combination into any of the above-described aspects of the present disclosure. The brief summary provided above is intended only to familiarize the reader with certain aspects and contexts of embodiments of the present disclosure, without limitation to the subject matter recited in the claims.
[0010] The various aspects of the present disclosure may be better understood by reading the following detailed description and by reference to the drawings, in which: [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a block diagram of an embodiment of a cloud architecture in which embodiments of the present disclosure may operate. [Figure 2] FIG. 1 is a schematic diagram of an embodiment of a multi-instance cloud architecture in which embodiments of the present disclosure may operate. [Figure 3] FIG. 3 is a block diagram of a computing device utilized in a computing system such as may be present in FIG. 1 or FIG. 2 according to an embodiment of the present disclosure. [Figure 4] FIG. 1 illustrates an exemplary embodiment including two clouds each hosted by two data centers, each with a respective cloud service (CS) that enables cross-cloud access of data and instructions, according to aspects of the present disclosure. [Figure 5] 1 is a flow diagram illustrating an example embodiment of a cross-cloud instance migration automation process in which an instance is migrated from a first cloud to a second cloud using a CS, according to aspects of the present disclosure. [Figure 6]6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. [Figure 7] 6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. [Figure 8] 6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. [Figure 9] 6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. [Figure 10] 6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. [Figure 11] 6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. [Figure 12] 6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. [Figure 13] 6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. [Figure 14] 6 illustrates certain steps of the example cross-cloud instance migration automation of FIG. 5, in accordance with aspects of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0012] One or more specific embodiments are described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be understood that in the development of any such actual implementation, as in any engineering or design project, many implementation-specific decisions must be made to achieve the developer's particular goals, including compliance with system-related and enterprise-related constraints that may vary from implementation to implementation. Moreover, it should be understood that such a development effort may be complex and time-consuming, but would nevertheless be a routine undertaking of design, manufacturing, and production for those of ordinary skill in the art having the benefit of this disclosure.
[0013] As used herein, the term "computing system" refers to an electronic computing device, such as, but not limited to, a computer, virtual machine, virtual container, host, server, laptop, and / or mobile device, or multiple electronic computing devices that cooperate to perform the functions described as being performed on or by the computing system. As used herein, the term "medium" refers to one or more non-transitory computer-readable physical media that together store content described as being stored thereon. Embodiments may include non-volatile secondary storage, read-only memory (ROM), and / or random access memory (RAM). As used herein, the term "application" refers to one or more computing modules, programs, processes, workloads, threads, and / or sets of computing instructions executed by a computing system. Exemplary embodiments of an application include software modules, software objects, software instances, and / or other types of executable code.
[0014] As noted, automation is performed by data centers in cloud computing environments to manage instance life cycles. However, because automation is data center specific, there is no standardized framework by which a first data center hosting a first cloud can trigger the execution of automation by a second data center hosting a second cloud, or receive information about the performance of automation. Thus, while automations may be defined to handle life cycle operations within a data center or cloud (e.g., allocation, replication / cloning, backup / restore, and failover), they are not generally available to be called or accessed by another data center or cloud.
[0015] With the foregoing in mind, the present embodiment is directed to a cloud service (CS) that enables cross-cloud execution of automation. The CS includes a peer-to-peer (P2P) cloud orchestrator service (COS) and a cloud broker service (CBS). The COS enables P2P identification and communication routing between different cloud computing environments. The CBS enables cross-cloud access to data and orchestrations (e.g., one or more scripts, workflows, and / or scheduled jobs) from different cloud computing environments. Additionally, a data center may be configured to route all of the data center's orchestration calls through the CS, such that the CS can ensure that references to local data and orchestrations are processed within the data center, while references to data and orchestrations from different data centers are appropriately routed to be processed by the corresponding CS in the appropriate data center. Thus, existing automations defined within cloud computing environments can be leveraged by the CS to enable cross-cloud operations without modification, providing significant gains in efficiency, cost savings, and error reduction. For example, well-established automation for cloud computing environment allocation, replication / cloning, backup / restore, etc., may be used with the disclosed CS to enable peer-to-peer, cross-cloud instance migration with minimal downtime, no data loss, and high mobility stability. Additionally, the CS can enable other cross-cloud operations, such as cross-cloud health monitoring. Furthermore, the CBS of the CS can be configured to limit local access to certain data and / or orchestration for enhanced security and / or regulatory compliance.
[0016] With the foregoing in mind, the following figures relate to various types of generalized system architectures or configurations that may be utilized to provide services to organizations in a multi-instance framework and in which the present approach may be employed. Correspondingly, these system and platform examples may also relate to systems and platforms in which the techniques discussed herein may be implemented or otherwise utilized. Referring now to FIG. 1 , a schematic diagram of an embodiment of a cloud computing system 10 is shown in which embodiments of the present disclosure may operate. The cloud computing system 10 may include a client network 12, a network 14 (e.g., the Internet), and a cloud-based platform 16. In some implementations, the cloud-based platform 16 may be a configuration management database (CMDB) platform. In one embodiment, the client network 12 may be a local private network, such as a local area network (LAN), having various network devices, including, but not limited to, switches, servers, and routers. In another embodiment, the client network 12 represents an enterprise network, which may include one or more LANs, virtual networks, data centers 18, and / or other remote networks. As shown in FIG. 1, the client network 12 may be connected to one or more client devices 20A, 20B, and 20C such that the client devices can communicate with each other and / or with the network hosting the platform 16.Client devices 20 may be computing systems and / or other types of computing devices, commonly referred to as Internet of Things (IoT) devices, that access cloud computing services, for example, via a web browser application or through an edge device 22 that may act as a gateway between client devices 20 and platform 16. FIG. 1 includes an administration or administrator device, agent, or server, such as a discovery (Management, Measurement, and Discovery (MID)) server 24, that facilitates communication of data between the network hosting platform 16 and other external applications, data sources, services, and client network 12. Although not specifically shown in FIG. 1, client network 12 may also include a combination of connecting network devices (e.g., gateways or routers) or devices that implement a customer firewall or intrusion protection system.
[0017] For the illustrated embodiment, FIG. 1 shows client network 12 coupled to network 14. Network 14 may include one or more computing networks, such as other LANs, wide area networks (WANs), the Internet, and / or other remote networks, for transmitting data between client device 20 and the network hosting platform 16. Each computing network in network 14 may include wired and / or wireless programmable devices operating in the electrical and / or optical domain. For example, network 14 may include wireless networks, such as cellular networks (e.g., Global System for Mobile Communications (GSM)-based cellular networks), IEEE 802.11 networks, and / or other suitable radio-based networks. Network 14 may utilize any number of network communication protocols, such as Transmission Control Protocol (TCP) and Internet Protocol (IP). Although not explicitly shown in FIG. 1, network 14 may include various network devices, such as servers, routers, network switches, and / or other network hardware devices, configured to transfer data over network 14.
[0018] In FIG. 1 , the network hosting platform 16 may be a remote network (e.g., a cloud network) that can communicate with client devices 20 via client network 12 and network 14. The network hosting platform 16 provides additional computing resources to client devices 20 and / or client network 12. For example, by utilizing the network hosting platform 16, users of client devices 20 can build and run applications for various enterprise, IT, and / or other organizational functions. In one embodiment, the network hosting platform 16 is implemented in one or more data centers 18, each of which may correspond to a different geographic location. Each data center 18 includes multiple virtual servers 26 (also referred to herein as application nodes, application servers, virtual server instances, application instances, or application server instances), and each virtual server 26 may be implemented on a physical computing system, such as a single electronic computing device (e.g., a single physical hardware server) or across multiple computing devices (e.g., multiple physical hardware servers). Examples of virtual servers 26 include, but are not limited to, a web server (e.g., a unitary Apache installation), an application server (e.g., a unitary JAVA Virtual Machine), and / or a database server (e.g., a unitary Relational Database Management System (RDBMS) catalog).
[0019] To utilize computing resources within the platform 16, a network operator may choose to configure data centers 18 using a variety of computing infrastructures. In one embodiment, one or more of the data centers 18 are configured using a multi-tenant cloud architecture, such that one of the server instances 26 processes requests from and serves multiple customers. A data center 18 with a multi-tenant cloud architecture mixes and stores data from multiple customers, with multiple customer instances assigned to one of the virtual servers 26. In a multi-tenant cloud architecture, a particular virtual server 26 distinguishes and separates data and other information from various customers. For example, a multi-tenant cloud architecture may assign a specific identifier for each customer to identify and separate data from each customer. In general, implementing a multi-tenant cloud architecture may result in various drawbacks, such as a failure of a particular one of the server instances 26, resulting in an outage for all customers assigned to that particular server instance.
[0020] In another embodiment, one or more of the data centers 18 are configured using a multi-instance cloud architecture to provide every customer with their own one or more customer instances. For example, the multi-instance cloud architecture may provide each customer instance with a dedicated application server and a dedicated database server. In other examples, the multi-instance cloud architecture may deploy one physical or virtual server 26 and / or other combinations of physical and / or virtual servers 26, such as one or more dedicated web servers, one or more dedicated application servers, and one or more database servers, for each customer instance. In a multi-instance cloud architecture, multiple customer instances may be implemented on one or more respective hardware servers, and each customer instance may be allocated a portion of the physical server resources, such as computing memory, storage, and processing power. By doing so, each customer instance has its own software stack that provides the benefits of data isolation, relatively little downtime for customer access to the platform 16, and a customer-driven upgrade schedule. An example of implementing customer instances within a multi-instance cloud architecture is discussed in more detail below with reference to Figure 2.
[0021] FIG. 2 is a schematic diagram of an embodiment of a multi-instance cloud architecture 100 in which embodiments of the present disclosure may operate. FIG. 2 illustrates that the multi-instance cloud architecture 100 includes a client network 12 and a network 14, which are connected to two (e.g., paired) data centers 18A and 18B that are geographically separated from one another and may provide data replication and / or failover capabilities. Using FIG. 2 as an example, a network environment and service provider cloud infrastructure client instance 102 (also referred to herein as client instance 102) is associated with (e.g., supported and enabled by) dedicated virtual servers (e.g., virtual servers 26A, 26B, 26C, and 26D) and dedicated database servers (e.g., virtual database servers 104A and 104B). In other words, virtual servers 26A-26D and virtual database servers 104A and 104B are not shared with other client instances and are specific to each client instance 102. In the illustrated example, to facilitate availability of client instance 102, virtual servers 26A-26D and virtual database servers 104A and 104B are assigned to two different data centers 18A and 18B, whereby one of data centers 18 serves as a backup data center. Other embodiments of multi-instance cloud architecture 100 may include other types of dedicated virtual servers, such as web servers. For example, client instance 102 may be associated with (e.g., supported and enabled by) dedicated virtual servers 26A-26D, dedicated virtual database servers 104A and 104B, and additional dedicated virtual web servers (not shown in FIG. 2 ).
[0022] While FIGS. 1 and 2 illustrate specific embodiments of cloud computing system 10 and multi-instance cloud architecture 100, respectively, the disclosure is not limited to the specific embodiments illustrated in FIGS. 1 and 2. For example, while FIG. 1 illustrates platform 16 being implemented using a data center, other embodiments of platform 16 are not limited to data centers and may utilize other types of remote network infrastructure. Furthermore, other embodiments of the present disclosure may combine one or more different virtual servers into a single virtual server, or conversely, perform operations attributed to a single virtual server using multiple virtual servers. For example, using FIG. 2 as an example, virtual servers 26A, 26B, 26C, and 26D and virtual database servers 104A and 104B may be combined into a single virtual server. Furthermore, the present approach may be implemented in other architectures or configurations, including, but not limited to, multi-tenant architectures, general-purpose client / server implementations, and / or even in a single physical processor-based device configured to perform some or all of the operations discussed herein. Similarly, virtual servers or machines may be referenced for ease of discussion of the implementation, although physical servers may be utilized instead as appropriate. The use and discussion of Figures 1 and 2 are merely examples to facilitate ease of description and explanation and are not intended to limit the disclosure to the specific examples set forth herein.
[0023] As can be appreciated, each of the architectures and frameworks discussed with respect to Figures 1 and 2 incorporate various types of computing systems throughout (e.g., servers, workstations, client devices, laptops, tablet computers, mobile phones, etc.). For completeness, a brief, high-level overview of components typically found in such systems is provided. As can be appreciated, this overview is intended merely to provide a high-level, generalized view of components typical in such computing systems and should not be considered limiting in terms of the components discussed or omitted from the discussion.
[0024] By way of background, it may be understood that the present approach may be implemented using one or more processor-based systems, such as that shown in FIG. 3. Similarly, applications and / or databases utilized in the present approach may be stored, utilized, and / or maintained in such processor-based systems. As may be appreciated, such a system as shown in FIG. 3 may exist in a distributed computing environment, a networked environment, or other multi-computer platform or architecture. Similarly, a system such as that shown in FIG. 3 may be used to support or communicate with one or more virtual environments or computing instances in which the present approach may be implemented.
[0025] With this in mind, an exemplary computer system may include some or all of the computer components illustrated in Figure 3. Figure 3 generally illustrates a block diagram of exemplary components of a computing system 200 and their potential interconnections or communication paths, such as along one or more buses. As shown, computing system 200 may include various hardware components, such as, but not limited to, one or more processors 202, one or more buses 204, memory 206, input devices 208, a power supply 210, a network interface 212, a user interface 214, and / or other computer components that aid in performing the functions described herein.
[0026] The one or more processors 202 may include one or more microprocessors capable of executing instructions stored in memory 206. In some embodiments, instructions may be pipelined from the execution stack of each process in memory 206 and stored in an instruction cache of one or more processors 202 for faster and more efficient processing. Additionally or alternatively, the one or more processors 202 may include an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and / or other device designed to perform some or all of the functions discussed herein without calling instructions from memory 206.
[0027] With respect to the other components, the one or more buses 204 include appropriate electrical channels for providing data and / or power between the various components of the computing system 200. The memory 206 may include any tangible, non-transitory, computer-readable storage medium. While illustrated as a single block in FIG. 3, the memory 206 may be implemented using multiple physical units of the same or different types in one or more physical locations. The input device(s) 208 correspond to structures for inputting data and / or commands to the one or more processors 202. For example, the input device(s) 208 may include a mouse, a touchpad, a touchscreen, a keyboard, etc. The power source 210 may be any power source suitable for powering the various components of the computing device 200, such as line power and / or battery power. The network interface 212 includes one or more transceivers capable of communicating with other devices over one or more networks (e.g., communication channels). The network interface 212 may provide a wired or wireless network interface. The user interface 214 may include a display configured to display text or images transmitted from the one or more processors 202. In addition to and / or instead of a display, the user interface 214 may include other devices for interfacing with a user, such as lights (e.g., LEDs), speakers, etc.
[0028] With the foregoing in mind, FIG. 4 illustrates an exemplary embodiment including two service provider cloud-based platforms 16A and 16B, sometimes referred to herein simply as “clouds.” As discussed above, each cloud 16A and 16B is hosted by appropriate processing and storage resources associated with a respective data center 18A and 18B. In addition, each data center 18 hosts multiple instances 102, such as client instances, corporate or shared instances, test instances, and developer instances. Each instance 102 includes virtual servers 26 and virtual database servers 104 that support the operation of each instance, as discussed above. For example, instance 102A is a client instance that hosts a configuration management database (CMDB) that stores configuration items (CIs) for resources and assets associated with the client. Thus, instance 102A is generally configured to simultaneously support multiple end user devices, such as client devices 20, each of which communicates with client instance 102A via client network 12 and / or network 14. Cloud 16 may be configured to support any suitable number of simultaneous instances.
[0029] In the illustrated embodiment, each cloud 16A and 16B is supported or hosted by a data center 18A and 18B, respectively. In other embodiments, each cloud 16A and 16B is hosted by multiple different data centers 18, each of which may be located in a different geographic location. Additionally, in some embodiments, the data centers 18 may be further subdivided into groups of hardware servers called "pods." The clouds 16 may be hosted by or associated with different cloud-based enterprises, companies, services, or technologies. Each data center (or each pod in each data center, depending on the data center organization) stores automations 220 responsible for managing the life cycle of the hosted instances 102. These automations 220 may be defined in one or more orchestrations 222 (e.g., workflows 224, scripts 226, and / or scheduled jobs 228) that are executed by appropriate processing circuitry in the data center 18 to create, maintain, and remove each hosted client instance 102. For example, automations 220 may be defined to handle resource allocation when creating new instances, manage instance duplication / cloning, manage same-cloud instance migration, back up / restore instance database servers, manage virtual server and / or database server failover, handle instance termination, manage instance resource release or reallocation after instance termination, etc. Absent this disclosure, these automations 220 would be executed independently by each data center 18A and 18B to manage instances 102 of their respective clouds 16A and 16B, and therefore, cloud 16B and data center 18B would not be able to access or trigger the execution of automations 220 defined in cloud 16A and data center 18A.Therefore, in the absence of this disclosure, cross-cloud instance life cycle operations such as cross-cloud instance migration would not be possible.
[0030] With the foregoing in mind, the present embodiment is directed to cloud services (CSs) that enable cross-cloud data exchange and cross-cloud execution of automation. In the illustrated embodiment, data center 18A and data center 18B host respective CSs 230. In embodiments in which data centers 18A or 18B are organized into pods, each pod in the data center may host a respective CS 230. Each CS 230 includes a respective peer-to-peer (P2P) cloud orchestrator service (COS) 232 and cloud broker service (CBS) 234. As discussed below, COSs 232 enable P2P identification and communication routing between data centers 18 over appropriate networks 14. That is, the COS 232 of data center 18A and the COS 232 of data center 18B enable clouds 16A and 16B to identify each other and other communication-bound peer clouds and establish appropriate communication routes (e.g., encrypted, P2P Internet Protocol (IP) channels) between data centers 18A and 18B. For example, when data center 18A wants data center 18B to execute an automation in cloud 16B, the COS 232 of data center 18A may identify the COS 232 of data center 18B as hosting cloud 16B with the desired automation. In one embodiment, the COS 232 of data center 18A may provide a unicast query to the COS 232 of data center 18B to determine whether resources (e.g., data, database queries, orchestrations) are available to be accessed or executed via the CBS 234 of data center 18B.In embodiments where there are multiple peer clouds in the P2P network maintained by the COS 232 of each data center 18, the COS 232 of the data center 18 may send a multicast query to all connected data centers hosting each peer cloud and may then receive a response from the appropriate data center / cloud hosting the resource of interest. In such embodiments, the COS 232 of each data center 18 may maintain a collection of information about the peer clouds, such as unique identifiers, IP addresses or universal resource identifiers (URIs), routing tables, authentication credentials, etc., to enable operation of the P2P network between the COS 232 of each data center 18 hosting these peer clouds. It may be understood that in some embodiments, communications between the CS 230 of data center 18A and the CS 230 of data center 18B may include representational state transfer (REST) messages, simple object access protocol (SOAP) messages, or messages in any other suitable style, format, or protocol.
[0031] In the illustrated embodiment, the COS 232 controls the operation of the CBS 234, which enables cross-cloud access to data and instructions, such as orchestrations 222 and automations 220, across the clouds 16 via the network 14. In some embodiments, the CBS 234 may be a customized CITRUS client or another suitable enterprise application integration (EAI) platform. In the illustrated embodiment, automations 220 associated with the instance life cycle, i.e., orchestrations 222 (e.g., workflows 224, scripts 226, and / or scheduled jobs 228), are executed through the CBS 234. Additionally, the CBS 234 seamlessly determines whether an automation executes within a specific cloud or represents a cross-cloud operation. In other words, the CBS 234 abstracts both local and remote data and instructions (e.g., orchestrations, automations), making the automations 220 unaware of whether they are executing locally or remotely. By implementing CBS 234 in this manner, previously unavailable cross-cloud operations can be implemented using established and tested local automation 220 already defined within cloud 16 without modifying it, significantly reducing development and debugging costs. Additionally, as noted, if cloud isolation is desired, CBS 234 can be configured to block or prevent certain data or instructions from being accessed by peer clouds while still allowing local access to the data or instructions within the isolated cloud.
[0032] During operation of the illustrated embodiment, when execution of script 226 of automation 220 is requested by data center 18A, the instructions to be executed are provided to CBS 234 of data center 18A for analysis. If script 226 of automation 220 contains only references to resources (e.g., data and / or instructions) stored in cloud 16A, CBS 234 executes the script locally within data center 18A. However, if script 226 references data or instructions hosted by cloud 16B, CBS 234 routes the request for the resources to data center 18B. In one embodiment, if automation 220 executed by data center 18A includes a request to access data hosted by data center 18B (e.g., a create, read, update, or delete (CRUD) request), CBS 234 of data center 18A may send the appropriate request to CBS 234 of cloud 16B to access the data based on routing information stored by COS 232 of clouds 16A and 16B. CBS 234 of cloud 16B may then respond by providing the requested data to CBS 234 of cloud 16A, assuming CBS 234 of cloud 16B is not restricted from exporting the requested data. In one embodiment, when an automation executing in cloud 16A requests execution of an automation hosted by cloud 16B, CBS 234 of cloud 16A may send a request to the CBS of cloud 16B to execute the automation and may receive results (e.g., output data, status information, error information, etc.) from the CBS of cloud 16B generated by the execution of the requested automation in data center 18B.
[0033] FIG. 5 is a flow diagram illustrating an example embodiment of cross-cloud instance migration automation 250, which defines a cross-cloud migration process for moving an instance from a first cloud to a second cloud while leveraging existing automation defined within the clouds. Additionally, FIGS. 6-14 illustrate specific steps of the example cross-cloud instance migration automation 250 of FIG. 5 . Accordingly, the examples of FIGS. 6-14 generally describe how the CS 230 of cloud 16A and the CS 230 of cloud 16B cooperate to allocate resources, migrate data, install nodes, redirect traffic, and release resources within cloud 16. This example cross-cloud instance migration automation 250 is provided merely as an example of the benefits of the disclosed CS 230 and is not intended to be limiting. Indeed, in other embodiments, cross-cloud instance migration automation 250 may be implemented using a CS 230 having fewer steps, additional steps, repeated steps, etc., in accordance with the present disclosure. In this example, it can be understood that while CS 230 in data center 18B performs cross-cloud instance migration automation 250, portions (e.g., sub-automations) of cross-cloud instance migration automation 250 may be performed by CS 230 in each of data centers 18A or 18B in a local or cross-cloud manner, as discussed below. For added clarity, the blocks in FIG. 5 include an indication of which data center 18 performs various steps of cross-cloud instance migration automation 250.
[0034] To facilitate discussion of the cross-cloud instance migration automation 250 of FIG. 5, FIG. 6 illustrates a data center 18A (also referred to in this example as source data center 18A) hosting a cloud 16A (also referred to in this example as source cloud 16A) that includes a client instance 102A (also referred to in this example as source instance 102A). As discussed with respect to FIG. 2, the client instance 102A includes multiple virtual servers 26 (e.g., application servers) and database servers 104, including a primary database server 104A and a secondary database server 104B. Similarly, the data center 18B (also referred to in this example as target data center 18B) hosts a cloud 16B (also referred to in this example as target cloud), which may include any suitable number of instances (not shown).
[0035] As shown in FIG. 6, during operation, CS 230 in data center 18B receives a request from administrator 252 to execute cross-cloud instance migration automation to move client instance 102A from cloud 16A and data center 18A to cloud 16B and data center 18B. Cross-cloud instance migration automation 250 includes references or calls to other automations 220 hosted by data center 18A and data center 18B, which are designed to handle resource allocation, instance replication / cloning, data backup / restore, failover, etc. locally for instances in clouds 16A and 16B, as discussed above. In the illustrated example, COS 232 hosted by data center 18B determines that data center 18A hosts automation 220 used by the requested cross-cloud instance migration automation and provides CBS 234 of data center 18B with the appropriate information to communicate with data center 18A, as discussed above. In response to receiving the request to perform the cross-cloud instance migration automation, CBS 234 of data center 18B begins execution of cross-cloud instance migration automation 250, as illustrated by cross-cloud instance migration automation 250 in FIG. 5. As discussed above, data center 18B is the instigator of the cross-cloud automation process that takes place, with portions of this process being performed locally by data center 18B, while other portions are performed remotely, in this example, by data center 18A.
[0036] Referring to FIG. 5, an exemplary embodiment of cross-cloud instance migration automation 250 begins by scheduling and queuing a migration (block 254). For example, as shown in FIG. 6, CBS 234 of data center 18B executes a scheduling automation to schedule a time for the migration to begin and to queue the migration when the scheduled time arrives. Because this scheduling automation involves only resources local to data center 18B, CBS 234 of data center 18B executes the scheduling automation locally without accessing or involving data center 18A. As described above, the scheduling automation stored and executed by data center 18B may be an existing automation designed to schedule lifecycle tasks for instances hosted by data center 18B, and this existing automation can be leveraged by the exemplary cross-cloud instance migration automation without modification.
[0037] Continuing with the example cross-cloud instance migration automation 250 of FIG. 5, after scheduling and queuing the migration at block 254, the CBS 234 of data center 18B may proceed by verifying the source instance (block 256). For example, as shown in FIG. 7, the CBS 234 of data center 18B executing the cross-cloud instance migration automation 250 then receives an instruction to execute the instance verification automation hosted by data center 18A. As discussed above, the CBS 234 of data center 18B sends an instruction to execute the instance verification automation to the CBS 234 of data center 18A. Because execution of this instance verification automation involves only resources local to data center 18A and cloud 16A, the CBS 234 of data center 18A executes the instance verification automation locally for instance 102A. Upon completion of execution of the instance validation automation, the CBS 234 of data center 18A sends the results of the execution (e.g., success / failure indication, configuration / capacity information) to the CBS 234 of data center 18B that triggered the remote execution of the instance validation automation. In the event that data center 18B receives an indication that the instance 102 failed validation, the CBS 234 of data center 18B may abort execution of the cross-cloud instance migration automation 250 and log the failed validation for later administrator review. As described above, the instance validation automation stored and executed by data center 18A may be an existing automation designed for instance validation within cloud 16A that can be leveraged by the exemplary cross-cloud instance migration process without modification.
[0038] Continuing with the example cross-cloud instance migration automation 250 of FIG. 5, once the source instance 102A is identified in block 256, the CBS 234 of data center 18A may allocate resources to create a new instance 102B (also referred to herein as the target instance 102B) hosted by cloud 16B (block 258). For example, as shown in FIG. 8, the CBS 234 of data center 18A may perform capacity acquisition automation to allocate resources in data center 18A to host the instance 102A in cloud 16B. In the illustrated example, instance 102A includes four virtual servers 26 and database servers 104A and 104B. Accordingly, the CBS 234 of data center 18B may locally perform capacity acquisition automation to allocate the virtual servers 26 and database servers 104C and 104D within the newly defined target instance 102B in cloud 16B. In some embodiments, data center 18B may receive information regarding the capacity of client instance 102A as part of a response received from execution of the instance confirmation automation by data center 18A, as discussed with respect to block 256 and FIG. 6. In other embodiments, before executing the capacity acquisition automation, CBS 234 of data center 18B may first call a capacity determination automation to be executed locally by CBS 234 of data center 18A, which may respond by providing the capacity information to CBS 234 of data center 18B. As described above, the capacity acquisition automation stored and executed by data center 18A and the capacity determination automation stored and executed by data center 18B may be existing automations designed to determine or acquire capacity in clouds 16A and 16B, respectively, and these local automations may be leveraged by the exemplary cross-cloud instance migration process without modification.
[0039] Continuing with the example cross-cloud instance migration automation 250 of FIG. 5, after allocating instance resources in block 258, the CBS 234 of data center 18B may arrange for migration at the source data center 18A (block 260). For example, as shown in FIG. 9, the CBS 234 of data center 18B may call execution of a migration management automation by the source data center 18A, the call including specific parameters for the migration. For example, the CBS 234 of data center 18B may provide the CBS 234 of data center 18A with the time window during which the migration will occur and the IP address or universal resource identifier (URI) of the target instance 102B. Using the received parameters, the CBS 234 of data center 18A may execute the migration management automation, which provides information to administrators and users of instance 102A regarding the scheduled downtime and the IP address or URI for accessing instance 102B after the migration is complete. Additionally, the CBS 234 at data center 18A may locally perform lock instance automation on the instance 102A to prevent changes to the structure or configuration of the instance 102A (e.g., the number of virtual servers 26, the structure of the data stored by the database server 104). Although the instance 102A is locked to prevent configuration changes within the source instance 102A, the instance may remain active, allowing users to normally access the virtual servers 26 and access / modify the data stored by the database servers 104A and 104B. Furthermore, in some embodiments, the CBS 234 at data center 18A may perform a more thorough validation of the source instance 102A as part of the migration management automation and may provide the CBS 234 at data center 18B with more detailed information regarding the capacity and configuration of the source instance 102A.As described above, the migration management automation and lock instance automation stored and executed by data center 18A may be existing automation designed to schedule migrations or lock instances within cloud 16A, and these automations can be leveraged by the exemplary cross-cloud instance migration process without modification.
[0040] Continuing with the example cross-cloud instance migration automation 250 of FIG. 5 , after scheduling the migration at the source data center 18A in block 260, the CBS 234 at data center 18B may continue to configure the target instance 102B (block 262). For example, as shown in FIG. 10 , the CBS 234 at data center 18B may locally run capacity verification automation to verify that the resources pre-allocated to instance 102B are sufficient to migrate instance 102A. Once capacity is verified, the CBS 234 at data center 18B may locally run lock instance automation to prevent undesired changes to the structure or configuration of instance 102B while it is being configured. Additionally, the CBS 234 at data center 18B may run install instance automation to install and configure the virtual server 26 of the target instance 102B based on the installation and configuration of the virtual server 26 of the source instance 102A. However, because the data stored by database servers 104A and 104B of source instance 102 has not yet been transferred to target instance 102B, virtual server 26 of target instance 102B is initially directed during installation to use data stored on primary database server 104A of source instance 102A, as shown in Figure 10. Although shown as separate communication paths in Figure 10, in one embodiment, data requests from virtual server 26 of target instance 102B to database server 104 of source instance 102A may be routed through CBS 234 of data centers 18A and 18B in a seamless manner, as discussed above.As described above, the capacity verification automation, lock instance automation, and install instance automation stored and executed by data center 18B may be existing automation designed to verify capacity, lock instances, or install virtual servers within cloud 16B, and these local automations can be leveraged by the exemplary cross-cloud instance migration process without modification.
[0041] Continuing with the example cross-cloud instance migration automation 250 of FIG. 5, after configuring the target instance 102B in block 262, the CBS 234 of data center 18B may continue with the backup and restore step (block 264). For example, as shown in FIG. 11, the CBS 234 of data center 18B executing the cross-cloud instance migration automation 250 sends appropriate instructions to the CBS 234 of data center 18A requesting that a database backup automation be performed. In response, the CBS 234 of data center 18A locally executes the database backup automation, which generates a backup copy 266, or snapshot, of the data stored by the secondary database server 104B. Upon receiving an indication that the backup automation execution was successful and the location (e.g., URI) of backup copy 266, CBS 234 in data center 18B executes database restore automation, which appends the data from backup copy 266 to database servers 104A and 104B of target instance 102B. During this database restore automation execution, CBS 234 in source data center 18A seamlessly routes the data from backup copy 266 to CBS 234 in target data center 18B, as described above, enabling the execution of database restore automation at target data center 18B. As described above, the database backup automation stored and executed by data center 18A and the database restore automation stored and executed by data center 18B may be existing automation designed to back up or restore data in clouds 16A and 16B, respectively, and these local automations may be leveraged by the exemplary cross-cloud instance migration process without modification.
[0042] Continuing with the example cross-cloud instance migration automation 250 of FIG. 5, after performing the backup and restore of block 264, the CBS 234 of data center 18B may continue to set up replication at the target data center 18B (block 268). As mentioned, in one embodiment, the source instance 102A may remain active up to this point in the cross-cloud instance migration automation 250 in terms of providing users with access to the services and data hosted by the virtual server 26 and database servers 104A and 104B of the source instance 102A. Thus, as shown in FIG. 12, during the replication step, the CBS 234 of data center 18B may send instructions to the CBS 234 of data center 18A requesting local execution of database lock automation that prevents further changes to the data stored by the database servers 104A and 104B of the source instance 102A. Additionally, as shown in FIG. 12, the CBS 234 at data center 18B executes a database verification automation with parameters indicating that the data source is the secondary database server of source instance 102A and the data target is the primary and secondary database servers 104A and 104B of target instance 102B. For example, during execution of this database verification automation, the CBS 234 at data center 18B may request that the CBS 234 at data center 18A execute a comparison automation locally, which compares the data currently stored by database server 104B of source instance 102A with the backup copy 266 (discussed in connection with block 264 and FIG. 11). In response to the CBS 234 at data center 18A executing this automation, the CBS 234 at data center 18B may receive an output indicating all of the changes to the data (e.g., data entries, data modifications) that have occurred since the backup and restore operation of block 264.Using the received data, the CBS 234 at data center 18B may perform database update automation, which updates the data stored by the secondary database server 104B of the target instance 102B. Finally, during this replication setup step, the CBS 234 at data center 18B may locally perform database replication setup automation, which updates the primary database server 104A of the target instance 102B using the secondary database server 104B, and then establishes ongoing replication operations between the primary database server 104A and the secondary database server 104B, as discussed above with respect to FIG. As described above, the database lock automation and comparison automation stored and executed by data center 18B, and the database verification automation, database update automation, and database replication setup automation stored and executed by data center 18B may be existing automations designed to lock, compare, verify, update, and replicate databases of instances within clouds 16A and 16B, respectively, and these local automations can be leveraged by the exemplary cross-cloud instance migration process without modification.
[0043] Continuing with the example cross-cloud instance migration automation 250 of FIG. 5, after setting up replication in the target instance 102B in block 268, the CBS 234 of data center 18B may subsequently cut over the virtual server 26 of the source instance 102A (block 270). For example, as shown in FIG. 13, the CBS 234 of data center 18B may provide instructions to the CBS 234 of data center 18A requesting execution of a cutover automation, including parameters indicating the primary database server 104A of the target instance 102B as the data source. In response, the CBS 234 of data center 18A executes the cutover automation locally, and the cutover automation redirects the virtual server 26 of the source instance 102A to use the primary database server 104A of the target instance 102B. Thus, after performing the cutover automation, all operations of the virtual server 26 of the source instance 102A are performed using data stored by the database server 104A of the target instance 102B. The CBS 234 of data center 18B may also locally perform cutover automation to redirect the virtual server 26 of the target instance 102B to use the primary database server 104A of the target instance 102B. Although shown as separate communication paths, in one embodiment, data requests from the virtual server 26 of the source instance 102A to the database server 104A or 104B of the target instance 102B may be routed through the CBS 234 of data centers 18A and 18B in a seamless manner, as discussed above.As described above, the cutover automation stored and executed by data centers 18A and 18B may be pre-existing automation designed to cutover virtual servers 26 between instances in clouds 16A or 16B, respectively, and this local automation can be leveraged by the exemplary cross-cloud instance migration process without modification.
[0044] Continuing with the example cross-cloud instance migration automation 250 of FIG. 5, after performing the cutover of block 270, the CBS 234 of data center 18B may continue to perform post-migration cleanup of the source instance 102A (block 272). For example, as shown in FIG. 14, the CBS 234 of data center 18B may provide instructions to the CBS 234 of data center 18A requesting execution of an instance cleanup automation, and may provide parameters indicating the source instance 102A. In response, the CBS 234 of data center 18A may locally execute the instance cleanup automation, which may disable the source instance 102A and reclaim its resources (e.g., virtual server 26, database server 104, and corresponding memory and processing resources) for later allocation to other instances hosted by data center 18A. In some embodiments, the instance cleanup automation may perform other post-migration activities, such as setting up notifications or redirecting users requesting access to the retired source instance 102A to the target instance 102B, data center 18B, and / or cloud 16B at that point. In some embodiments, the CBS 234 in data center 18B may perform instance verification automation before requesting execution of the instance cleanup automation, which ensures that the source instance 102A and the target instance 102B are substantially the same before the source instance 102A was retired. In some embodiments, the CBS 234 in data center 18B may access information about the source instance 102A through the CBS 234 in data center 18A.As described above, the instance cleanup automation stored and executed by data center 18A and the instance verification automation stored and executed by data center 18B may be pre-existing automation designed to clean up or verify instances within cloud 16A or 16B, respectively, and these local automations may be leveraged by the exemplary cross-cloud instance migration process without modification.
[0045] The technical effect of the present disclosure includes a cloud service (CS) that enables cross-cloud access to data and cross-cloud execution of orchestrations (e.g., scripts, workflows, and / or scheduled jobs). The CS includes a peer-to-peer (COS) and a cloud server (CBS). The COS enables peer-to-peer identification and communication routing between different cloud computing environments, while the CBS enables cross-cloud access to data and orchestrations from different cloud computing environments. Data centers may be configured to route all orchestration calls through the CS, such that the CS can ensure that references to local data and orchestrations are processed within the data center, while references to data and orchestrations from different data centers are appropriately routed to be processed by the corresponding CS in the appropriate data center. Thus, existing automation defined within a cloud computing environment can be leveraged by the CS to enable cross-cloud operations without modification, providing significant gains in efficiency, cost savings, and error reduction. For example, well-established local automation for cloud computing environment allocation, replication / cloning, backup / restore, etc., using the disclosed CS may be used to enable effective P2P, cross-cloud migration with minimal downtime, no data loss, and high mobility stability. Additionally, the CS can enable other cross-cloud operations, such as cross-cloud health monitoring. Furthermore, the CBS of the CS can be configured to limit local access to certain data and / or orchestration for enhanced security and / or regulatory compliance.
[0046] It should be understood that the specific embodiments described above are shown by way of example, and that these embodiments may be subject to various modifications and alternative forms. The claims are not intended to be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the disclosure.
[0047] The technology provided and claimed herein refers to and applies to material objects and specific examples of a practical nature that demonstrably improve the art, and is therefore not abstract, intangible, or purely theoretical. Furthermore, if any claim appended at the end of this specification contains one or more elements designated as "means for [performing] [a function]" or "steps for [performing] [a function]," it is intended that such elements be construed under 35 U.S.C. 112(f). However, in the case of any claim containing elements designated in any other format, it is not intended that such elements be construed under 35 U.S.C. 112(f).
Claims
1. 1. A system including a first group of servers hosting a first cloud, the first server group, a processing circuit; Memory and Including, the memory stores instructions for a first cloud service (CS) that, when executed by the processing circuitry, cause the processing circuitry to perform an operation; The operation establishing a peer-to-peer communication channel between the first CS of the first server group and a second CS of a second server group, the second server group hosting a second cloud having a source instance to be migrated to a target instance of the first cloud; performing at least a portion of cross-cloud instance migration automation by the first CS of the first server group; Including, The cross-cloud instance migration automation includes: allocating, by the first CS of the first server group, one or more virtual servers and one or more database servers of the target instance in the first server group; installing and configuring, by the first CS of the first server group, one or more virtual servers of the target instance based on the configuration of one or more virtual servers of the source instance; restoring, by the first CS of the first server group, a backup copy of the data of the source instance to the first server group of the target instance; sending, by the first CS of the first server group, a command to prevent any changes to source instance data stored in the second server group after restoring the backup copy of the data of the source instance to the first server group of the target instance; Including, the system.
2. 2. The system of claim 1, wherein the second server group is configured to prevent any changes to the configuration of the one or more virtual servers while the cross-cloud instance migration automation is occurring.
3. 2. The system of claim 1, wherein the one or more virtual servers are configured to use source instance data stored on the second server group before the backup copy of the data of the source instance is restored to the first server group of the target instance.
4. 2. The system of claim 1, wherein the cross-cloud instance migration automation includes sending, by the first CS of the first server group, a command to generate the backup copy of the data of the source instance to the second server group after installing and configuring the one or more virtual servers of the target instance.
5. 2. The system of claim 1, wherein the operations include transmitting timing data indicating a time window during which the cross-cloud instance migration automation is expected to occur by the second server group.
6. 6. The system of claim 5, wherein the second CS of the second server group is configured to, after receiving the timing data indicating the period, provide an indication of downtime of the source instance to one or more user devices associated with the source instance.
7. Establishing a peer-to-peer communication channel between a first cloud service (CS) of a first server group and a second CS of a second server group, the first server group hosting a first cloud having a target instance and the second server group hosting a second cloud having a source instance to be migrated to the target instance of the first cloud; performing cross-cloud instance migration automation by the first CS of the first server group and the second CS of the second server group; A method comprising: The cross-cloud instance migration automation includes: allocating, by the first CS of the first server group, one or more virtual servers and one or more database servers of the target instance in the first server group; installing and configuring, by the first CS of the first server group, one or more virtual servers of the target instance based on the configuration of one or more virtual servers of the source instance; After installing and configuring the one or more virtual servers of the target instance by the first CS of the first server group, sending a command to the second server group to generate a backup copy of data of the source instance; restoring, by the first CS of the first server group, the backup copy of the data of the source instance to the first server group of the target instance; A method comprising:
8. The method of claim 7 , wherein the cross-cloud instance migration automation includes disabling the source instance by the second CS of the second server group.
9. 8. The method of claim 7, wherein the cross-cloud instance migration automation includes preventing any changes to source instance data stored in the second server group after restoring, by the second CS of the second server group, the backup copy of the data of the source instance to the first server group of the target instance.
10. 10. The method of claim 9, wherein the cross-cloud instance migration automation includes comparing, by the second CS of the second server group, the source instance data stored in the second server group with the backup copy of the data of the source instance.
11. 8. The method of claim 7, wherein the cross-cloud instance migration automation includes receiving, by the first CS of the first server group, one or more indications of respective changes made to the source instance data based on a comparison between source instance data stored in the second server group and the backup copy of the data of the source instance.
12. 12. The method of claim 11, wherein the cross-cloud instance migration automation includes updating the backup copy of the data of the source instance stored on the first server group based on the one or more indications of the respective changes made to the source instance data.
13. one or more non-transitory computer-readable media that collectively store at least instructions for a first cloud service (CS) executable by processing circuitry of a first group of servers hosting the first cloud; The instructions, when executed by the processing circuit, cause the processing circuit to perform an operation; The operation establishing a peer-to-peer communication channel between the first CS of the first server group and a second CS of a second server group, the second server group hosting a second cloud having a source instance to be migrated to a target instance of the first cloud; performing at least a portion of cross-cloud instance migration automation by the first CS of the first server group; Including, The cross-cloud instance migration automation includes: scheduling a time for the first CS of the first server group to migrate the source instance of the second cloud to the target instance of the first cloud; allocating, by the first CS of the first server group, one or more virtual servers and one or more database servers of the target instance in the first server group; installing and configuring, by the first CS of the first server group, one or more virtual servers of the target instance based on the configuration of one or more virtual servers of the source instance; restoring, by the first CS of the first server group, a backup copy of data of the source instance to the first server group of the target instance; [0023] 1. One or more non-transitory computer-readable media, including:
14. 14. The one or more non-transitory computer-readable media of claim 13, wherein the cross-cloud instance migration automation includes receiving, by the first CS of the first server group, capacity data indicative of capacity information from the second server group.
15. 15. The one or more non-transitory computer-readable media of claim 14, wherein the one or more virtual servers and the one or more database servers of the target instance are allocated based on the capacity data indicative of the capacity information.
16. 14. The one or more non-transitory computer-readable media of claim 13, wherein the cross-cloud instance migration automation includes validating the source instance of the second cloud with the first CS of the first server group.
17. validating the source instance, sending, by the first CS of the first server group, a request to perform instance verification automation of the source instance to the second server group; receiving, by the first CS of the first server group, result data indicative of one or more results of execution of the instance validation automation from the second server group; 20. The one or more non-transitory computer-readable media of claim 16, comprising:
18. 20. The one or more non-transitory computer-readable media of claim 17, wherein the result data indicative of the one or more results of the execution of the instance verification automation comprises: a first data set indicative of successful verification of the source instance; a second data set indicative of unsuccessful verification of the source instance; a third data set indicative of configuration information associated with the source instance; or a fourth data set indicative of capacity information associated with the source instance, or a combination thereof.
19. One or more non-transitory computer-readable media as described in claim 13, wherein the cross-cloud instance migration automation includes sending a command by the first CS of the first server group to prevent any changes to source instance data stored in the second server group after restoring the backup copy of the data of the source instance to the first server group of the target instance.
20. The method of claim 7, wherein the cross-cloud instance migration automation includes scheduling a time for the first CS of the first server group to migrate the source instance of the second cloud to the target instance of the first cloud.
Citation Information
Patent Citations
System and method for cooperating resource
JP2011186637A
Information processing system, control program, and control method
JP2015118436A
Network control device, communication system, network control method, and network control program
JP2015156585A
Cloud service system, control device, method and program
JP2017111623A
Live migration of virtual computing instances between data centers
US20180060117A1