| CPC G06F 11/1446 (2013.01) [G06F 9/5033 (2013.01); G06F 2201/84 (2013.01)] | 9 Claims |

|
1. A computer-implemented method of providing cluster-wide, application consistent operations in a distributed network, comprising:
creating a single volume group snapshot object on a server for all of volumes of a plurality of distributed applications, wherein the applications are arranged by an application template into a nested sequence of applications and that suspends and restarts resources utilized by respective applications in a defined order;
defining a prehook and posthook annotation for each application, wherein the prehook and posthook annotation comprises a pair-ordered sequence dictating suspending and restarting the resources utilized by the respective application to ensure maintaining resource consistency during application operation and preventing a need of application quiescing during the suspending and restarting;
creating, by a snapshot controller, volume snapshot content for each volume;
creating, by an external snapshot process and upon creation of the volume snapshot content, a snapshot of each volume on a backend storage device, wherein all snapshots are created at the same time to ensure consistency across all volumes being snapshotted at a certain moment;
defining, for the snapshot process, an application template comprising a plurality of data fields including an application type field, an application label field specifying a label for all pods belonging to an application, and an actions field mapping actions performed on specific resource types and comprising pre-hook, post-hook, kind, and selectors subfields, wherein the selectors subfield specifies resources selected during a serialization phase of system operation for the volumes being snapshotted; and
processing the application template through a package manager component to execute the volume snapshotting and perform suspension and restart according to the prehook and posthook annotations, wherein an order of quiescing ensures application consistency of the cluster network across all the nodes in the cluster.
|