This course was recorded and produced by Total Seminars. We're pleased to host this training in our library.
Skill Level Intermediate
- Like so many things in AWS, there are many options when it comes to storage, so it's important to understand the various storage services that are available, so you can pick the appropriate ones for you needs. Now what we're going to do first is go over some of these storage services and talk about what they are, and then throughout this chapter, we'll go deeper into the ones of greatest importance. So first of all, we have the Simple Storage Service, or S3. If you've ever seen that S3 and wondered what does it mean? It's just the three S's, Simple Storage Service. And it was one of the first storage services that Amazon ever offered with AWS. We also have Glacier. Glacier is for that archival data. Some place to put a large amount of data that you want to keep for a long time, but you're not necessarily worried about accessing it frequently, or instantly. Then we also have CloudFront. Now CloudFront is about getting the stuff close to your users. So with CloudFront, quite often what you're doing is simply making sure that web information, this kind of data that's accessed frequently by your website visitors, is cached at an edge location that's near the customer. Then we also have Elastic Block Store, or EBS. Elastic Block Store is the best storage solution to use for your instances, when you want those instances to have very fast access, because we're talking about block-level access, rather than object-level access. S3 is object-level, we'll talk more about that later, EBS is block-level. We'll also talk more about that. Then you have the Storage Gateway. The Storage Gateway is basically an appliance that you put on your local network, either a software appliance or a hardware appliance, that acts as a VPN connection into the Amazon cloud. So that you can access your storage as if it's local storage. Then we have the Snow family. Now the Snow family is a collection of really three primary products that can be used in order to migrate data from your local data stores into the cloud when you have massive amounts of data that you need to move. We'll look at those in more detail later as well. The final storage service that you really have is your databases. Because this is a form of storage, right? And of course Amazon Web Services provides many different database solutions available to you. Now that we understand the basics of the storage services, let me talk to you a little bit about some characteristics of storage. First we're going to talk about block storage versus file storage. With block storage, it's used on local networks all the time. We use it with iSCSI, Internet SCSI, or Fiber Channel, and etc. These are done to connect to Storage Area Networks usually, and basically what we're doing is across the network, being able to get access to data in a similar way we do to local hard drives. AWS can use block storage with virtual machines within the AWS cloud, when you use Elastic Block Store, or EBS. When it comes to file storage, it's a little different than block storage. With file storage, we're dealing with objects or chunks of information. AWS uses something similar to file storage with S3, called object storage, so they treat a file like an object. File storage is used all the time on our local networks with NAS devises. So if you've ever connected a Network Attached Storage device to your network, even at home, and you put files on there, you're using file-based storage. Now within that NAS device, it has some kind of a file system that it's using. The point is, across the network, you don't worry about that, and you don't actually access it at the allocation vector level, or the block or sector level. Instead you're dealing with it as a file, or in S3 terminology, as an object. Now when it comes to selecting the storage service you want to use, there are a few factors you need to keep in mind. The first one is size. How big are the objects, and how much total storage do you actually need? And when you're thinking about it in that perspective, you have to realize there's a cost-factor difference. If you're storing many many gigabytes of data, or many terabytes of data, it's going to be more expensive than if you're storing a few hundred megabytes. So you have to think about the cost factor that's involved. We'll talk a little bit more about that in a moment. But size is first key, and this is going to drive your decision for a storage service in AWS. Then you have performance. So performance can be thought of in a couple of ways. Yes there's the speed of access, and generally speaking, for example, with an instance that uses EBS, you're probably going to have a little better performance when it comes to accessing those files in many cases. But here, what I really want to focus on with performance is how quickly can I get my file, or my object? If I've got files stored on S3, I can get them out of S3 immediately. And I just pay the cost to have them immediately available. If I put them in Glacier, it's a different story. Now I have to wait three to five hours before they become available to me, and then I can actually get the file. So performance is key. But that also has to be balanced, as I said, with cost. So I might get that great performance of S3, but if I've got petabytes of data stored in S3, it's going to cost me massively more than putting petabytes of data in Glacier, or S3 with a Glacier class of storage. So either way, as long as it ends up in Glacier, my cost goes way down. So think about how quickly do I need these files? If I can get by with saying, hey as long as I can get 'em within three to five hours, I'm good, put 'em in Glacier. You're going to save a lot of money on your storage. If you need them immediately, if you need them instantly, they can't be in Glacier. So, for example, you're not going to put the files people click on at your website in Glacier, because that's not going to work. Those have to be in S3, or in an EBS volume. So keep all of those things in mind when you're selecting the right storage for your scenario. (upbeat music)