This Total Seminars course covers the exam certification topics. For information on additional study resources—including practice tests, lab simulations, books, and discounted exam vouchers—visit totalsem.com/linkedin. LinkedIn Learning members receive special pricing.
This course was created by Total Seminars. We are pleased to offer this training in our library.
- AWS media content delivery services
- Working with ElastiCache
- AWS analytics engines
- DevOps services in AWS
- Architecting resilient design solutions
- AWS best practices for performant and secure design
- Designing for cost optimization in AWS
Skill Level Intermediate
- Welcome to this chapter. In this chapter we're going to be looking at several AWS services that we really haven't explored in any level of detail up to this point. These are services that, as an architect, you need to be aware of their existence at the associate level, and you need to understand when you might select or choose them based on an organization's needs. So if an organization has need X, you've got to match it with AWS service Y. And so, what I'm going to help you do throughout this chapter, is understand these different services at enough detail level so that you can make those kinds of decisions. Here in this first episode, we're going to be specifically looking at AWS services that are really centered around media. And what I mean by media is video and audio communications, transmissions, storage, processing, et cetera. The very first one that we need to look at is one that allows you to take a media file and convert it into a file format that works for you. We call it the elastic transcoder, and you'll find it in the media services category in the AWS services interface. Basically, it's about media transcoding. Now what that means is, converting media from one format to another. Let's say for example someone provides you with a number of video files that are all in the MP4 format but you need them in other video formats as well. Rather than you having to convert them all offline, then upload them to S3 buckets, you can just put the MP4 files on the network in the S3 buckets and then use the transcoder to take care of the work for you. This is comprised of several components. First of all, there are jobs. Jobs actually do the transcoding. And then there are pipelines. These are queues to manage the jobs. So if I have hundreds of files that need to be transcoded, they're going to be fed into a pipeline, running one job after another until the transcoding is complete. We also have presets. These are your configurations for what you want to convert the media from and to. And then you have notifications. So this is going to use SNS to let you know when a job is done. So it'll tell you okay, first MP4 file converted, and so on. The transcoded files are pulled out of an S3 bucket to be transcoded and then put back into that bucket with a different file name after they've been transcoded. So when would I use this tool? Well, a customer comes to me and says, we have an application and we want to provide video to different devices in the formats those devices need, like iPhones and Android phones and Windows laptops and Linux computers and even tablets and so on. So we want to get the video into all the different formats those destinations need. We want to use the transcode service to convert them to those appropriate formats. Now the next service that we want to talk about is called Amazon Translate, and the goal here is to be able to translate content into different languages. You'll find this in the machine learning category within the AWS services interface. The key with this tool is that it can integrate into applications for localization. This term localization in this context is not referring about getting the file to a region within AWS, that's not what we're talking about. Localization is a general term in the application development world that refers to supporting multiple languages. So if I have an application that was originally coded with all English throughout the application, I might want to localize that application, meaning I give support for other languages like Spanish or German or any other language that I desire. The concept of Amazon Translate is to say rather than you having to pay a translator, we'll translate it for you, it's on demand language translation. We actually have two components, an encoder and a decoder. The encoder reads the source text, and the decoder outputs the translated text. So Amazon Translate is all about translating to different languages. But what languages are supported? Well, we have Arabic, Chinese simplified and traditional, Czech, English, French, German, Italian, Japanese, Portuguese, Russian, Spanish and Turkish. All of these are supported languages, but it is very important for you to know the connection between languages that are supported. So I can't convert, or translate, from all of these languages to any of these languages, but there are connections there. If you go into the AWS documentation, it does fully explain to you which source languages can be translated into which destination language. Generally speaking, English can be translated into any of the other destination languages, but you need to know the source to destination mapping for an actual implementation. You're not going to have to memorize that for the associate exam, but for real world implementations, make sure you remember that you've got to know your source and destination pairs that are actually allowed. So when do I use the translate service? Well the answer is you're going to use that service anytime you need to translate from one language to another. This could be simple text documents that are used within websites so that you can have a website available in different languages. It could be that you have some subtitle files and you want to translate them into different languages for videos that you've generated using other tools that we'll talk about later on in this chapter. The point is that with translate, you can translate content from a source language to a destination language, and so it's a very fast and effective way to accomplish the end goal. However, I want to talk to you for a moment about the real world. I would encourage you to have someone that speaks that destination language to look through your translated documents and make sure it has translated them effectively. It is machine learning, it gets better and better all the time, and it's pretty good, but it's always best to have someone that really knows that destination language as a human to evaluate and make sure it's translated effectively. The next service that we need to think about is called Elemental MediaStore. Now that's the proper name, Elemental MediaStore. You will find it in the media services category of the AWS services interface, but it's just called MediaStore there, so make sure you know when you're looking for it, it's called MediaStore, but it's actually named properly Elemental MediaStore. This is one of those little language issues that we have some inconsistencies with throughout the AWS interface. What does this do for me? Well, it allows me to have video, origination and storage services. Video origination, meaning that it's a place that a video originates from. Storage, I can store the videos. In this we have the concepts of containers, folders, endpoints, objects and policies. So the containers and folders give me a hierarchy within which my video is stored. The endpoint is the source or origination. And then I have objects, the video files, right? And the actual policies that control who can access this content. There's several considerations you want to use with MediaStore. First of all, if you have live stream videos, Elemental MediaStore is the way to go. This is your origination endpoint. So, when you think live stream, think MediaStore. This is the place to go. However, if you have storage based video, meaning it's more on demand and people can click on the video and it might do some buffering, right, so the video can play, it'll download ahead, and allow you to play the video without pauses, but in this case S3 buckets work perfectly fine. You don't need to use MediaStore for storage-based video delivery. So, how do I make a decision about whether I want to use MediaStore as an AWS architect? Well what I want to do is look at what my customer, or my organization, is trying to accomplish. If we're actually doing live streaming, look at MediaStore, and that's really the key you have to remember with that service. The next service we want to talk about is called Transcribe. Transcribe is a service that you'll find in the machine learning category, and this is specifically used for speech-to-text. So with speech-to-text, what we're talking about is audio files and video files. And we're taking the audio out of those files and we're doing speech-to-text. Now think about this. With your phone, you can talk to your phone to have it create a text message for you, right? That's speech-to-text, and that's doing real time processing of the audio that you're speaking into the phone. In the same way, we can take existing audio files or video files and we can perform speech to text against them, and that's what this does. With a video file, one of the cool things here is we can do speech to text so that we generate closed caption files, or what we sometimes call subtitles. So if you want subtitles for your video, all you have to do is use transcribe to generate the text out of the speech in the video. One of the really cool features then is once I've transcribed it, I can also translate it. So I transcribe the speech to text out to my S3 bucket, and then in my S3 bucket, I translate it. This is all based on machine learning, and realize that all of this can work together to give you a full video delivery solution, integrating with Translate, and even other services as well. So when do I use Transcribe? Simple, my customer organization comes to me and says, we've got all these audio and video files but we want to actually know what is said within these files in a text file format, right? I want to get the text out of the speech. Then, the place to go is Transcribe. The next service, and the final one we're going to talk about in this episode is Rekognition. Rekognition is spelled with a K, so make sure when you're looking for it you understand that. You want to recognize Rekognition. Okay that was a bad pun, but anyway, you want to make sure that you understand it's located in machine learning because this is a tool that allows you to analyze your images and videos. It's driven by machine learning created for amazon.com. So Amazon had a need to take images that people upload for example, either as a product image or as an image that someone associates with one of their reviews that they post on Amazon and so forth. They needed to look at that image, or even videos that people post, and understand the content of it. So they developed this advanced machine learning specifically for doing that, and then they made it available to use through AWS. Rekognition then does image and video analysis. It can find people in videos, speech in videos, and objects and even locations and scenes and things like that. So this is very detailed machine learning analysis of your videos, and what this does for you then is it allows you to have a bucket in S3 that's filled with video files. Then you can run Rekognition against that bucket. And what you can do now, is you can actually search these video files based on the analysis results coming out of Rekognition, and this means that you can now identify video files that have people in them, or video files that have speech instead of not having speech, or video files that have other objects that you might want to identify. So your search capabilities against video files is much more capable than it would be otherwise. So when do I use Rekognition? The answer, I use it whenever I want to get more information out of my video files than just knowing it's a video file in some format and it has this file name. I want to go deeper. I want to know the contents of the video file, but I don't want to pay someone to sit there and watch every video and then document what's inside of that video. Rekognition can do the work for me. So what we've seen in this episode is that there are many different services in AWS that are really aimed at media processing and media delivery. And when you understand which of these solutions performs which task, as an architect associate, you can pick the right one for your needs.