The following solution provides an API for retrieving Content Metadata for use in external systems.
The architecture is designed as follows:
The consumer can be any web request capable client, be it another service, SPA web app or mobile app.
The metadata domain includes the resources directly related to any manipulation of the content metadata.
The content Metadata API is the core of the infrastructure responsible for delivering the required metadata for the current case - it contains the central scalable services.
The Azure Function in this layer is reponsible for delivering a scalable solution for retrieving the metadata for the requested video, based on the ID passed in the request.
The Cosmos DB service takes care of persisting the metadata records associated with specific videos. It provides a scalable, geo-redundant, high-performance NOSQL storage solution, which scale on demand based on the load that is being applied to it.
The metadata management layer houses the services responsible for keeping the metadata fetched within the "Content Metadata API" layer up to date.
Responsible for processing events from the event hub and executing the appropriate action for updating/deleting.
A cluster of WebApps running dedicated CMSs for managing the content data that is then emitted and stored in the CosmosDB.
Takes care of storing the emitted events from the CMS and relaying them to the Function/s resposible for updating the CosmosDB with the emitted data.