{"id":907,"date":"2019-10-21T19:45:00","date_gmt":"2019-10-21T19:45:00","guid":{"rendered":"http:\/\/customers-love-solutions.com\/?p=907"},"modified":"2019-11-21T14:26:06","modified_gmt":"2019-11-21T14:26:06","slug":"2-7-3-challenge-media-streaming-service","status":"publish","type":"post","link":"https:\/\/customers-love-solutions.com\/?p=907","title":{"rendered":"2.7.3 Challenge: Media streaming service"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">CloudFront &amp; ElastiCache for Redis<\/h2>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191017-AWSOMEDAY2019_2.7.3-MediaStream-Deliver-Content_faster-1024x551.jpg\" alt=\"\" class=\"wp-image-816\" width=\"1024\" height=\"551\" srcset=\"https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191017-AWSOMEDAY2019_2.7.3-MediaStream-Deliver-Content_faster-1024x551.jpg 1024w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191017-AWSOMEDAY2019_2.7.3-MediaStream-Deliver-Content_faster-300x161.jpg 300w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191017-AWSOMEDAY2019_2.7.3-MediaStream-Deliver-Content_faster-768x413.jpg 768w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191017-AWSOMEDAY2019_2.7.3-MediaStream-Deliver-Content_faster-1200x646.jpg 1200w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191017-AWSOMEDAY2019_2.7.3-MediaStream-Deliver-Content_faster-594x320.jpg 594w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191017-AWSOMEDAY2019_2.7.3-MediaStream-Deliver-Content_faster.jpg 1667w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The example shows the whole environment perhaps build by <strong>CloudFormation<\/strong>. Video data comes in by CloudFront from Video encoders and maybe the requested input is in CloudFront, it&#8217;s <strong>send back directly.<\/strong> <br>If not it&#8217;s stored in <strong>S3<\/strong>, a Lambda function updates some metadata and it&#8217;s stored in <strong>Dynamo DB<\/strong>. The <strong>second event<\/strong> is triggered to an SNS topic to the required Lambda function for <strong>reformatting and resizing<\/strong> and the result is stored in an other S3 bucket, called <strong>Playback<\/strong>. And <strong>CloudFrontStreaming<\/strong> is pushing it right back to my consumers. <strong>ElastiCache for Redis<\/strong> helps the Client to <strong>search<\/strong> in a created <strong>DynamoDB index<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191115-Media-Stream-EC2-600x188-1024x320.jpg\" alt=\"\" class=\"wp-image-1017\" width=\"857\" height=\"267\" srcset=\"https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191115-Media-Stream-EC2-600x188-1024x320.jpg 1024w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191115-Media-Stream-EC2-600x188-300x94.jpg 300w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191115-Media-Stream-EC2-600x188-768x240.jpg 768w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191115-Media-Stream-EC2-600x188-1200x375.jpg 1200w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191115-Media-Stream-EC2-600x188-594x186.jpg 594w, https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/20191115-Media-Stream-EC2-600x188.jpg 1250w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/><\/figure>\n\n\n\n<p><strong>Amazon Elasti Cache<\/strong> is an other form of caching. It&#8217;s the idea of caching elastic inside the stack by using open-souce infrastructure elements: <strong>Redis and Memcached<\/strong>. Useful if the query of the database is expensive, you could store temporary stage it in memory in the elastic cache. <br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>CloudFront &amp; ElastiCache for Redis The example shows the whole environment perhaps build by CloudFormation. Video data comes in by CloudFront from Video encoders and maybe the requested input is in CloudFront, it&#8217;s send back directly. If not it&#8217;s stored in S3, a Lambda function updates some metadata and it&#8217;s stored in Dynamo DB. The [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":936,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,21,3,9,5,19],"tags":[],"class_list":["post-907","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws-cloud-architecture","category-awsomeday","category-conferences","category-infrastructure","category-native-cloud","category-self-learning","clearfix","post-index","fader"],"jetpack_featured_media_url":"https:\/\/customers-love-solutions.com\/wp-content\/uploads\/2019\/11\/Thumbnail-sky-Content_Faster_Lambda_Thumbnails.jpg","_links":{"self":[{"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=\/wp\/v2\/posts\/907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=907"}],"version-history":[{"count":3,"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=\/wp\/v2\/posts\/907\/revisions"}],"predecessor-version":[{"id":1051,"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=\/wp\/v2\/posts\/907\/revisions\/1051"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=\/wp\/v2\/media\/936"}],"wp:attachment":[{"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/customers-love-solutions.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}