Although the cloud provides ultra-reliable storage protected against hardware faults, it does not prevent erroneous deletions by the user or faulty application logic. Backup - or rather snapshotting - is therefore vital for cloud apps. Lokad.Snapshot is a .NET application that runs on Windows Azure and backs up Windows Azure Storage (Tables and Blobs) automatically in regular intervals.
- Full snapshots of all blob containers and tables of an Azure account to a dedicated backup account
- Fully automated
- Simple web interface to browse complete snapshots and schedule a full restore, protected by OpenID
- Multiple storage accounts can be backed up using the same dedicated backup account
- Keeps the last N successful snapshots of every account, drops older snapshots
- Can scale up using multiple worker instances if more speed is required
Limitations of the current version:
- Only supports tables using the FatEntity type of Lokad.Cloud, i.e. tables which are created and accessed using Lokad.Cloud's table storage provider
- No web interface for configuration, simply edit the !ServiceConfiguration.cscfg file instead.
- Azure storage account names can not be longer than 18 characters (Azure would allow 24).
In Azure you'll need to create:
- A dedicated storage account. This is where the snapshots will be stored.
- A dedicated hosted service. This is where the snapshot service will be running.
Then you can either checkout the source code and compile it yourself, or simply download the precompiled Azure package. Once unzipped, you'll see two files:
- Lokad.Cloud.Snapshot.cspkg: This is the packed application ready for deployment to the hosted service
- !ServiceConfiguration.cscfg: The service configuration
Open the service configuration file in a text editor, and configure the the fields accordingly. Please refer to Configuration for details. Once configured you can use the Windows Azure portal to deploy both files to the hosted service that was created in the beginning.