Protecting Applications
Protecting an application with Veeam Kasten, usually accomplished by creating a policy, requires the understanding and use of three concepts:
- Snapshots and Backups: Depending on your environment and requirement, you might need just one or both of these data capture mechanisms
- Scheduling: Specification of application capture frequency and snapshot/backup retention objectives
- Selection: This defines not just which applications are protected by a policy but, whenever finer-grained control is needed, resource filtering can be used to select what is captured on a per-application basis
This section demonstrates how to use these concepts in the context of a Veeam Kasten policy to protect applications. Today, an application for Veeam Kasten is defined as a collection of namespaced Kubernetes resources (e.g., ConfigMaps, Secrets), relevant non-namespaced resources used by the application (e.g., StorageClasses), Kubernetes workloads (i.e., Deployments, StatefulSets, OpenShift DeploymentConfigs, and standalone Pods), deployment and release information available from Helm v3, and all persistent storage resources (e.g., PersistentVolumeClaims and PersistentVolumes) associated with the workloads.
While you can always create a policy from scratch from the policies page, the easiest way to define policies for unprotected applications is to click on the Applications card on the main dashboard. This will take you to a page where you can see all applications in your Kubernetes cluster.

To protect any unmanaged application, simply click Create Policy and,
as shown below, that will take you to the policy creation section with
an auto-populated policy name that you can change. The concepts
highlighted above will be described in the below sections in the context
of the policy creation workflow.

Snapshots and Backups
All policies center around the execution of actions and, for protecting applications, you start by selecting the snapshot action with an optional backup (currently called export) option to that action.
Snapshots

A number of public cloud providers (e.g., AWS, Azure, Google Cloud) actually store snapshots in object storage and they are retained independent of the lifecycle of the primary volume. However, this is not true of all public clouds (e.g., IBM Cloud) and you might also need to enable backups in public clouds for safety. Please check with your cloud provider's documentation for more information.
Snapshots are the basis of persistent data capture in Veeam Kasten. They are usually used in the context of disk volumes (PVC/PVs) used by the application but can also apply to application-level data capture (e.g., with Kanister).
Snapshots, in most storage systems, are very efficient in terms of having a very low performance impact on the primary workload, requiring no downtime, supporting fast restore times, and implementing incremental data capture.
However, storage snapshots usually also suffer from constraints such as having relatively low limits on the maximum number of snapshots per volume or per storage array. Most importantly, snapshots are not always durable. First, catastrophic storage system failure will destroy your snapshots along with your primary data. Further, in a number of storage systems, a snapshot's lifecycle is tied to the source volume. So, if the volume is deleted, all related snapshots might automatically be garbage collected at the same time. It is therefore highly recommended that you create backups of your application snapshots too.
Backups

In most cases, when application-level capture mechanisms (e.g., logical database dumps via Kanister) are used, these artifacts are directly sent to an object store or an NFS file store. Backups should not be needed in those scenarios unless a mix of application and volume-level data is being captured or in case of a more specific use case.
Given the limitations of snapshots, it is often advisable to set up backups of your application stack. However, even if your snapshots are durable, backups might still be useful in a variety of use cases including lowering costs with Veeam Kasten's data deduplication or backing your snapshots up in a different infrastructure provider for cross-cloud resiliency.
Backup operations convert application and volume snapshots into backups
by transforming them into an infrastructure-independent format and then
storing them in a target location. To convert your snapshots into
backups, select Enable Backups via Snapshot Exports during policy
creation. Additional settings for the destination location and control
over the export of snapshot data versus just a reference will also be
visible here. These are primarily used for migrating applications across
clusters and more information on them can be found in the
Exporting Applications section. These settings are available when creating a
policy, and when manually exporting a restore point.
The data exported in a Backup operation consists of metadata on the
application and snapshot data for the application volumes. The
destination for the metadata export is an
Object Storage Location or an
NFS File Storage Location that is specified in the Export Location Profile field.
Users without list permissions on profiles can manually enter the name
of the profile to export to if they have been given that information and
have permissions to create policies.

The exported data resulting from a Backup operation is organized into storage repositories that are exclusively controlled and maintained by Veeam Kasten. Independently using, interacting, connecting, modifying, copying, upgrading, or in any way accessing/manipulating a Veeam Kasten storage repository is unsupported and might cause data corruption/loss to some or all of the restore points. Users must never attempt to perform any such action themselves unless under constant, active supervision by a member of Veeam support or engineering teams.
There are two mechanisms by which snapshot data get exported: Filesystem Mode Export or Block Mode Export. Each mechanism defines the process of uploading, downloading, and managing snapshot data in a specific destination location. The export mechanism is normally selected automatically on a per-volume basis, based on the Volume Mode used to mount the volume in a Pod:
- The Filesystem Mode Export mechanism is used to export snapshot data of volumes with a Filesystem Volume Mode.
- The Block Mode Export mechanism is used to export snapshot data of volumes with a Block Volume Mode.
With automatic selection, both the metadata and the snapshot data are sent to the same destination. In a VMware vSphere environment, there is an option to use the Block Mode Export mechanism for all volume snapshots, regardless of the Volume Mode. This option enables the specification of a Veeam Repository Location as the destination for snapshot data (only), along with a separate location for the associated metadata.
The two export mechanisms are described below: