In the example implementation, the external system is a large media company's media asset management (MAM) and workflow orchestration system. The external system operates as a saga orchestrator that chains a series of activities to build Gridwich workflows.
Saga activities might or might not include user interactions or approvals. Gridwich assumes that the external system tracks the failure or success of each operation it initiates.
Saga participants
Each saga participant contributes one or more work activities to the ecosystem. Each participant works independently, and more than one saga participant might act on a single request.
For Gridwich, the available saga participants are:
Example saga workflow
The external system might run a quality control check saga that does the following steps:
- Gets a notification of a new blob in the inbox storage account.
- Requests an analysis using MediaInfo.
- Reviews the MediaInfo response, auto-approves the file, and starts a copy into an intermediate account.
- Gets notified that the copy is complete.
The operator reviews the asset, identifies the various audio track layouts, and then starts a saga that:
- Starts a copy into the long-term storage account.
- Gets notified that the copy is complete.
- Begins encoding with TeleStream CloudPort to Mux the left and right stereo tracks, along with the video, into a new asset.
The operator reviews the asset contents and extracts metadata for the MAM system.
Components
- Azure Event Grid allows a developer to easily build applications with event-based architectures.
- Azure Blob storage is a service for storing any type of text or binary data, such as a document, media file, or application installer.
Next steps
- Azure Blob storage
- Azure Event Grid
- Saga: Learn more about the Saga distributed transactions pattern.
- Cloud-native data patterns: Explore cloud-native data patterns.