Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

These costs seem absurd.

For instance, 1.3$ million per year for storage??? Apparently, they have 40 million users, so 1 MB per user (seems reasonable for Signal) means 40TB. You can buy a 4TB SSD for $200, which means you need $2000 one-time for 1MB per user.

How they get from $2000 to 1.3$ million is a mystery.

As for SMS registration, if they are spending 6 million, maybe they should find some way of doing it for free, e.g. Google might be offering it with Firebase, Twitter used to have it, etc. It's not great for privacy, but if they care about that they should just stop using phone numbers.

Routing video calls through a server to obscure IP address seems totally pointless while you are revealing the phone number anyway. And again there might be a way to do this for free, e.g. perhaps using one of free WebRTC STUN/TURN servers that e.g. Google seems to run.

As for bandwidth, a very conservative estimate seems 100 MB per month for each of 40 million users, giving 4 PB per month (though I guess the real usage is 1/10 that at most). Hetzner charges $1/TB, so that gives $4000 per month or $40k per year, overestimated.

Again a mystery how they get from $40k per month to $2.7 million.

Maybe the problem is that they use AWS/GCP/Azure/etc.? They have to be real idiots to use them since everyone knows they are insanely overpriced and should never be used unless a large corporation or deep-pocketed investors are footing the bills or they is no other possible solution.

Perhaps they need to consider stopping dumping money down the drain before asking for donations.



I'm starting to suspect there's more to securely stowing user data than throwing it on a bunch of 4TB SSDs!


Sorry, how does 1 mb per user seem reasonable? I’m sending tons of videos, documents and pictures, probably beyond a gigabyte daily. Just one video is like 40Mb. 1Mb assumption seems absurd


It's not stored on the server, except perhaps transiently.


If I open an old chat, and press "play" on old video, and it's downloading before being played, where is it download from? Same for downloading a file.


Hmm ... Good question.


I really, really, want to go into a bunch of detail on exactly why this calculation is so incredibly naive. More as a personal thought exercise than for internet fame (since this will be buried under a buried comment).

Maybe I'll find the time...

But, like everyone else is saying, putting things in a datacenter in a resilient way for a high profile, high bandwidth, multi-national app is not the same as buying some ssd, or even running a hetzner instance.


1MB per User? People share tons of pictures and videos, I‘d guess that the average is more in the 0.5 to 2GB range.


I assume they only need to store it between the time it is sent and the time it is received by the recipient.

Maybe the problem is that the Signal app doesn't eagerly download messages upon notification? They should start doing that given the money issues.


If you only have the phone app then yes they are instantly downloaded and removed from their servers.

But if you have Desktop client(s) registered, then they need to hold onto those messages until you open your client(s).

That is why they have a 30 day login limit on Desktop clients. If they didn't they'd potentially have to hold onto messages forever.

https://github.com/signalapp/Signal-Desktop/issues/4730 https://community.signalusers.org/t/dont-unlink-devices-afte...


That seems like a problem.

But the solution seems to be to have the desktop client request data from the phone.

In fact I'm not sure how it can possibly work otherwise (what if someone just uses their phone for years and then opens the desktop client for the first time ever? does that not show any old messages? seems a terrible design).


Yes if you open the desktop client after 30 days its de-linked and you lose all new messages. And yes its bad design and very annoying, but understandable given their storage limitations. Have a look at the links I posted.

Retrieving from the phone would be a better idea I agree.


Signal doesn't save history so at any given time most users use 0 storage


> How they get from $2000 to 1.3$ million is a mystery.

$1.3M seems excessive, but your calculation is really, really naive.

Storage for a business doesn't really compare to buying a 4TB SSD for your personal use.


Surely 1MB/user for the whole year is more than enough.

It’s in the realm of “64KB of RAM should be more than enough for any computer”


Did they also add their cost of dev, admin, etc. into the calculation? This could have a big impact as well.


Yes like paying 30$ for Tylenol in a hospital. You didn’t pay that much for the pill but for a nurse to enter that you need that into a schedule and then actually deliver it to you.


1mb per user? What is this 1992?


Was this intended as satire? I honestly can't tell.


I think it's satire? Or perhaps they didn't know one can send pictures and videos on Signal and assumed it was only text.


Hmm, no?

Photos are generally <1MB in size and I think have a single photo sent but not received on average per user seems reasonable (most users probably almost never use Signal, and of those that do probably most only use text, and those that use photos probably most don't send more than one or a few per day).

Videos are probably relatively rare and if not maybe they should do something about them, like not storing overly large ones them on servers and requiring both phones to be online to transfer.

There's a 500x margin between the estimate and their costs anyway.


> There's a 500x margin between the estimate and their costs anyway.

It's probably more than just storing it in s3. Given their list of

> Storage: $1.3 million dollars per year. > Servers: $2.9 million dollars per year. > Registration Fees: $6 million dollars per year. > Total Bandwidth: $2.8 million dollars per year. > Additional Services: $700,000 dollars per year.

"Storage" probably also includes the cost to host it on their databases or some queuing/redis etc...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: