Skill Level Beginner
- One of the earliest uses of cloud technologies was storage. In fact, there's a bit of history that you might be interested in, and that is that, AWS started with just storage. It was S3 buckets that you could put some stuff in. And that was because Amazon had created them for themselves and then they thought you know what? The world might want this. But we've actually had a sort of kind of cloud storage for a long time. Way back in the early '90s, there was an organization that set up an environment, where you could dial up with your modem to the service and you could have your data back up to their servers. A sort of kind of telephonic cloud storage of the last century. Well, storage is still there in the cloud, and it's a big part of what we do. So we're going to be talking about storage as we go through this chapter. And it begins by understanding some of the basic storage types that can be utilized. The first one I want to talk about is network attached storage or NAS. Now a NAS servers are servers that are connected to the network and they provide access to storage using various different protocols. They might use the server message block protocol, SMB, Network File System, NFS which is common in Linux and UNIX whereas SMB is common in Windows. For access to the stores, they might use HTTP if encryptions not required, HTTPS if it is, or FTP if encryption is not enquired and then either SFTP or FTPS if encryption is required. The difference between SFTP and FTPS, the s before or after FTP is, what encryption technologies being used? If it's FTPS, it's like HTTP and we're using SSL or TLS for our security and our encryption. If it's SFTP, we're actually using an SSH tunnel to do our FTP transfer in. So it's a little different how that works. But both of them give you encryption, SFTP and FTPS. Generally, NAS is used to provide file based storage. So we put files into the shares, that are on the server and then we can access them remotely. Cloud providers do often provide this service. So they'll give you the ability to implement virtual NAS right inside of your cloud environment. In a private cloud, you might use a real physical NAS server to participate in the cloud for storage. Now, we also have the next AS and that's DAS. So we had NAS, now we have DAS, what's the difference? Well, DAS is direct attached storage. So this is storage that's directly attached to your computers. Generally, it's going to be either SATA or SCSI today, in the way that it's attached. It could be USB or FireWire or Thunderbolt and still qualify as direct attached storage. But we generally think of direct attached storage as a more permanent type of storage connection, like SCSI or SATA. However, if you do connect through USB, you can get performance like DAS in some cases. It's usually provided with either SSDs or HDs, that's solid-state drives or hard disks. Solid-state drives using non moving parts, and it's faster with flash type storage and hard disks using the spinning platters. That is going to be a little bit slower but usually offers more storage space, per dollar that you spend. The cloud providers generally offer both of these. So if you want to save a little money on your storage, you use a hard disk based storage for instance or a virtual machine you're running. And if you want better performance, you use SSD. Now next we have this concept of a storage area network. It's important to know that in public clouds like AWS, GCP and Azure you might have a SAN that's there somewhere but they manage it, they provide it, you don't deal with it. However, if you're building your own private network, you may very well implement your own SAN to support the private cloud. It's basically a network providing shared storage, and use common protocols like Fibre channel or iSCSI. Locally, it requires a hardware host-bus adapter. So it's like a storage area network, network card that goes inside of your computer. If you're not using an IP storage area network, and then you have a unique network just for access to the storage area network, that those HBAs host bus adapters communicate across. Cloud providers again may offer it, but they abstract it, they manage it, you don't have to deal with it. What it does provide is block-level storage. So you're reading and writing sectors on the drives, for your communications with the storage. Now, one final thing we need to think about is this concept of object based storage. Object-based storage means restoring things. We're not worried about block-level access, we're just storing things, it could be a file, it could be a block stream of data, but we're storing a thing, an object, an entity. There's usually no file hierarchy, and everything's just dumped in a big lake. Even though you can virtualize a file hierarchy, by implementing a special naming structures with delimiters. It is not block-level though, always remember that. Some examples would be S3 buckets and AWS, Azure Blobs in Azure, and guess what? GCP calls them, buckets, just like AWS. But they're not S3 buckets, they're just buckets. and that's where you can put your objects.