Project Description
The Manager Role is a worker role that that is designed to do housekeeping tasks for your Cloud Service such as auto-scaling, and database copy/export.

Most Azure services need some level of housekeeping chores to be done regularly. There are many examples from my experience working with Azure ISV partners in the western USA:

  • auto-scaling (with WASABi)
  • database backup/export
  • blob copy to another datacenter (for example, the backed up database)
  • ping tests (is my service alive?)
  • watch diagnostic log files for errors and notify someone
  • application specific maintenance tasks
  • deploy a Cloud Service at a certain time, delete it at another
  • clone an Azure table
  • clone Azure blob storage container

This project is a starting point - providing the structure upon which to build basic maintenance tasks. Add a new Cloud Service and deploy this project (which contains a single instanced worker role) into it. It works in the Compute Emulator as well, so you can test up your configuration changes before deploying to Windows Azure.

UPDATE 5/30/2013

Added a new task type for copying a block blob from one storage account/container to another.  They can be the same.

UPDATE 5/22/2013

Upgraded to the 2.0 SDK.  Added a new task type for deploying a service.  Added new task type for deleting a deployment.

UPDATE 3/23/2013

Added documentation, mostly around How to Build the solution.

UPDATE 3/20/2013

Reworked the export logic so that if wamr dies during a long running database copy or export, it's easy to resume. There are now two message types: 'backup' and 'export'. If wamr dies while a backup is running, issuing an 'export' message will cause the system to evaluate where to pick up the process and resume.

Last edited May 30, 2013 at 6:42 PM by sebastus, version 16