Data Migration as a Service(DMaaS) is an offering from MayaData, available on both platforms - Kubera and Kubera OnPrem. DMaaS is a solution for data agility and data motion in the Kubernetes platform, providing utilities and workflows to migrate Kubernetes stateful workloads along with their persistent data from anywhere to anywhere, be it on-premise or across clouds. It is application-aware, so the application state remains consistent before and after migration. Thus, it helps the user in backup and disaster recovery of the application along with the data, with the minimized time taken for restoring back to the normal operation mode.
Scenarios where user can use DMaaS:
1. Migration of Kubernetes stateful workloads across clouds or between on-premise and cloud.
2. Disaster recovery
3. Application upgrades
4. Kubernetes upgrades
5. Data Backup and Recovery
6. Data Protection
DMaaS Operational Mode:
DMaaS backup agent will be deployed on both the source and destination clusters once these clusters are in Standard or Enterprise plan. The backup agent on the source cluster uses the provider APIs to send the backup to the object storage. The backup agent on the destination cluster retrieves the backup from the object storage and deploys the application from the backed-up configuration whenever it demands the backup data. The data motion can be scheduled for both the upload and download so that periodic backups can be uploaded from the source and the destination can be kept in sync with the source.
Prerequisites
1. Kubera Account with a subscription of Standard or Enterprise plan.
2. AWS S3, GCP, Cloudian or MinIO credentials.
3. Same StorageClass configuration and Service Account should exist on the destination cluster.
4. All app-specific resources like service, PVC, shared resources like Service Account, ClusterRoles, etc. should have a common label.
5. Kubernetes Version 1.12 or above is recommended.
Setting up the Environment:
- Connect clusters to Kubera. To know the steps for connection Click Here.
- Add AWS or GCP or MinIO or Cloudian credentials for the first time with the correct details of your account with a title name. Credentials with title name can be selected for subsequent backup schedules and restores.
- Schedule the backup period using the AWS S3, GCP, Cloudian or MinIO credentials, select proper time interval and region (in case of AWS S3) while creating Data Motion schedule. Provide backup schedule by selecting the time slot.
- Verify the list of Backup from the DMaaS page or from the corresponding application page.
- Restore the application to the same cluster or different cluster from the selected backup.
Setting up Data Motion Schedule
1. DMaaS helps the user to do the Data Motion of the application data to a third party storage location like AWS or GCP or MinIO or Cloudian in a scheduled manner. User has to schedule the period from the DMaaS section present in the Application page.
2. With the current implementation, AWS S3, MinIO, Cloudian and GCP are the third party storage location where the backup of the application is getting stored.
Steps to schedule the backup transfer of the corresponding application.
STEP 1:
Clicking on the application on the left sidebar redirects to a page where you can select the application. By clicking on the application name you will be redirected to the corresponding application page.
STEP 2:
Select DMaaS on the selection box. Click on New schedule button.
STEP 3:
NOTE: To create point-in-time snapshots(for backup) for the applications using cStor volume, select the cStor-based
button as shown in the image below. In case of applications using volume(s) other than cStor, enabling cStor-based schedule creation won't generate backup for these volumes.
If the schedule being created is restic based(non-cStor based), the application pods will be restarted as restic annotations are added to the deployments.
STEP 4:
Next, a backup schedule needs to be created.
Follow the below mentioned steps to add credentials and schedule a backup.
NOTE: Cloudian and MinIO are supported in Kubera Enterprise plan. To know about the pricing click here.
STEP 5:
Next, select the time interval after which the next backup schedule must be created.
STEP 6:
Then, schedule the backup using Schedule now button.
STEP 7:
As soon as the DMaaS agents are in running state, backup starts automatically.
Once backup is completed you can see an auto generated schedule name on your screen.
Restoration of the application can be done in two ways:
1.Click here to know more about Restoration on same OpenEBS Cluster
Prerequisites
- The original application and its associated components such as PVC, PV, CVR and SVC should not exist.
- Ensure the same StorageClass configuration and Service account exists.
Workflow
- Click on Application on the left sidebar, click on DMaas and locate the schedule that needs to be restored.
- Once located, click on restore symbol next to the backup.
- Select the same cluster name from the drop down menu and click on Start restore button.
- As soon as the restore starts, you see a pop up window on your screen.(In order to elaborately see the process of restore click on Restore link).
- The restoration goes through various checks:
- Preflight check
- Restoring backups
- Activating applications
Preflight check
Restoring Backup
Activating Application
- After successful restoration, restoration job details will be displayed on the screen. (User can get the details of each process by clicking on the name.)
- The details of backup jobs can be viewed by clicking on DMaaS on the left sidebar.
Restoration is now successful!!
2. Click here to know more about Restoration on different cluster
Prerequisites
- Destination cluster should have same StorageClass configuration as source cluster.
- Destination cluster must be upgraded to Premium or Evaluation.
- Destination cluster should be connected to the same Kubera account.
Workflow:
- Clicking on cluster on the left sidebar (on Kubera UI) both the clusters(source as well as destination) must be visible.
- Click on Application on the left sidebar, click on DMaas and locate the cluster that needs to be restored.
- Once located, click on restore symbol next to the backup.
- Select the desired cluster name from the drop-down menu and click on Start restore button.
- As soon as the restore starts, you see a pop up window on your screen.(In order to elaborately see the process of restore, click on Restore link).
- The restoration goes through various checks:
- Preflight check
- Restoring backups
- Activating applications
Preflight check
Restoring backup
Activating application
- After successful restoration, restoration job details will be displayed on the screen. (User can get the details of each process by clicking on the name.)
- The details of backup jobs can be viewed by clicking on DMaaS on left sidebar.
Restoration is now successful!!
To view the list of all the available backup strategies, data motion schedules, and restore data history click on Data Protection present on the left sidebar.
NOTE: The delete functionality for DMaaS strategy from Kubera UI is inoperative for this release.