4 ms·
The 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
by Goladus 11y ago
The 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.