6 ms·
> S3 is not an FTP service it is a distributed object store. Not really, the only "object" you can store, Amazon's language notwithstanding, is effectively a f
by mapgrep 11y ago
> S3 is not an FTP service it is a distributed object store.
Not really, the only "object" you can store, Amazon's language notwithstanding, is effectively a file. It's not like you could give it something that needed to be serialized.
And it's hard to see how it's "distributed" when your bucket price varies "based on the location of your bucket" as Amazon puts it.
It's probably more redundant than FTP, but saying S3 is like FTP is a reasonable shorthand and cuts through a lot of the marketing BS.
- Goladus 11y agoThe only real resemblance at all to FTP is that you use GET and PUT instead of filesystem commands. I mean, I guess if you really don't understand what FTP is and have no desire to understand how S3 is different from posix, then saying you have to use S3 like you use FTP kind of works. But it would be misleading to everyone else. > It's probably more redundant than FTP FTP is a transfer protocol, it says nothing about redundancy of the data on the back end. You could put an FTP server in front of an ext4 filesystem, and NTFS filesystem, an NFS mount, or maybe even S3.
- WhitneyLand 11y agoUsing FTP as shorthand is better than "Object Store", which sounds like the marketing BS this is designed to avoid.
- Pxtl 11y agoFTP implies a specific protocol. "File Server" or something like that would be better. You're quite right that "Object" is worthless terminology in this case - "Object" is basically nerdspeak for "thing".
- Goladus 11y agoIt's not worthless terminology. It's a term that was chosen along time ago to distinguish this kind of storage architecture from filesystems and block devices: https://en.wikipedia.org/wiki/Object_storage https://en.wikipedia.org/wiki/Object_storage. This is a common issue in computer science and software development. Whenever new concepts are discovered or developed, they often need new names. You need to pick something that will distinguish this new concept from existing technologies. For laughs (kind of), look at configuration management software (Chef, Puppet, Cfengine, Ansible). They all quickly discovered that there were a whole bunch of new concepts that needed names, and while in some cases this hints that maybe these tools a bit over-engineered, it's hard to deny they've been popular and useful. Regardless, they all encountered these new concepts around the same time and they all made up their own names for them. So in chef you have cookbooks, where ansible has roles. Chef has roles where ansible has playbooks. Ansible has modules where puppet has providers and resource types. Ansible has tasks which are basically components of what chef would call a recipe and puppet would call a manifest. All in all, I think "object storage" is a pretty fair term for the concept of a data store that neither heirarchical or sequential.
- numbsafari 11y agoFTP is a terrible shorthand because it's confusing and archaic. S3 doesn't even natively support FTP. Calling it a "file server" is way more reasonable.
- sbilstein 11y agoObject store is what it is...FTP would be marketing BS implying something that the service isn't at all.
- e12e 11y agoFile store? I agree that "object" makes no sense when applied to S3. It's not like you can store an "account" object and call a method to get back the current balance, with accrued interest for the time since last deposit added in. Or even store an image and call a method to get back a black-and-white version. Etc. IMNHO "File server" implies it exports an actual file-system, and would also be wrong. In that light, I think S3 is more like FTP than a "file server". Sure, it might technically be more like WebDAV than FTP, perhaps "FTP-like service using HTTP for transport" is more accurate -- but I'm not sure it's better than just calling it FTP...
- sbilstein 11y agoHah...I mean I think it's a bit arrogant for OP to try and rename all of a company's services. Sure some of them are confusing and could be named better but Amazon is a trailblazer here with lots of these services becoming available on a cloud. "S3 - Simple Storage Service" describes pretty well what the point of the service is without making strong claims around what it may or may not be. It's a service for storing things; it's not a database or a filesystem. The devil is in the details of course but even when I was really new to cloud services I got the gist of what S3 was supposed to do.
- Goladus 11y ago> I agree that "object" makes no sense when applied to S3. It's not like you can store an "account" object and call a method to get back the current balance, with accrued interest for the time since last deposit added in. Or even store an image and call a method to get back a black-and-white version. Etc. Well, yes, they aren't OOP objects. But as you say, "files" isn't great either. But it was a theoretical alternative. For example, you could do a search/replace on the S3 docs here: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects...., and they would still make sense. But FTP isn't even close. You could not find/replace "Object" with "FTP" without making those docs completely incoherent.
- Goladus 11y agoHow is "Object Store" marketing bs? What is the proper term for an S3 object? It's not file, because file is a term that comes from the context of a filesystem, which is what S3 is not. Read the S3 docs: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.... That is the technical term they've chosen to describe the key, its value, and all its associated metadata. As far as terms go, it's rather straightforward, in my opinion. They probably didn't use "file" because that usually implies a filesystem, which is specifically what S3 is not. Also, go ahead and check out the history of the term "Object Store": https://en.wikipedia.org/wiki/Object_storage https://en.wikipedia.org/wiki/Object_storage
- matt-attack 11y agoSo when I download a file from a website, I'm not actually downloading the file? Since it doesn't become a file until it gets flushed to disk by my browser? So what is the name for the sequence of bytes that are actually downloaded?
- dsmithatx 11y agoI'd say you don't really download the file, you render it in a browser via the http protocol. Downloading implies you have a local copy of the html file or js or whatever.
- Goladus 11y agoSo what is the name for the sequence of bytes that are actually downloaded? If you explicitly requested your browser to create a file, then it could be any kind of data. If the web server triggered the download, your browser probably saw an HTTP header like "Content-type: application/octet-stream" I will admit that there is an abstract concept of a "file" that exists outside the restricted realm of a "filesystem," but that's not amazon's target audience. Their target audience are programmers using APIs. To a normal person, MySpreadsheet.xls is considered a file, no matter where it is stored. But S3 is not limited to this definition of file. An S3 object does not have to be a file in the sense of an excel spreadsheet or digital photos from your friend's wedding. An S3 object can just be a sequence of random data, which would be called a file if stored as ".dat" in a filesystem, but is not considered a file in the same abstract sense as a Word Document. From a programming perspective files tend to come with a number of traits, like options for sequential access, random access, or appending. A file can often be modified without re-writing the entire thing. When you are programming with S3 objects, the only way to "append" something is to GET the object, retrieve the value from the object, append the data to that value, and then use PUT to upload entire object back into S3. In this way, it is similar to FTP, except that FTP is most definitely about files and filesystems. S3 is not just for downloading files, but for retrieving any kind of data, usually directly into an application. Given that S3's target audience is software developers, the programming version of the term "file" is more appropriate.
- curun1r 11y ago> Not really, the only "object" you can store, Amazon's language notwithstanding, is effectively a file. It's not like you could give it something that needed to be serialized. It's not "Amazon's language"...your thinking is too programming-language-centric. Object has a much more general meaning. Amazon didn't invent the term blob (binary large object) and S3 is basically a blob store.
- tracker1 11y agoMaybe Simply... "Amazon File Server" ?
- Goladus 11y agoThe main problem with that is that virtually all of Amazon's original target audience would have seen "Amazon File Server" and assumed it was a "File Server" like every other "file server" they'd ever heard of, which either exported a file system such as NFS or Samba or used ftp or http to serve files-- and in the latter case, calling it a "file server" rather than an ftp server or web server would be rare. Since S3 was none of those things, they needed a different name.
- Patrick_Devine 11y agoHow about "Web File Server"? I think mentioning "FTP" in the "It's like" column is reasonable, but I thought it was confusing in the name.
- Goladus 11y agoYeah I have no problem with drawing some comparisons to FTP. It's definitely like FTP in the sense that there's this step where you have to get the data you want to deal with then put it back; but that's really where the similarities end.
- dsmithatx 11y agoFTP is File Transfer Protocol. S3 is not for transferring files and it's not a protocol. It's a file bucket or object store is appropriate. I use S3 to store static content and then use Cloudfront as my CDN. I think comparing it to FTP is rather confusing to say the least. Static content includes things like html, css, javascript not just jpgs or what have you.