you are viewing a single comment's thread.

view the rest of the comments →

[–]magnora7[S] 3 insightful - 1 fun3 insightful - 0 fun4 insightful - 1 fun -  (4 children)

Oh wow so you've changed quite a bit about the backend then.

Our thinking was that even if it's complicated to run on a small server, it's already had 7 years of testing and fixes for a large-scale environment, so if it ever took off we'd be equipped to scale it easily. I think we ended up making things easy on ourselves thankfully.

2GB of RAM is impressive, I think our deployment takes up 3GB minimum. Your 2-server setup is interesting, the design sounds useful so one server can be a dedicated "gatekeeper". Do you use cloudflare or any DDOS protection, or do you do that yourself too?

Our cloudflare servers do a similar thing to your data query system, I think cloudflare actually ends up directly serving about 60% of our data or so, just mirroring what we already have. So it's probably not as robust as yours, but ours also only serves updates in a way. And cloudflare acts as a globally distributed server network. It's pretty good for being free. But it's not open-source, and we do sacrifice a bit of control over our system for the DDOS protection and distributed cached serving. But it seems to have been worth it so far. d3rr just wrote a script to scrape the original (pre-cloudflare) IP addresses from the header information and add those to our DDOS blocking list and ban individual IP addresses. So we've been able to work around the shortcomings.

[–]go1dfish 3 insightful - 1 fun3 insightful - 0 fun4 insightful - 1 fun -  (3 children)

Oh wow so you've changed quite a bit about the backend then.

There is no python code at all, backend is totally new from scratch with only the HTML/CSS from reddit used.

My host provides DDOS protection but I still run cloudflare in front mostly for convenience.

Cloudflare's cacheing is active somewhat on the data requests I mentioned earlier as well. https://nab.cx doesn't use server side rendering, even if both my vm's go down it will still be readable (it's hosted entirely on openstack-swift)

Cloudflare is definitely a tradeoff and something the users of notabug are often critical of. It's been worth it in my case as well but I can certainly understand the criticisms of it.

[–]magnora7[S] 2 insightful - 1 fun2 insightful - 0 fun3 insightful - 1 fun -  (2 children)

Wow impressive about the backend. How many man-hours do you think it took you to get the new backend working?

[–]go1dfish 3 insightful - 1 fun3 insightful - 0 fun4 insightful - 1 fun -  (1 child)

First version I got running in a week maybe 20 hours, but have been doing 10 hours or so a week on it in the year since.

Still not very feature complete, but making progress

[–]magnora7[S] 2 insightful - 1 fun2 insightful - 0 fun3 insightful - 1 fun -  (0 children)

Impressive.