[SEO Subhead]
This Guidance demonstrates how you can build a mobile-based live video streaming experience that lets your shoppers stream product demonstrations on their mobile devices. It uses a live video streaming service that is managed by AWS and ideal for delivering low-latency or real-time video on user-generated content platforms. A video converting service is also integrated in this Guidance, which converts media files from their source format into versions that will play back on mobile devices, equipping you to deliver engaging media content at a global scale.
Please note: [Disclaimer]
Architecture Diagram
[Architecture diagram description]
Step 1
Shoppers access the mobile app, which is served using Amazon CloudFront and Amazon Simple Storage Service (Amazon S3). AWS WAF protects the app based on rules.
Step 2
Amazon API Gateway routes dynamic requests to the app. Amazon Cognito authenticates users and controls API access according to user groups.
Step 3
AWS Lambda invokes the APIs of Amazon Interactive Video Service (Amazon IVS) and Amazon Chime SDK messaging when channels are created or deleted by admin or when users join, leave, or send messages in a channel.
Step 4
The mobile app connects to Amazon Chime using the WebSocket protocol and receives real-time messages from the channel.
Step 5
Message records are exported in real-time to Amazon Kinesis Data Streams and written to Amazon DynamoDB by Lambda.
Step 6
When new shoppers join the channel, message history is loaded from Amazon ElastiCache (cache) and DynamoDB (storage).
Step 7
Live streams can be configured to automatically record to Amazon S3 from Amazon IVS.
Step 8
When a live stream ends, Lambda invokes an AWS Elemental MediaConvert job to transcode video assets for playback. These assets are then provided to shoppers using Amazon S3 and CloudFront.
Well-Architected Pillars
The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems. Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
-
Operational Excellence
This Guidance uses DynamoDB and Amazon S3, which can log all control plane and data plane events through AWS CloudTrail. CloudTrail Insights continuously examines management events, helping you analyze and respond to unusual activity.
-
Security
This Guidance uses AWS Identity and Access Management (IAM) authentication through API Gateway and Amazon Cognito to make sure that only administrators can authorize privileged API requests, such as creating, modifying, and deleting channels. Additionally, AWS WAF enhances security by filtering unexpected access-based criteria you define.
-
Reliability
This Guidance offers DynamoDB on-demand backup and point-in-time-recovery so that you can back up and restore online. DynamoDB and Amazon S3 use three Availability Zones (AZs) in this Guidance, making this Guidance reliable for AZ-level failure. Additionally, these two services have an object replication feature that makes it easy for you to build disaster recovery for failure in an asynchronous manner.
-
Performance Efficiency
This Guidance uses Amazon IVS and Amazon Chime SDK messaging, which scale automatically to accommodate more than thousands of concurrent users. Additionally, CloudFront uses an edge content delivery network to transfer video on demand to mobile devices quickly.
-
Cost Optimization
This Guidance uses a MediaConvert job to transcode video assets for playback when a live stream ends, storing the assets in Amazon S3, which provides cost-optimized storage tiers. Additionally, because this Guidance uses a serverless architecture, you pay only for what you use.
-
Sustainability
This Guidance uses CloudFront and Amazon IVS, which help reduce environmental impact by providing self-managed data planes that facilitate the delivery of high-quality images with low latency and without the need to deploy separate points of presence. Additionally, managed services and automatic scaling features minimize unnecessary resource consumption.
Implementation Resources
A detailed guide is provided to experiment and use within your AWS account. Each stage of building the Guidance, including deployment, usage, and cleanup, is examined to prepare it for deployment.
The sample code is a starting point. It is industry validated, prescriptive but not definitive, and a peek under the hood to help you begin.
Related Content
[Title]
Disclaimer
The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.
References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.