×
Login Register an account
Top Submissions Explore Upgoat Search Random Subverse Random Post Colorize! Site Rules Donate
29

@system - My proposal to cut voat's hosting costs

submitted by titstitstits to Upgoat 5 monthsJan 2, 2025 21:50:17 ago (+29/-0)     (files.catbox.moe)

https://files.catbox.moe/f9t09a.png

So fyi, I'm a developer who just quit his job and actually has the free time to work on this and I am willing to. It would be a big change with lots of bugs to work out but if we pull it off it will massively reduce the number of requests going to voat's servers thereby cutting the hosting costs. In the process the underlying architecture of voat will be unique and more in line with the original vision of the internet.

Plan is instead of hitting the servers/database every time any user makes a request we funnel all of the server hits through "Chad" users who make periodic, intelligent, controlled requests. So these Chad's are basically acting like server proxies and it is they who serve the ordinary users. The ordinary users then serve each other the most recent reads in a mesh network, torrent, TCP/IP kind of thing.

Of course there will be bugs to work out and that's where we would need serious buy in from the voat users to do such a thing. We could make this code optional until the bugs are worked out but you know, it would still be a bumpy ride and everyone would have to be on board with this idea so they don't get pissed off when there are bugs.

So that's my proposal. I'm willing to work on it if ya'll like the idea. The mesh architecture is definitely cool and would make voat stand out compared to reddit, x, etc. who are still doing things in a very top down kind of way. Oh and of course, malicious Chad's and all that.

The other idea I have is simply to switch to Kubernetes so you can scale your server size depending on load. I mean maybe you already have a way of doing that but doing it in Kubernetes makes it more portable.


18 comments block


[ - ] GrayDragon 8 points 5 monthsJan 2, 2025 23:35:09 ago (+9/-1)

@Big_Fat_Dangus has the answer: PO Box with money orders. According to a @paul_neri post, @system made a post saying his costs went from $400 to over $1K yearly (haha, I thought it was way higher than this). I promise $20 a month (paid one time yearly as $240 because fuck sending twelve money orders). Others on this site will do it as well, I am certain.

Also, system, don't consider it "donations" or "begging for money." You should considered it hell for being forced to continue as our hobby wagie cagie, haha!

[ - ] PotatoWhisperer2 5 points 5 monthsJan 3, 2025 03:04:37 ago (+5/-0)

Money order to a PO box sounds easier than bitcoin shenanigans.

[ - ] paul_neri 1 point 5 monthsJan 3, 2025 03:41:06 ago (+1/-0)

I'm sorry, GrayDragon, but donations are limited to $10 p.m. You're a generous guy and your generosity has been noted.

[ - ] GreatSatan 1 point 5 monthsJan 3, 2025 08:35:09 ago (+1/-0)

Or like i've been saying for years now. HOST ADS LIKE OLD VOAT USED TO!

[ - ] Trope 5 points 5 monthsJan 2, 2025 22:21:01 ago (+5/-0)

One Voat commendation for your proposal.

[ - ] uvulectomy 4 points 5 monthsJan 2, 2025 22:31:38 ago (+4/-0)

All fine and good til a bad (((actor))) comes along and posts something heinous and illegal, then uses that to go after anyone else "hosting" it, and thus break the whole site.

[ - ] titstitstits [op] 1 point 5 monthsJan 2, 2025 22:50:02 ago (+1/-0)*

Yeah and I just realized users would have to know each others IP addresses. Doesn't mean the idea can't be salvaged though. hmm

...i mean, i suppose if everything is encrypted and anonymized that would go a long ways, though still not air tight. /thinks what would an Indian do

[ - ] autotic 0 points 5 monthsJan 3, 2025 10:12:52 ago (+0/-0)

Tor and i2p. Amongst other solutions.

[ - ] deleted 1 point 5 monthsJan 2, 2025 23:11:42 ago (+1/-0)

deleted

[ - ] Prairie 2 points 5 monthsJan 3, 2025 01:11:12 ago (+2/-0)

The first question is whether the current server code has room for efficiency/bandwidth improvements. An easy way to check is compare its performance to other board software for similar loads. A P2P architecture might not be necessary to significantly reduce costs.

[ - ] x0x7 2 points 5 monthsJan 2, 2025 23:30:58 ago (+2/-0)*

In your diagram not everyone is connected to a chad, so there are sub-chads. You'd have to make sure they were reasonably reliable. This is actually kind of what go1dfish did with notabug.

My usual solution to reducing db costs is read and write caching. If the Chads really do reduce the cost and it is more efficient then you can just run your own Chad, in a much more controlled and reliable way, and better clearance of caches when it's appropriate.

What most of these sites that have huge db costs are doing is they are accessing the database directly within the request handler. That's how people would write sites in php so it's the typical hello world everyone sees and then builds more feature on. Then they might do some read caching on top of it.

I've been lucky that I wrote my own caching system a long time ago that's allowed me to build everything cached first. The beauty is that in most systems the database is considered king and then the cache reflects it. In my system the cache is king and the database is a persistence store for it. It makes it so when you design cache first you are guaranteed to get the cache coverage on everything you need when you need it. Is it technically a performance imperfection to be caching things that don't need it? Yes. But it means I never need to solve a major caching problem after the fact only to find out I can't. Everything I build automatically has the chads.

But if system doesn't take you up on the offer I will. I only have a few things programmed right and there is a lot more to get right. If you really do want to work on something and you don't end up working with System, my door is always open.

[ - ] titstitstits [op] 0 points 5 monthsJan 3, 2025 00:32:24 ago (+0/-0)*

Yeah you might be right. The whole thing may be as simple as better caching.

I'm probably committed to my fate of my own personal project which was half the reason I quit my job. But voat means free speech to me which is why Im willing to work on it.

In the diagram. Not every user is connected to indicate it would just figure out the best user to get the latest reads from. Some users may not be good for that.

[ - ] localsal 2 points 5 monthsJan 2, 2025 23:01:57 ago (+2/-0)

I do like this idea and want it to work.

There have been promises of pure p2p sites since torrents became a thing, but the drawback has always been the central servers that are needed to bootstrap everything.

The user can't find a movie torrent without going to a central website to get the link, and that makes the central servers easily targeted.

On the flip side, if there is an automated download of all the torrents for every startup, then the user gets bogged down with a long wait to find anything.

I definitely don't have the answer to this problem, as many attempts have been made to make the pure p2p system, and the ones I've tried have had significant barriers for casual users.

Already mentioned is the possible content issue, where an uncensorable system will face serious scrutiny for such content.

One idea that was floated around somewhere a while ago was to have all the files encrypted and spread out around multiple hosts, so that any user/host has no idea what is stored locally, and only serves bits and pieces, and no complete file of anything. No idea how to do that bit either.

I am interested in how the tech will work.

[ - ] MaryXmas 1 point 5 monthsJan 2, 2025 23:46:00 ago (+1/-0)

Yeah, sure. But isn't kubernetes a little overkill for 56 users and Paul Neri?

[ - ] titstitstits [op] 0 points 5 monthsJan 3, 2025 00:40:13 ago (+0/-0)

Well, some scaling mechanism. If you can put it in a kubernetes scaling is easy. I know you can often get scaling solutions on a host by host basis, at least for the web servers. As for the database, same thing but its expensive. Kubernetes could potentially still scale the database depending on how voat is setup.

[ - ] paul_neri 0 points 5 monthsJan 3, 2025 22:19:25 ago (+0/-0)

No.

[ - ] RobertJHarsh 0 points 5 monthsJan 3, 2025 14:21:10 ago (+0/-0)

What software does upgoat use?