Say that you create a file on your local device (laptop, PC, or mobile phone) — we’ll call it hello.txt
. This file is stored on that device’s storage, which is a piece of hardware like a hard drive or, more commonly nowadays, an SSD. That’s a form of local storage that you use on a daily basis to store anything from long-term to short-term data.
This form of storage works great for a variety of use cases, but sometimes we need a different type of storage that doesn’t reside on our local device. We need remote storage.
Why is cloud storage needed?
Why? There are all sorts of reasons why. Perhaps you are creating a website with images or downloadable files. If you were to store the website’s files on your local computer, you would either have to expose those files from your local network and keep your computer running 24/7, or you would have to use a remote service instead.
Or, maybe you’ve had a hard drive or SSD fail on you before, and you’ve experienced unrecoverable data loss, so you know it’s important to store backups on completely separate devices.
Regardless of the reason, there are times when we need to be able to store our data remotely, or “in the cloud.” Amazon S3, short for Simple Storage Service, is an example of a service that lets us do that.
There are many other types of cloud storage services like: Box, Dropbox, Google Drive, etc…far too many to list, that focus more on backing up individual or work data. Amazon S3 is similar to those but it’s typically used more for application data storage (though it can absolutely be used for personal or work data as well).
Examples of S3 usage
For example, while your web application is running, it will generate logs. Logs can contain everything from “who accessed which web pages at which date and time” to “a user clicked on this link and the application threw this error message because of a bug.” Those log files will be stored on the server hosting the web app, but you may also want to store them in S3 for historical purposes, or to be able to analyze those log files with another analytics service.
As another example, you may have a mobile application that allows users to log in and upload images. Those images need to be stored somewhere, and that somewhere could be Amazon S3. Once stored in S3, your mobile app can fetch the image and display it anywhere in the world, 24/7.
As a third example, you may be working on an AI application that needs to train on a large amount of data. You could store that data on S3 and then retrieve it to train your models whenever you need to.
These are just 3 examples that touch on a few different use cases, because it’s impossible to list all of the ways organizations use S3. That’s how versatile of a service it is. But hopefully you get a general sense of what it’s used for.
By the way, S3 is the first service that AWS released onto its platform back in 2006. It’s the oldest generally available AWS services and it’s used by large Fortune 500 companies, all the way to tiny startups and even individuals.
Benefits of S3
The reason that so many organizations use S3 is because it has 3 primary benefits:
- Scalability – You can store anything from tiny files to exabytes of data (an exabyte is 1 million terabytes — so a tremendous amount of data)
- Durability – S3 provides crazy high data durability with what’s known as 11 nines of durability, which means 99.999999999% of durability
- Availability – And it guarantees 99.99% availability with it’s default storage tier
To put this all into perspective, if you had 1,000,000 (1 million) objects stored in S3 that were each 1 MB in size, you could expect to lose a single object in 1,000 years.
Unless you are storing a very large amount of data in S3, you won’t be losing data any time soon.
In terms of availability, 99.99% represents roughly 53 minutes of downtime per year, or about 4 minutes per month. Unless you are dealing with mission-critical data, you probably wouldn’t even notice it. That’s also their SLA (Service License Agreement) number, which means it’s a conservative number. Some years it will be even better than that.
Recap
So, going back to our initial example…if you are storing important data locally, you may eventually want to consider storing it on a completely separate device, and you might choose a cloud service like S3 to do that.
Or, if you are wanting to host a globally available web application, then you will want to use a service like S3 to store static files like images, text files, video files, etc… because you essentially delegate the responsibility of hosting and protecting your data to someone else, and usually for a nominal fee.
Security concerns with cloud storage
The downside of cloud storage is that, as we’ve seen over the years, many people (including organizations) have misconfigured their cloud storage services, resulting in massive breaches and data leaks costing in the tens or hundreds of millions of dollars.
This course will teach you how to avoid that with practical learning. You will create S3 buckets, upload S3 objects, learn how to find misconfigurations, learn how to properly configure S3 security, and more.
So let’s get started!
Responses