TECHNICAL BACKGROUND

The use of cloud providers is becoming more prevalent. Entities from businesses to individuals typically pay cloud providers for the use of the providers' computing resources, such as computer processing, networking, and data storage resources. Using one or more cloud providers allows an entity to reduce or remove the need for the entity to acquire and maintain the resources that are otherwise provided by the cloud provider. For example, an entity with a network-based application may choose to host that application in a cloud provider rather than on the entity's own application servers. Additionally, cloud providers may allow an entity to easily scale their computing resources by providing computing resources on demand.

Likewise, many entities are now storing and managing databases in cloud providers. The current production version of a database and versions of the database captured over time may be stored in a cloud provider. As such, if a previous version of the database is to be restored, the restoration will need to occur in the same cloud provider.

Overview

The technology disclosed herein enables the restoration of a database version across cloud environments. In a particular embodiment, a method provides receiving, in a second cloud environment from a first cloud environment, first metadata describing a first data version stored in the first cloud environment. The first data version includes first data items and the first metadata. After receiving the first metadata, the method provides receiving, in the second cloud environment, an instruction to restore the first data items to the second cloud environment. In response to the instruction, the method provides restoring the first data items to the second cloud environment using the first metadata.

In some embodiments, restoring the first data items comprises, in the second cloud environment, obtaining the first data items from the first cloud environment and populating a database in the second cloud environment with the first data items.

In some embodiments, the method provides, in the first cloud environment, creating the first data version. In those embodiments, creating the first data version may comprise capturing a snapshot of the first data items from a database maintained in the first cloud environment.

In some embodiments, the first metadata indicates to the second cloud environment that the first data version is stored in the first cloud environment.

In some embodiments, the method provides, in the second cloud environment, creating a second data version including second data items and second metadata describing the second data version and storing the second data version in the second cloud environment. In those embodiments, the method may further provide transferring the second metadata to the first cloud environment. Also, in those embodiments, the method may provide, in the second cloud environment, receiving a request for the second data items from the first cloud environment, wherein the first cloud environment transfers the request to the second cloud environment in response to a second instruction to restore the second data items to the first cloud environment. The method may also provide transferring the second metadata to a third cloud environment.

In another embodiment, an apparatus is provided having one or more computer readable storage media and a processing system operatively coupled with the one or more computer readable storage media. Program instructions stored on the one or more computer readable storage media, when read and executed by the processing system, direct the processing system to receive first metadata describing a first data version stored in the first cloud environment. The first data version includes first data items and the first metadata. After receiving the first metadata, the program instructions direct the processing system to receive an instruction to restore the first data items to the second cloud environment and, in response to the instruction, restore the first data items to the second cloud environment using the first metadata.

In yet another embodiment, one or more computer readable storage media are provided. The one or more computer readable storage media having program instructions stored thereon that, when executed by a processing system in a second cloud environment, direct the processing system to receive first metadata describing a first data version stored in the first cloud environment. The first data version includes first data items and the first metadata. After receiving the first metadata, the program instructions direct the processing system to receive an instruction to restore the first data items to the second cloud environment and, in response to the instruction, restore the first data items to the second cloud environment using the first metadata.

