The Windows Azure Media Services (WAMS)
Replicator Tool allows you to replicate WAMS assets across two WAMS accounts. In the most common scenarios, this capability is used to mirror a library of VOD streaming assets across WAMS accounts in two different Azure data centers to enable geo-diverse redundancy.
The WAMS Replicator Tool takes care of identifying asset mismatches (down to the blob storage level) across the two accounts, copying assets bi-directionally between accounts and applying the same on-demand origin locator to them. By replicating the locators, both assets share the same relative streaming URL in both data centers (only base URLs are different). It also provides a Web UI dashboard that an operator can use to monitor the assets that are mismatched, assets that have been verified, and provides commands for taking manual corrective action.
This tool can be used in conjunction with a Traffic Manager (TM) which routes traffic between the streaming origin attached to each account. For high volume streaming scenarios, the TM would be used in conjunction with a CDN and would route CDN origin requests in an active-active or active-passive configuration.
For a Live Streaming scenario, it is easier to enable geo-diverse redundancy. You can achieve this by configuring your Live Encoder to push into two different data centers. The Replicator Tool can also help in this scenario by comparing both live stream assets once they are archived, and applying the same on-demand origin locator. This way, if there are significant differences between them you can use the Replicator Dashboard to delete one and force a copy of the other.
For more information about how to manually implement a failover streaming scenario with Windows Azure Media Services, you can check this MSDN article: Implementing Failover Streaming Scenario
.Change Log in September 2013 Release
The Replicator Tool September 2013 Release
includes the following changes:
Change Log in February 2014 Release
- Code upgraded to use the latest Windows Azure Storage Client library (v188.8.131.52)
- Code upgraded to use the latest Windows Azure Media Services .NET SDK (v184.108.40.206)
- C# projects upgraded to target .NET Framework 4.5
- Cloud Service project upgraded to Windows Azure Tools v2.0
- Updated NuGet package dependencies to their latest versions
- New approach to auto-replicate / auto-ignore assets based on metadata in the IAsset.AlternateId property in JSON format
- Added support to replicate and compare FragBlob assets. This is a new asset format used by Media Services Live Streaming where each Smooth Streaming fragment is written to Azure Storage as a separate blob instead of grouping them together in Smooth Streaming asset files (ISMV/ISMA).
This release has been published to a separate branch in the source code called 'ragrs-support', which includes the following changes:
- Support for the Read Access Geo Redundant Storage feature from Windows Azure Storage. The Replicator can now be configured to always read from the secondary storage endpoint of the Storage Accounts used to copy blobs
- Added automatic replication option. A new setting allows configuring the Replicator to automatically replicate new assets without the need for setting the AlternateId metadata
- Code upgraded to use the latest Windows Azure Storage Client library (v220.127.116.11)
- Code upgraded to use the latest Windows Azure Media Services .NET SDK (v18.104.22.168)
- Code upgraded to use the latest Windows Azure Media Services .NET SDK Extensions (v22.214.171.124)
- Cloud Service project upgraded to Windows Azure Tools v2.2
- Support for Media Services account with multiple Storage accounts attached
- Added the new 'fragmentsDropped' metadata field in the IAsset.AlternateId property in JSON format
- Improved Assets queries to avoid running server-side filters by properties that are not indexed (like IAsset.AlternateId and IAsset.LastModified) that require a full table scan. Now, the Replicator Tool executes a server-side query filtering by the IAsset.Created property (which is indexed) to get all the assets that were created in the last 72 hours (this value is configurable). This means that the Replicator Tool will not “see” assets created before the time interval threshold