Live data from Hacker News

Show HN: File0 – An easier way to manage files in serverless apps

file0.dev

111–120 of 158 posts

Re: Show HN: File0 – An easier way to manage files in serverless apps

#111
post #105

I personally don’t see the value of $2.50 (S3) versus $12 (you) (for 100 GB). Especially for file storage, who knows when you’re going to close up shop and take my data with it? I should be able to store my data where I want to. If you wanted to wrap a service around S3, Backblaze, or whatever, maybe sell the convenience instead of selling storage?

Note that unlike FILE0, S3 not only charges for storage, but for write requests, read requests, network bandwidth, and some less obvious niche things. So it's not a 1-1 comparison. If you don't see the value in this extra convinience you should stay with your current service! The goal of FILE0 is not to replace these big players, but to provide an option to folks who just want to get things up and running quickly and…

Have you talked with cloudflare about this?

Lets say you become a huge hit and megaupload or vimeo or someone else with massive traffic (but not on the "we built our own datacenters and ISP CDN" level) start using your service. What then? Cloudflare will call you and demand you step up to an enterprise plan or pay for premium traffic.

Your pricing model assumes the pricing model of another pricing model that assumes pricing negotiation when usage increases. You will be the middle party in a discussion where you really don't control either party.

This is why I actually like AWS:es nickle-and-dime for every compute second and megabyte.

Re: Show HN: File0 – An easier way to manage files in serverless apps

#112
post #96

Earlier quoted context omitted.

> Rinse and repeat hundreds of times and nobody stops the think of the cumulative effect on the 99% of customers who don't need those features. Does it cost anything to not use features you do not need? Last time I checked, all the so-called niche features were stashed in hierarchical option lists, outside of the happy path. You need to purposely want to dig into, say, file access, bucket access metrics, storage stra…

Complexity without ease of use costs. S3 kind of forces you to use those features. If all you wanted was just a public/private access, you're forced to read into the complexity of S3's complex permission system. So, to be fair, yes it costs to not use features you do not need in this case. You literally pay by the hour to use S3, and you also pay the hours you spend trying to understand the permissions and modify set…

> S3 kind of forces you to use those features.

Not really. In order to set bucket request metrics not only you need to explicitly set your bucket to be open to the world but you also need to dig down the options to explicitly enable them along with a metrics filter of what objects you cover.

Object versioning is disabled by default and you need to go way out of your way to enable them at a specific level.

You also need to go way out of your way to set another object storage class.

None of these features are enabled by default. You need to turn them on and configure to start using them.

Re: Show HN: File0 – An easier way to manage files in serverless apps

#114

Earlier quoted context omitted.

But you... control the file names... You can overwrite contents in most other file systems easily.

But this library is supposed to also be a client-side library, right? I think as soon as you start doing all of the auth checks for CRUD, etc. it becomes almost as complex as the alternatives. If the point is just a "everyone can do everything" bucket then that isn't too hard on any of the current blob storage providers.

In the backend you control everything. You can write whichever file you want and you’re authenticated via a secret key thats in your env variables.

In the frontend you need get a file-scoped token from the server.

Server: import { f0 } from ‘file0’; const token= await f0.createToken(‘myfile.png’);

You can send this token to the client. And use it like this: import { f0 } from ‘file0’;

await f0.useToken(token).set(myfileblob);

The docs are in the dashboard only after account creation atm. Public docs on the way.

Re: Show HN: File0 – An easier way to manage files in serverless apps

#118

Earlier quoted context omitted.

But this library is supposed to also be a client-side library, right? I think as soon as you start doing all of the auth checks for CRUD, etc. it becomes almost as complex as the alternatives. If the point is just a "everyone can do everything" bucket then that isn't too hard on any of the current blob storage providers.

In the backend you control everything. You can write whichever file you want and you’re authenticated via a secret key thats in your env variables. In the frontend you need get a file-scoped token from the server. Server: import { f0 } from ‘file0’; const token= await f0.createToken(‘myfile.png’); You can send this token to the client. And use it like this: import { f0 } from ‘file0’; await f0.useToken(token).set(myf…

I feel like the site is somewhat deceptive then... Using phrases like "Stop reading docs. Start shipping.", "As easy as using the localStorage." "Just 3 simple steps." implies something else.

What you are saying is that for actual usage I would need to

---

1. Read the docs for what access you provide by default (anonymous access, etc)

2. Build a backend api endpoint to do all AuthN/AuthZ checks, call your library to generate a token and then return that

3. (On the frontend) Make an API request to my backend, get the token. Call your library with the token to upload the file

4. (maybe think about revoking that token to disallow overwriting the file with the same token)

5. In other clients use your library to retrieve the file? Do I need to build a backend endpoint for tokens here too? If not do you have a way to handle non-public files?

---

My guess would be that whenever this service is used for real we actually need to deal with all of the details it supposedly abstracted away.

The hard part of blob storage has never been storage, it's all the parts that we imply when we say "blob storage". AuthN, AuthZ, permissions, versioning, backups, querying, partial updates, etc. etc. And for most "simple" use-cases you need one or more of those.

I'm not saying you could have made any of these parts any easier, but I think you pitch them as easier than they could be.

Re: Show HN: File0 – An easier way to manage files in serverless apps

#120

I was kinda hoping this would just be a simplistic API on top of actual S3 so I get the benefits of both.

Interesting you mention this. That was the first approach. The problem comes when you want to introduce missing features to S3. Like tokens, or file filtering.

I didn't realise there were extra features s3 doesn't have, I thought it was just a simplification.

Couldn't presigned URLs work like tokens? And can't you do filtering with s3 select?

It's been a while since I did anything complicated, or much at all with s3 so I am not claiming to be any authority. Just curious!

Post reply on HN