amuck-landowner

vpsBoard - Community input and feedback on our infrastructure and future

Dylan

Active Member
I worry this is going to sound rude but in my experience one of the biggest problems a lot of IT people face is a tendency to over-engineer things -- and I think that's what's going on here. Resist that urge and keep it simple. This is a relatively small site with a niche audience and a larger KVM or lower-end dedicated server, with or without a MySQL slave, would be more than sufficient.

Also, you should look into Incapsula if you're displeased with CloudFlare. Similar CDN functionality, but with much more of a focus on security. I've been moving some sites from CF to Incapsula and haven't looked back. Only downside is that they don't give unlimited bandwidth and their DDoS protection plan is $299 instead of CloudFlare's $200.
 

mikho

Not to be taken seriously, ever!
Hello Everyone,


Over the past month there have been several topics going back and forth, from selling Ad space to finding a way that we can make this place fully community supported. MannDude and I have been going back and forth in private message for a few weeks now on this topic and we thought that it would be something that we should allow the community to have some input on.


Currently vpsBoard's infrastructure is relatively small, as the site is hosted on a BuyVM 256Mb KVM instance and using BuyVM's offloaded MySQL services for MySQL. So far this has been a more than reasonable start, however, going forward as this community grows, this will need to change to keep things moving and working at reasonable speed.


My proposal to MannDude was to create a cluster of servers, instead of using just one or two large servers. Now there are probably many ways to do this, but we are discussing using not only the services that are the topic of this board (VPS) but also trying to keep this as low cost and community driven as possible. There has recently been a few different posts on Varnish here, so as you can imagine this is one of the parts that was discussed.


So, my proposed method was to use several DDOS protected VPS server as reverse proxy entry ways, with several backend web servers to provide the non-static content and use at least two reasonably sized SSD VPS servers in a Master-Master replication to provide the MySQL services needed by the cluster. On the reverse proxy using Varnish and Haproxy (to provide better session control as forums are very dependent on session cookies).


When discussing it with MannDude I threw together a quick Visio drawing of what this might look like, to give you a better idea of what I am talking about graphically. You can find the drawing here

About  this point, you are probably wondering, what does this have to do with me? Right? 

One of the reason I suggested  this clustered method is because we would be able to allow providers and community members alike who would like to contribute to this infrastructure an opportunity to do just that.  For the back end servers we could allow the community to provide these instances, allowing the cost to MannDude to be reduced.  Okay, so now your next question is likely. "How do we do this while being provider neutral?"  Well, using this type of setup would allow people to contribute resources in an anonymous manner as the only ips the members see when coming to the site would be those of our entry proxy servers and not those of the backend resources. Meaning, anyone who is willing to contribute is not going to be directly advertised, however, MannDude has said he will give an honorable mention to those who do decide to help (we have not yet determined how that would be displayed).  Those who do contribute also can not claim to host the site them selves, as it would be a distributed infrastructure.  In a case where say one contributor is not able to provide said service any longer, we could remove it from the cluster and still continue to run without much immediate effect.  Then, as we can, replace the node with a new contributed server.

All this said, maybe the way I have mentioned is not the best way and is certainly not the only way, so at the same time I am bringing this option to you, we are still very much open to some more suggestions on how this can be done or even made better.  So please, leave feedback, make suggestions and lets come up with a way to keep this a community initiative instead of having to have Ads plastered everywhere.  

Also, if this is an interest to you and you wish to help build this infrastructure or help to maintain it and you have some skill sets you would be willing to offer for free to help us out, please speak up and let us know.
Took me some time to get to my computer so I could reply to this thread. 

Like many others already said, this is a little way over the top. My concern is not the amount or specs of the VPS / dedicated or even the technique behind it, it's the sysadmin time to manage and fix things when it breaks down. Trust me, it will eventually.

The board is currently running on a KVM with 256mb RAM and offloaded mySQL (if I remember correct) and it's working "ok" for the most of us. Some interruptions happens, not counting the outages from the providers part (planned or unplanned). What I'm trying to say is that even technically your suggestion looks a little "over the top" at this moment with the current amount of users.

If some changes should be done to make a transition to another provider easier it could be stuff like:

* moving the mySQL database to a VPS of it's own, perhaps an SSD VPS.

* master -> slave replication of the database.

* rsync of files to a backup webserver, ready to kick in if/when there is a change of heart regarding the provider.

When we have the same amount of member as WHT we might consider a full-blown solution like you have suggested.

This is a "simple" forum, we will survive an outage for a couple of hours without having to many seizers :)

It's worse if something like what happened to RamNode and CVPS where whole nodes are wiped. Thats when a backup plan should kick in. 

Hope it makes sense, its 2 AM (again) and I'm almost falling asleep over my keyboard.
 

KuJoe

Well-Known Member
Verified Provider
Speaking of backups... not sure how these are being handled now but I'd be willing to chip in here also if needed. ;)
 

earl

Active Member
I would just sell AD space and put the site on a dedi...and if it can generate 10k/mo like LEB/LET that would buy a lot of beer and hookers hahaha..
 

mikho

Not to be taken seriously, ever!
I would just sell AD space and put the site on a dedi...and if it can generate 10k/mo like LEB/LET that would buy a lot of beer and hookers hahaha..
+1 on the beer, you can keep the hookers :)
 

earl

Active Member
+1 on the beer, you can keep the hookers :)
Gee thanks!! extra hooker for me!! hahaha I guess you had your fill.. if I'm not mistaken you are on vacation in Thailand?

I'm just kidding bout the hookers by the way.. me being a good catholic an all I don't condone prostitution, lol.. just sounds like the thing to do when your rolling in the dough..
 

mikho

Not to be taken seriously, ever!
Gee thanks!! extra hooker for me!! hahaha I guess you had your fill.. if I'm not mistaken you are on vacation in Thailand?


I'm just kidding bout the hookers by the way.. me being a good catholic an all I don't condone prostitution, lol.. just sounds like the thing to do when your rolling in the dough..
Back in Sweden since 2 weeks ago.


A little difference leaving 32 degrees celsius in the shade to 11degress celsius in the sun.


But I'll survive :)


Getting back to work on monday :(


A catholic?! Thank God you are not a priest. :p j/k......
 

threz

New Member
I think there are two issues in this thread that should be dealt with, most likely individually. The way I see, this thread breaks down into:

  1. How to fund the ongoing operations
  2. How to provide increased reliability
@TheLinuxBug provided potential solutions for both of those issues in that he proposed that users donate VPSs/Servers to keep the place running an that @MannDude configure them in some sort of a cluster. 

I have some issues with both parts of the proposal. Firstly, I think that having users donate servers just adds way too much complexity, uncertainty and overhead for @MannDude or other administrators. How long will the donated server be paid for? How do we know for sure that the user has not retained some control over the server, and will just take it back when they want? Or worse, rummage through the database? 

Under that kind of system, I see @MannDude basically having to juggle and reconfigure servers in a constant rotation of replacing cancelled or offline donated servers. It's just too much work for something very uncertain... and I don't think it will be a successful long-term funding model for the site. 

Honestly, I think that @MannDude should put ads up on the site, as he started a discussion in a different thread. They may not be the most popular, but done well, relevant and vetted I think they could work well and would provide the most stable income to fund the continuation of this community without being dependent solely on the generosity of @MannDude or random users.

If ads are unequivocally off the table, then I think the next best thing would be having a donation system. This could work well and wouldn't have ads, but would mean that the admins would have to set up donations drives and potentially bug users for donations periodically. It seems like more work for more uncertainty, but would be better than donated servers. 

For the second point about site reliability, I tend to agree with other users that keeping it simple and just eating a small amount of downtime is the easiest and best way. This isn't some critical application that requires high availability or anything like that. Some downtime here and there should be acceptable. 

The problem with reliability is that trying to get rid of that single point of failure means there are no real simple solutions. The easiest way that I could think of would be to set up some GeoDNS with failover (non-instant, probably would take a few minutes) and then have 2+ VPSes synchronized. 

But, how do you synchronize the databases? Running a synchronous cluster over the internet would create huge latency, and running an asynchronous cluster could introduce some really tricky collisions and other issues. And then you have to monitor the servers with Pingdom or UptimeRobot or similar and integrate that with your DNS service to provide failover... it's all added complexity for what? A few minutes of extra uptime per month? 

I would keep the site on a reliable VPS, funded by the least intrusive ads that @MannDude can manage, and just don't sweat the downtime unless it becomes unbearable. When the site starts getting much bigger, and is bringing in enough money to fund a dedicated server, go that route. Do true IP Failover within the same datacenter. If the site really becomes hugely successful, and there is a desire for true high availability, then look into a proper solution (master/slave with failover?) when there are trusted admins and a guaranteed income to support it. 

But, really... we're just talking. This is @MannDude's site and he has the last say in what goes. I urge him to keep it simple, and don't give in to building something complex just because it sounds cool and may work. 
 
Top
amuck-landowner