S3 started as a place on the cloud to store and retrieve files. But it’s evolved a lot over the years:
- You can directly stream music and videos from it.
- Along with a separate Content Distribution Network (CloudFront), you can have copies geographically replicated to be closer to end-users.
- There’s a separate service (Transfer), you can have multiple locations securely upload files to it. Examples are schools, retail outlets, enterprise divisions, news media, etc.
- It has a built-in event system, so whenever a file is uploaded, it can trigger a function to process the content automatically. This makes it handy for applications where users upload content (like videos) that need to be automatically converted, then copied to another S3 ‘bucket’ for streaming or download.
- You can make a ‘bucket’ (think of it as a directory of files) become a webserver, accessible via HTTP. This makes it dead-easy to build web front-ends using React/Vue, etc. and deploy them there.
- Also handt to host static HTML content, for things like blogs, portfolios, or galleries. A lot of static content generators like Hugo and Jekyll have direct upload to S3 built in.
- If looking to archive or backup, you can designate files to be put into deep freeze on Glacier. This means they are stored, but you will likely not have to access them that often. Storage and access costs are lots cheaper.
- There’s a whole audit log/access control backend for regulated industries like finance, law, or healthcare.
- You can set alarms so you are notified when there is a problem, and rules to prevent things like massive file uploads or DDOS downloads.
- You can create what’s called a ‘pre-signed URL’ so someone using it can securely access a file for a limited amount of time. Those without can’t access it.
- There’s a command line tool, as well as programming toolkits in lots of languages that let your websites and apps directly integrate with it.
- Cost-wise, it’s pay-as-you-go with no monthly fee. So you can store a bunch of files up there and the bill at the end of the month is like, $0.23.
- However, there is a fee for ‘egress’ traffic to the cloud, so if you want to put some content somewhere public and a lot of people access it, it can get expensive.
- A bunch of third-party services have sprung up to offer basic S3-like access with zero egress fees, but they trade thst fee for a basic monthly fee (Backblaze B2, CloudFlare R2, Wasabi). Generally, they’ll cost less, but you lose some of the above features.
- There are tools that mount S3 buckets as local filesystems, so you can add/list/delete files as if they’re local.
There’s more, but that’s the crux of it.
In one post, you summarized the majority of the CCP course I took a few years back.
Amazon Simple Storage Service (Amazon S3) is an object storage service
Amazon’s cloud based Simple Storage Service (hence the S3). It is, in ELI5 terms, a file storage service like Microsoft’s OneDrive or Apple’s iCloud. A bit like a harddrive reached over the internet. You transfer files to and from it.
That’s grossly oversimplifying of course. S3 has some important technical differences to a straight up “cloud drive”. And it comes with a mind boggling array of options so it can be customised to be the storage of all sorts of very large real world applications and websites.
As part of AWS? S3 stands for “simple storage solution” and it is used for storing data in the cloud. A typical s3 setup has a “bucket” which would act like a folder directory on your computer. At that point it can be pretty much however you want to set it up. In theory it can store anything, as long as it can be converted into a binary string, I believe. I havent worked in AWS in a few years, but I recall it being easy enough to use for storing files when handling file transfers with other microservices like Lambdas. You just need to configure a few things, like the bucket name, the “file name” (I say it that way, because you dont necessarily have to store files - and anything stored in s3 has to be converted to that binary string), and the
It can be even more than just simple storage when used with other microservices, the possibilities can be endless
S3 stands for “Simple Storage Service” not “Simple Storage Solution”… fake news :P
And it’s definitely not simple. I hate dealing with AWS at work, shit is overly complex where it doesn’t need to be.
I agree. And the default AWS configs are very unsafe as well. But I didn’t came up with the same, blame Amazon.
So basically a “string” of bytes stored in AWS servers that can be exposed as anything really
We’re all just 1s and 0s on some level. Or quarks I guess? I don’t know where we are now wrt elementary particle models.
It’s worth noting that a number of other providers now sell S3-compatible storage services that are completely separate from Amazon, but let you interact with them using any of the S3 tools that have sprung up.
There’s also Minio which is compatible and self hostable.
The only thing I don’t see mentioned in the explanations that already exist is that S3 is a pay for usage service.
I.E. You don’t pay for a tier of storage you pay for the gb of storage used. If your usage increases your cost goes up and if your usage goes down your costs go down. Which makes it very easy to set and forget. No need to worry about keeping your data storage under a certain amount or to remember to switch to a lower tier to save money etc.
Granted that can backfire and result in a surprise bill way more than you were expecting but that is usually not an issue especially for medium to large size businesses.
IIRC, other Cloud providers like Digital Ocean and Linode provide S3 storage solutions that have a flat fee for a certain GB amount of storage.
An abomination before the lord
A less secure version of S4, the Super Simple Storage Service.
Excuse my dumbness, but how would it be useful if it’s “write-only”. You just put data in the cloud, never to be read again? I’m probably misunderstanding lol
Edit: nevermind, it’s a joke website right?
Yeah it’s meant to be satire
It’s a storage agnostic protocol for sending, receiving and enumerating to/from cloud storage. Think off it like email. Email service providers allow for a number of ways to access your email, be it pop3, IMAP or web. The underlying technology is abstracted away. In the same way cloud storage allows for web, s3 and/or WebDAV. Amongst others. And likewise the back end is abstracted away. The s3 client you use doesn’t need to know how the data is actually stored. And there’s some pretty whacky storage back ends.