Components
Portworx Backup components
A thorough understanding of the components enable you to use Portworx Backup seamlessly for your data replication tasks. The following sections provide information about the Portworx Backup components:
Portworx Backup server
Portworx Backup server is built on the Google Remote Procedure Call (gRPC ) framework and offers performance benefits by reducing latency. With protocol buffers and binary serialization, gRPC divides the payload and enables faster communication, increasing the performance of Create, Read, Update, Delete (CRUD) operations of Portworx Backup. The server implements the basic CRUD operations on the Portworx Backup objects to handle the operations of data protection. Besides, CRUD abstracts the complexity of data storage and allows the user to focus on the user interface tasks. Portworx Backup Server communicates with Stork to create application-level backups by creating the backup location and application backups CRDs and Stork monitors these CRDs on each user’s cluster. Portworx Backup Server also monitors the status of application backups and application restores on these clusters. Backup server implements the basic CRUD operations for the following Portworx Backup objects:
- Backup
- Backup location
- Backup schedule
- Cloud credentials
- Cluster
- Restore
- Roles
- Rules
- Schedule policies
REST APIs
Portworx Backup REST APIs allow you to interact with the application to perform operations. Portworx Backup offers two APIs, backup API and backend API. Both of these APIs are organized around REST and returns responses in JSON format. You can leverage the Portworx Backup API to create, delete, schedule, and restore backups. You can use Portworx Backup backend API to create, manage and assign roles to the user.
Portworx Central
Portworx Central portal provides a simple web interface for deploying Portworx Backup onto your clusters. It greatly reduces the time taken to get your Portworx Backup up and running. The central user interface allows you to choose the required version of the backup, namespace, storageclass, external OIDC details, and so on to facilitate a quick installation with spec generator.
Portworx Central on-premises is a graphical user interface that allows you to monitor and manage your Portworx clusters.
Application clusters
In Portworx Backup, an application cluster is any Kubernetes cluster that Portworx Backup creates backups from or restores backups to. Portworx Backup supports the addition of any Kubernetes cluster that is network accessible. With Portworx Backup, you can back up, restore and monitor all of your Kubernetes clusters. When a cluster is created, by default, the owner or the creator of the cluster can access it. During cluster creation, the owner of the cluster can define which user or user groups can access the cluster. Additionally, cluster owners can designate namespace access to selected users/roles of the organization. Portworx Backup supports auto-discovery of clusters for AWS cloud accounts.
Application clusters help you to list all applications and resources available on the cluster to choose to back up. Also, application clusters create or manage Stork resources on the cluster.
Portworx Backup supports the following cluster types to be added from the user interface:
- AKS
- EKS (Auto discovery)
- GKE
- IKS
- OCP
- Rancher
- Clusters with CSI drivers
- Other supported Kubernetes distributions
- TKGS
Stork
Stork is a cloud native storage operator runtime scheduler plugin. It translates decisions of a scheduler orchestration system in such a way that an external cloud native storage solution can act upon. By doing so, Stork extends Kubernetes capabilities with the help of the underlying storage provider, making it more stateful. Stork bridges the gap between Portworx Backup running on your administration cluster and the remaining clusters.
Datastore
Database where the Portworx Backup stores objects related to the cluster such as backup location, schedule policies, backup, restore, and backup schedules. Portworx Backup uses MongoDB as the datastore from the 2.0.0 version. Portworx Backup pod writes the metadata of backup object data to the MongoDB datastore. MongoDB runs with 3 replicas for high availability. This datastore is installed as part of the Portworx Backup deployment. Portworx Backup does not support use of an externally managed database as the datastore.
Keycloak
Portworx Backup Server communicates with an external OIDC service (Okta, Keycloak, Active Directory, Auth0, and so on) to validate and authorize tokens that are used for the API calls. Keycloak component is installed as part of the Portworx Central deployment. Portworx does not support use of an external Keycloak component, but the internally managed Keycloak component can be configured to add compatible external OIDC providers either during installation or post-installation.
Portworx
Portworx provides a complete multi-cloud ready Kubernetes enterprise storage platform for your storage infrastructure. Portworx provides a compatible foundation to protect your data with Portworx Backup. Backups of Portworx volumes which includes data and resource files are encrypted during transit.
Cloud Storage
Cloud Storage acts as backup target to provide storage for the backups you create through Portworx Backup and helps you retrieve when you require. You can add a cloud-based S3 compliant object store backup location or cloud-based NFS backup location in Portworx Backup and backup your data on them. Portworx Backup supports object lock for cloud-based S3 compliant object store backup locations to secure your critical data. You can retrieve data from these backup targets when needed with low latency.
Cloud Storage provides storage for your unstructured data and helps you store any amount of data and retrieve when you require. You can add cloud-based object store or block store backup location in Portworx Backup and backup your data on those cloud-based targets. You can retrieve data from these backup targets with low latency.
NFS server
NFS enables you to share your files and directories with the intended audience over a network and thereby consuming less storage space with a shared directory. Portworx Backup's Stork component communicates directly with NFS server through PVCs. You can add a file share that resides on your on-premises or on-cloud NFS server as backup location and backup all your data onto the NFS file share.
For more information on terminologies related to Portworx Backup, refer to Glossary.