Jump to: navigation, search

Trove/scheduled-tasks

< Trove
Revision as of 16:57, 13 August 2013 by Cp16net (talk | contribs) (Design Goals)
  • Created: 13 Aug 2013
  • Contributors: Craig Vyvial (cp16net)


Automated/Scheduled Backups Design

Overview

The goal of this blueprint is to implement capabilities in Trove to support automated/scheduled backups. This will be supported in the Trove API as well as the guest agent to use the existing snapshot-design in an automated way. The automated backups shall allow a user to restore or clone to a new instance at a point in time.

There are many different concerns when attempting to automate the backup of instances in a deployment, i.e. Stagger Backups, Maintenance Time Window, and others. In the design of this automated system each of these concerns should be capable of being addressed. This shall lead to a pluggable or configurable interface for allowing a deployer to chose what type of strategy they would like to use without a code change.

The user shall define a Maintenance Time Window of when the automated backup maintenance shall occur. The Maintenance Time Window can be generalized a maintenance window of when a user would like to have scheduled backups, updates or other maintenance related operations to occur.

In order for the strategy(s) of an automated backup to be handled in a pluggable way, it will require a trove scheduler that can determine the time from the general maintenance window when the backup must occur with simple or complex logic. The scheduler shall send a message to the guest agent of when to run the automated backup so that it does not require messages being sent at each interval of when the backup should run.

Design Goals

The following are the design goals:

  • Pluggable interface to determine the type of strategy(s) to support. (Stagger Backups, Maintenance Time Window, and others)
    • Manage network bandwidth and connections from backups
  • Database support for the schedule set and listing of the backups
    • Maintenance window of when to run scheduled tasks like backups

Maintenance Time Window

The Maintenance Time Window can be set by the user for when they would like package updates to occur, backup or their data, restart of service, system maintenance, or other related tasks. This shall allow users to determine when a disruption of the service occurs rather than the deployer determining a time.

The user shall be able to create multiple time windows with different types that allow for specific types of maintenance or tasks to occur when the user specifies.