You are viewing a single comment's thread.

view the rest of the comments →

neogag ago

  • What kind of product licensing? Please tell me you aren't paying for Microsoft SQL Server. Replace all those licensed products with open source equivalents.

  • Maybe silly suggestion, as I haven't seen your codebase: benchmark and optimize so you can use cheaper hardware to host this thing.

djsumdog ago

It's all written in C# and runs on .NET:

https://github.com/voat/voat

I was surprised when I first saw it years ago. Voat could save quite a bit on licensing by moving to .NET Core Docker containers. Microsoft has an office SQL Server Docker container as well (although I'm not sure if you can get production licensing for it; I just use it for integration testing).

Zorton ago

Is Mono an option these days, seems like the M$ tax could be destroyed that way.....

PuttItOut ago

The code has just recently gotten to a place where we can optimize it. It is on our list but we need staff, it's simply too much for me to continue doing alone. So, if funding does happen, this will be one of the first things done.

We have been working our data access code to be able to port to pg, but to answer your question, sql is not a significant cost for us right now. This will not always be the case.

0011011000111001 ago

There are a lot of really smart people on Voat. Would you be willing to allow help the community? Make a post asking for coders/developers to optimize the code?

SeptemberVirgin ago

There are a lot of really smart people on Voat.

I've yet to find them.

RiverWind ago

This is a great suggestion.

Enough people have seen Voat in action now for users to have great ideas for Voat 2.0. Also, there are likely to be sufficiently technical people here to know how best to implement such suggestions.

I think the thing to do would be to recruit brains from the right places. Define the skeleton around which discussion could take place. Characterise the types of topics that need attention and set some goals accordingly.

go1dfish ago

sql is not a significant cost for us right now. This will not always be the case.

What is? bandwidth? CPU?

sakuramboo ago

Bandwidth is always the killer. Storage is always pretty cheap, especially on AWS.

neogag ago

The site is all text which compresses well with gzip, so I wonder if it really is bandwidth that's the issue. He mentioned licenses, I'm dying to find out what product licenses!

sakuramboo ago

Text doesn't get compressed when transmitted, though. And, with the added SSL layer, that's even more.

Bandwidth is always the cost killer of any site, unless you are a specialized company dealing in big data or data processing, etc. You pay for every bit that goes in and out of your network. So, that asshole who hits F5 for 2 hours because you called him a lame-ass, unless your site has a free caching service, you are paying for that.

Yes, licensing costs are also a huge factor, but not as bad as it was 15 years ago. However, I do agree that porting everything to Linux/PHP/Postgres would be a pretty big cost savings, too (though, not as much as one would think. Azure/AWS is still pretty cheap).

heebykikeburger ago

Could a restful/dumb backend with something like React on the client save a shitload of bandwidth?

neogag ago

I'm launching a service soon and that's what we're doing. There is no need for complex abstractions on the server side (MVC); Microsoft platforms encourage that, but it's a huge hindrance and reduces productivity.

If you go with REST, you can go stateless (JWT) and not maintain session on the server at all. This lets you scale horizontally very easily.

heebykikeburger ago

Nice very modern.

neogag ago

Gzip does compress the request/response payload before transmission and it gets decompressed when it reaches its destination (browser/server), so it does reduce bandwidth usage, very significantly on a pure text site like this.

This page, for example, gets reduced by a whopping 85% thanks to gzip. https://checkgzipcompression.com/?url=https%3A%2F%2Fvoat.co%2Fv%2Fannouncements%2F1866053%2F9138900

neogag ago

  • Again, maybe a silly suggestion: you could also go for auto-scaling hosting. AWS has that, it's not too hard to setup and will scale down hardware automatically depending on the amount of traffic you get

  • Use Async everywhere to serve more requests while IO operations are happening

  • What kind of staff/contributors are needed? Maybe we could get people from v/programming to help out. My spare time is very fragmented, is there a way to contribute for someone who has numerous small irregular blocks of time?

  • edit: Also ditch Comodo SSL certificate, Let's Encrypt is free and easy as hell to set up!

edit2:

  • Double cache duration on up/downvoats

  • Enable HTTP2, it multiplexes frequent requests using a persistent connection

RiverWind ago

AWS could be a stop-gap. If desperate, they have an options where you can choose processing as it becomes available, but not on a guaranteed basis.