View a markdown version of this page

Architecture overview - Media2Cloud on AWS

Architecture overview

Deploying the Media2Cloud on AWS solution builds the following environment in the AWS Cloud.

Media2Cloud on AWS architecture on AWS

Media2Cloud on AWS architecture on AWS

The AWS CloudFormation template deploys the following infrastructure:

  1. An Amazon Cognito user pool to provide a user directory.

  2. An Amazon API Gateway RESTful API endpoint, which is configured to use AWS IAM authentication.

  3. An Amazon CloudFront distribution that hosts the web application artifacts such as minimized JavaScript files and graphics stored in the web bucket.

  4. An AWS Step Functions main state machine which serves as the entry point to the solution’s backend ingestion and analysis workflows.

  5. An AWS Step Functions ingestion sub-state machine that orchestrates the ingestion process by media file type and generates proxies for ingested media. It uses AWS Elemental MediaConvert for video and audio files and open-source tools for image files and documents.

  6. A Step Functions analysis sub-state machine that is responsible for the analysis process. It consists of AWS Step Functions that run analysis jobs with Amazon Rekognition, Amazon Transcribe, Amazon Comprehend, and Amazon Textract.

  7. Amazon DynamoDB tables to store artifacts generated during the ingestion and analysis processes, such as overall status, pointers to where intermediate files are stored, and state machine run tokens.

  8. An Amazon OpenSearch Service cluster, which stores ingestion attributes and machine learning metadata, and facilitates customers’ search and discovery needs.

  9. Four Amazon Simple Storage Service (Amazon S3) buckets to store uploaded content, file proxies that the solution generates during ingestion, static web application artifacts, and access logs for services used.

  10. Amazon CloudWatch event rules that are logged when specific tasks undergo state changes.

  11. Amazon EventBridge used by an internal queue management system where the backlog system notifies workflows (state machines) when a queued AI/ML request has been processed.

  12. An AWS IoT Core topic that allows the ingestion and analysis workflows to communicate with the front-end web application asynchronously through publish/subscribe MQTT messaging.

  13. Amazon Simple Notification Service (Amazon SNS) topics to allow Amazon Rekognition to publish job status in the video analysis workflow, and to support custom integration with customers’ system, by allowing the solution to publish ingest_completed and analysis_completed events.