US 11,720,448 B1
Application aware backups
Alexander Sirotin, Coquitlam (CA); Aditya Maruvada, Bothell, WA (US); and Tony Zoght, Vancouver (CA)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 22, 2021, as Appl. No. 17/482,174.
Int. Cl. G06F 11/14 (2006.01)
CPC G06F 11/1464 (2013.01) [G06F 11/1451 (2013.01); G06F 11/1461 (2013.01); G06F 11/1469 (2013.01); G06F 2201/84 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
obtaining an application definition that defines an application stack comprised of at least two computing resources hosted by a computing resource service provider, the application definition:
comprising resource identifiers of the at least two computing resources; and
being usable at least in part to instantiate the application stack to utilize the at least two computing resources;
storing a snapshot of the application stack as an application recovery point usable to launch a copy of the application stack, the application recovery point corresponding to a state of the application stack at a point in time and comprising the application definition and at least two dependent recovery points, an individual dependent recovery point of the at least two dependent recovery points usable to restore an individual computing resource of the at least two computing resources;
obtaining a request to restore the application stack using the application recovery point; and
responsive to obtaining the request, launching the copy of the application stack by:
obtaining backup identifiers of the at least two computing resources corresponding to the resource identifiers of the at least two computing resources from the application recovery point, the backup identifiers usable by the computing resource service provider to instantiate the at least two computing resources according to the at least two dependent recovery points;
injecting the backup identifiers of the at least two computing resources into the application definition to generate a recovery application definition; and
launching instances of the at least two computing resources, by the computing resource service provider, using the backup identifiers to instantiate the copy of the application stack according to the recovery application definition.