portworx
WHITEPAPER
Essential Capabilities of Data Protection on Kubernetes

What is Kubernetes Backup?

A Kubernetes backup system describes the process and method of backing up the nodes, pods, control panes, and other components that make up Kubernetes clusters.

No matter what type of data you are protecting, every organization needs to implement, test, and maintain strategies for protecting their data, as the consequences of a service outage or data breach can have devastating consequences on revenue and reputation. The key considerations in a data protection plan include limiting application downtime and restoring applications and data quickly.

While some may mistakenly believe that backing up a Kubernetes cluster can be done the same way as a traditional monolithic application, there are specific key differences between traditional and containerized applications that present several big challenges.

Kubernetes applications are purpose-built to be highly dynamic, so they can scale up and down rapidly to meet demand. They are also distributed by nature, meaning their components can often be distributed among different nodes. Traditional backups are not built to support these dynamic and distributed modern architectures. A Kubernetes backup solution automatically discovers all components and backs up the entire application as a unit. You then decide how to capture and store the application’s data.

Further, Kubernetes environments are distinct from the operating system, which makes backing up trickier compared to a physical server. A virtual machine is relatively straightforward to backup: The application is on a single VM or group of VMs, and backing up the VM is usually sufficient to fully protect the application. A Kubernetes application, however, stores persistent data externally on a volume, so simply backing up the container itself may not capture the externally stored data, leading to inconsistent restores.

Containerized applications run various pods across multiple machines, each with its files and configurations. These underlying resources, including the data, configurations, and objects, all contain important information that keep the application running smoothly. Effective Kubernetes backup solutions must be able to preserve all of this associated application data at the granular level to ensure a consistent snapshot and speedy restore. These effective backup solutions are often referred to as “application aware”, meaning they are able to capture the full state of the application.

If the backup solution is not application aware, then it cannot capture the full application. This can lead to inconsistent backups and cause slow restore times, data loss, and errors that can be difficult to detect.

Kubernetes applications, as well as the microservices that comprise them, can also be stored in different environments—whether that is on-premise or in the private or public cloud. This gives them flexibility and portability over a VM.

Applications need to be highly mobile, and they must be able to copy data within or between different environments. Application mobility also has the added benefit of delivering several key use cases, including high availability, migrations, upgrades, and disaster recovery.

Due to their inherent flexibility, Kubernetes clusters are often backed up to physical offsite storage or virtually to a cloud server. Backing up in multiple locations is also a good strategy to create redundancy and ensure data reliability. The important thing is that the enterprise can easily and quickly access the recovery data when the need arises.

It is also important to maintain certain compliance requirements to ensure application uptime. 3-2-1 compliance is known as a gold standard for backup and restore. It dictates that organizations should have 3 copies of their data (a production copy, a snapshot copy, and an offsite copy), 2 backups on two separate media types, and 1 offsite copy for longer-term retention. Following the gold standard is a preventative measure used to drastically reduce the chance of a long-term service outage.

Regardless of how a k8s backup is done, it is crucial for the security and reliability of applications. Once backed up, the application data can be restored in case of a data breach, service outage, or system failure. Many organizations also have data protection as a vital requirement to maintain regulatory or organizational compliance.

The Challenge of Traditional Backups

All enterprise applications require backup and recovery, but traditional backup tools weren’t designed for Kubernetes. For innovative enterprises pushing the boundaries of Kubernetes, traditional methods risk slow or incomplete recovery. In case of a disaster, these organizations need to backup entire virtual machines and rebuild applications in place during restores, or must cobble together a container-granular solution manually.

Container granular

Kubernetes applications are container based, not machine based. Effective recovery gives users the ability to choose the precise containers they need to restore.

Application consistent

Good backups need to be consistent—meaning they should be reflective of all the data, including any pending write activity. Application consistent backups ensure there is no delta between the backup copy and the primary copy.

Kubernetes config-aware

Backing up just your data is not enough. You also need to back up other application components, like objects and configurations, so you can recover your applications quickly, without manually reconstructing all your Kubernetes objects.

Namespace-aware

Backing up individual applications, including their data and configuration is essential. But so is being able to back up groups of these applications at the Kubernetes namespace level so you can backup hundreds or thousands of applications at once.

Multimobility

You need bi-directional support to backup AND restore across all of your clouds – public, private, and even on-prem. Moving data and replicating storage across environments is difficult.

Automation

Protection needs to just happen. You need to know that your backups are always on time and complete without intervention. Relying on a manual process is unreliable and doesn’t scale. Implementing complex scripts is unmanageable.

Easy to use yet powerful

You can’t compromise on data protection. But finding a solution that is both robust and easy to use can be difficult.

The Portworx Backup Solution

Built from the ground up for Kubernetes, Portworx Backup delivers fast, easy, and secure enterprise-grade application and data protection with single-click recovery. Trust that your applications will be available when you need them in order to avoid downtime, poor customer experience, or SLA penalties.

Backup entire apps

Portworx Backup doesn’t just protect Kubernetes data. We also protect your application configuration and Kubernetes objects, so that recovering your applications is as easy as restoring your pods.

Backup pods, tags, or namespaces

Portworx Backup allows you to take container granular backups at the pod, tag, or even at the namespace level. Just select the objects you want to backup through the easy to use Portworx interface.

Portworx Backup allows you to take container granular backups at the pod, tag, or even at the namespace level. Just select the objects you want to backup through the easy to use Portworx interface.

Portworx Backup is a flexible solution that allows you to backup and recover any Kubernetes application between any Kubernetes cluster running in any cloud or on-prem data center.

Migrate entire applications

Portworx Backup can be used to move applications between any Kubernetes environment as part of a scheduled migration, upgrade, or dev to prod pipeline. In other words, you can backup in any single environment and restore in another.

Storage agnostic backups

You don’t have to use Portworx storage to use Portworx Backup. Backup and recover Kubernetes applications using Amazon EBS, Google Persistent Disk, Azure Block storage, and many others directly via CSI.

Self-service interface

Portworx Backup gives teams self-service access to enterprise-class data protection at the click of a button. Users can set up their own backup schedules, define pre- and post-rules, and rest easy knowing their applications are fully protected.

Kubernetes Backup and Restore Using Portworx Backup

Learn how to easily backup and restore any application running on Kubernetes. The leading Kubernetes backup solution Portworx Backup protects entire applications – including data, application configuration, and Kubernetes objects – with a single click at the pod, namespace, or cluster level.

Backup and Restore Cloud Volumes Used for Kubernetes Apps

Cloud providers like AWS, Azure and Google are popular places to run Kubernetes applications. The Portworx Kubernetes backup solution allows you to easily backup and restore Kubernetes volumes stored on cloud block storage like Amazon EBS, Azure Block Storage and Google Persistent disks.

Kubernetes Native Backups

Easily backup any Kubernetes application at the pod, tag or namespace level.

program

Multi-namespace Backup and Restore

With the Portworx Kubernetes backup solution, you can backup and restore multiple namespaces with 100s of apps in a single click.

image

Restore to Any Cloud

The Portworx Kubernetes backup solution makes restoring entire Kubernetes applications easy.

images

Native Support for Cloud Storage

The Portworx Kubernetes backup solution works for cloud block storage from Amazon, Azure, and Google even if you are not using PX-Store.

backup

Create and Implement Backup Schedule Policies

Easily create multiple backup schedule policies and automatically apply them to the right Kubernetes apps.

product

Application consistent Backups

Create and store rules to create application-consistent backups of distributed databases.

image

Supported Databases

Origami Background image