PREPARING CONTAINERIZED APPLICATIONS FOR BACKUP USING A BACKUP SERVICES CONTAINER IN A CONTAINER-ORCHESTRATION POD
A “backup services container” comprises “backup toolkits,” which include scripts for accessing containerized applications plus enabling utilities/environments for executing the scripts. The backup services container is added to Kubernetes pods comprising containerized applications without changing other pod containers. For maximum value and advantage, the backup services container is “over-equipped” with toolkits. The backup services container selects and applies a suitable backup toolkit to a containerized application to ready it for a pending backup. Interoperability with a proprietary data storage management system provides features that are not possible with third-party backup systems. Some embodiments include one or more components of the proprietary data storage management within the illustrative backup services container. Some embodiments include one or more components of the proprietary data storage management system in a backup services pod configured in a Kubernetes node. All configurations and embodiments are suitable for cloud and/or non-cloud computing environments.
1 . A computer-implemented method for using a backup services container comprising:
generating a first container that is based on an operating system-level virtualization service, wherein the first container comprises: (i) executable discovery logic, (ii) a plurality of executable scripts and corresponding enabling utilities for executing the scripts, wherein each script is configured to prepare for backup one or more corresponding applications, and (iii) executable selection logic;
adding the first container to a container-orchestration pod that comprises one or more other containers comprising one or more containerized applications, wherein components of the container-orchestration pod, including the first container and the one or more other containers, run on a computing environment comprising at least one hardware processor and computer memory;
by the discovery logic that executes in the first container, based on an indication that a backup operation has been triggered, identifying at least a first containerized application among the one or more containerized applications executing in the one or more other containers;
by the selection logic that executes in the first container, determining a first executable script that is suitable for preparing the first containerized application for backup;
by the selection logic, causing the first executable script to: (a) execute in the first container using corresponding enabling utilities, (b) access the first containerized application, and (c) prepare the first containerized application for the backup operation;
by the selection logic, indicating that the first containerized application is ready for the backup operation; and
by the selection logic, on receiving an indication that the backup operation has completed, releasing the first containerized application from a backup-ready state.
2 . The method of claim 1 , wherein the backup operation comprises taking a snapshot of data generated by the first containerized application.
3 . The method of claim 1 , wherein the indication that the backup operation has been triggered indicates that a second container comprising the first containerized application in the container-orchestration pod is to be backed up.
4 . The method of claim 1 , wherein the indication that the backup operation has been triggered indicates that the first containerized application in the container-orchestration pod is to be backed up.
5 . The method of claim 1 , wherein to prepare the first containerized application for backup, the first executable script quiesces the first containerized application.
6 . The method of claim 1 , wherein the indication that the backup operation has completed is received after a snapshot is taken of data associated with the first containerized application.
7 . The method of claim 1 , wherein the container-orchestration pod is part of a node that executes as a service in a cloud computing account.
8 . The method of claim 1 , wherein the container-orchestration pod is part of a node that executes on a computing device comprising one or more hardware processors and computer memory.
9 . The method of claim 1 , wherein the container-orchestration pod is based on Kubernetes technology.
10 . The method of claim 1 , wherein the indication that the backup operation has been triggered is received from a data storage management system, and wherein the backup operation generates one or more secondary copies of data associated with the first containerized application.
11 . The method of claim 10 , wherein the one or more secondary copies generated by the backup operation are live browsed by a user of the data storage management system.
12 . The method of claim 1 , wherein the indication that the backup operation has been triggered is received from a backup system that operates outside the container-orchestration pod.
13 . The method of claim 1 further comprising:
by the discovery logic, collecting a plurality of attributes about the first containerized application in the container-orchestration pod; and
transmitting the plurality of attributes about the first containerized application to a data storage management system that performs the backup operation.
14 . The method of claim 1 further comprising:
by the discovery logic, collecting a plurality of attributes about the first containerized application in the container-orchestration pod;
transmitting the plurality of attributes about the first containerized application to a data storage management system that performs the backup operation; and
based on the plurality of attributes, generating one or more preferences at the data storage management system for backing up data associated with the first containerized application.
15 . The method of claim 1 further comprising:
by the discovery logic, collecting information associated with a second container among the one or more other containers in the container-orchestration pod; and
transmitting the information to a data storage management system that performs the backup operation, wherein the information comprises one or more of: information about applications in the second container, information about data storage in the second container, metadata associated with the second container, system logs in the second container, and information about kernel representations of hardware allocated to the second container.
16 . A cloud computing system for using a backup services container, the system comprising:
a cloud computing environment providing a cloud computing account;
wherein the cloud computing account comprises:
a first container that is based on an operating system-level virtualization service, wherein the first container comprises: (i) executable discovery logic, (ii) a plurality of executable scripts and corresponding enabling utilities for executing the scripts, wherein each script is configured to prepare for backup one or more corresponding applications, and (iii) executable selection logic;
a container-orchestration pod that comprises the first container and one or more other containers comprising one or more containerized applications, wherein components of the container-orchestration pod, including the first container and the one or more other containers, run on the cloud computing environment;
wherein the discovery logic that executes in the first container is configured to, based on an indication that a backup operation has been triggered, identify at least a first containerized application among the one or more containerized applications executing in the one or more other containers;
wherein the selection logic that executes in the first container is configured to determine a first executable script that is suitable for preparing the first containerized application for backup;
wherein the selection logic is further configured to cause the first executable script to: (a) execute in the first container using corresponding enabling utilities, (b) access the first containerized application, and (c) prepare the first containerized application for the backup operation;
wherein the selection logic is further configured to indicate that the first containerized application is ready for the backup operation; and
wherein the selection logic is further configured to, based on receiving an indication that the backup operation has completed, release the first containerized application from a backup-ready state.
17 . The system of claim 16 , wherein the container-orchestration pod is part of a node that executes as a service in the cloud computing account.
18 . The system of claim 16 , wherein the container-orchestration pod is based on Kubernetes technology.
19 . The system of claim 16 , wherein the indication that the backup operation has been triggered is received from a data storage management system outside the container-orchestration pod, and wherein the backup operation generates one or more secondary copies of data associated with the first containerized application.
20 . The system of claim 16 , wherein the indication that the backup operation has been triggered is received from a component of a data storage management system outside the first container;
wherein the backup operation generates one or more secondary copies of data associated with the first containerized application; and
wherein at least one of the one or more secondary copies are stored in another pod outside the container-orchestration pod.