Ask Slashdot: What Should a Non-Profit Look For In a Web Host?
An anonymous reader writes "We are a large (multi-national) non-profit and currently deal with 503s on a near daily basis. We've worked on this for over a year and the host hasn't been able to figure out how to fix it. We're paying for a managed host and need to evaluate other options. My boss has tasked me with evaluating a new one. I'm the most geeky of the group, so I know the terms, but don't have a sense of what's actually needed to suit our needs. We sometimes have upwards of 1,000 people browsing the site at the same time, so my sense is that we shouldn't need massive amounts of power or bandwidth... but, somehow that's not working on our current host. Can anyone help me get a sense of what types of hosting will best suit the needs of a 'large' non-profit? We're not Facebook, but we're not a mom-and-pop shop. Any help or tips would be fantastic, particularly if you've also selected a new hosting provider in the past year or so. I don't necessarily need actual names (though those would be nice, too) but at least some tips on what makes a huge difference when suddenly a whole bunch of people around the world read an email and want to help out."
Sounds like maybe you want a managed VPS with cloud-like flexibility. Something like VPS.net or HostGator, maybe? Or you might want to get a part-time IT guy on board so you've got someone who can handle this stuff without the guesswork or asking the unwashed hordes of /.
If you're serving up static pages you shouldn't need much in the way or resources. I've been hosting my heavily dynamic site (see sig) on Pair.com and have found them to be quite competent.
In a band? Use WheresTheGig for free.
A large, multi-national non-profit org. that hosts content that is looked at by 1000 people at any one time, and that's all the info basically. Nothing about your current usage pattern, nothing about your site, is it dynamic, static, what is it running, what does it do?
I suggest you find somebody to look and evaluate your needs, given that you call yourself 'the most geeky of the group', I think I can figure out that you are running almost no dynamic content (dynamic in the sense that there is an application behind your site), so it must be mostly static stuff that somebody updates by hand (probably), or am I wrong? Can't really be sure from the summary. So giving an advice from your summary is basically impossible, you should get somebody to evaluate what you have, what you actually need, then, when you have that information you can ask more questions on /. and people can actually give you a meaningful advice maybe then.
You can't handle the truth.
Unless people know what your application is, it will be difficult recommend a hosting provider.
Is the issue with the provider, or your staff?
Who is responsible for the application? You or the provider?
Most providers simply provide the infrastructure. Application support is on the customer.
If you guys do not know what you are doing, taking your mess somewhere else might not fix it.
With that kind of traffic you could be making considerable savings and have a much faster site if you used a CDN; They'd cache the static parts of your site - the assets, and hopefully a large number of your static pages. They're normally cheaper than the bandwidth your provider provides, and a good one will be faster still.
I recommend the newcomer fastly for this because they offer a few things that many other places don't (real time stats and the ability to do edge includes so you can cache _almost_ static stuff.) But really any CDN will be better than your normal webhost.
If your hosts don't know enough about webserver tuning, then you need to look into tuning the content --
I'm not going to say that you haven't outgrown your current host ... but odds are your website could be trimmed down unless it was made 10 years ago.
If you have access to configure the webserver, you can squeeze even more performance out -- cache control headers can do wonders, as can properly tuning the database if you're serving dynamic content.
Build it, and they will come^Hplain.
And what's your budget? You can throw some money at Linode to get a managed VPS, and that'll scale up or down very easily, so long as your needs don't exceed what you can do with a single node (it's not hard to throw more RAM and CPU at a problem, but if you need to scale to multiple boxes, that's more complicated). If you have more time than money, you can do the same thing yourself and just spend a few hours a month keeping things up to date and maintained. $140-180 per month is probably going to cover you, or $40-80 if you DIY.
If you really want to have this as close to zero-effort as possible, throw some money at somebody like rackspace who does cloud hosting, where your site is sitting on top of their cloud so they're already handling scaling stuff for you, and you never have to worry even a little about the infrastructure. They start at $150/mth and go up from there, so they'd probably end up more expensive than a managed VPS, but at that point they're doing pretty much everything for you, including scaling to multiple servers transparently.
Asking for "a hosting provider" is not enough context: what are the technical details - languages / OS / DB / expected load, etc?
Have you done any troubleshooting on why are you getting 503s - are there not enough app server processes / threads? Is your DB blocking things?
1000 simultaneous users isn't much, so unless you're on a thoroughly undersized VPS (or worse, an oversubscribed *shared* host) you should first look at WHY things aren't working. Changing hosting providers won't help if your app is doing stoopid things (loading the entire DB in memory on every request, etc) but it will take a lot of cash and time.
I know I'm overgeneralizing, but in large part commodity utility providers, like web hosting companies, don't really care about specific customer problems. They will work diligently to make sure that if they sell a widget, that widget is working the way they say it will, but if you're wondering what your capacity planning outlook should be, where the system inefficiencies are, how you could tune the site to make it perform better - hire a local consultant who will learn about your company, your customers, and your systems. The web hosting companies do care about their problems, just not yours.
Find a consult who's not reselling anything and then if it turns out that the current web hosting company is, or ever becomes, the problem, then he will tell you straight and help you find a better solution. I do this in Northern New England, but you'll find somebody just about everywhere (go by word of mouth from your peers).
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
If the vendor isn't helping or finding a root cause, then it may be better for you to hire an external engineer to look into the problem for you. As mentioned elsewhere there are no details on the application... But as per the HTTP standard 503 is a generic "server unavailable". This could be caused by load or a transient application failure or simply a real repeatable bug that is triggered periodically.
My recommendation would be to contract a developer (how is left as a problem for the OP), and have them debug the problem on behalf of your organization, make the SOW a root cause analysis for the issue.
Assuming you are using a web application of some description, you will most likely run into a similar problem when you move to a new provider. A rule of thumb that I use is that when making drastic changes to a deployment/infrastructure/application/software/etc. You will be invariably swapping a set of painful intractible problems that you know and understand and work around, for a set of new intractible problems that will take time for you to know and understand and work around.
The art is in known whether the unknown intractable problem is going to be better or worse than the previous ones. I am sure most of the SW people on slashdot have seen far too many "Our new system is going to solve all our problems". Only to get given something that is different, but just as bad - but cost a hell of a lot more to put together than the workarounds for the old system...
Have you considered that it might be your application crashing or freezing up that is causing the 503 errors? You'd better rule out that possibility before you look elsewhere, because if your company's lousy code is to blame then you'll likely have the same problems wherever you go.
Breakfast served all day!
Oh, is that what he meant. I interpreted being 'a non-profit dealing with 503s on a daily basis' as looking for some sort of B2B stuff. 503s are tax exempt organizations.
It says something about the guy asking the question: i.e. he's not someone who first tries to pass himself off as a professional to a company and who then turns around and asks /.ers to do his job for him. Rather, he's likely someone who does not do this for a living, who specializes in something else, but is just the guy who got stuck with the website problem. The margins are often too tight for non-profits to bring in specialists. Plus, hiring a web guy would be likely be a deductible expense for most businesses, but not so for a non-profit. We might conclude, therefore, that he's looking for a solution that is as low maintenance as possible. Perhaps that's the significance of this being a non-profit.
(Disclaimer: I'm a Google engineer, but I don't work on or have any particular affiliation with AppEngine other than being a very satisfied user for some of my personal projects.)
Depending on the software you're using, AppEngine may or may not work for you, but if it does it's highly reliable, arbitrarily scalable and quite easy to work with. At the volumes you're talking about it's not free, but it's also not too expensive; perhaps less than what you're paying now.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
As others have pointed out, you've missed a few details. So, you're getting 503's -- do you know why? Is processor or disk load too high? Is your server misconfigured? I'm guessing at this point that your host is managed by a third party -- have you asked them to explain the problems you're having? Have they offered a solution (even if it might cost you more money)?
:)
What is your budget? What are you currently paying? What about your level of in-house experience? If you're a linux / unix admin (or have one at your disposal) you might be best served by using either a managed VPS or colocated server (or a couple, behind a load balancer, but that gets to be more expensive and complicated to set up).
If you're less willing or able to manage hosting yourself, be aware that generally, you'll get better service from managed hosting providers if you're willing to spend money. Even though you're a non-profit, probably with a limited budget, you shouldn't skimp on hosting if you decide that a managed host is right for you. If you typically have ~1000 active users on your site, any downtime will hurt you -- even if it doesn't cost you in terms of donations, it will make you seem less legitimate.
Anyway, here are your options:
Unmanaged VPS -- cheapest option, will require some technical expertise on your end. Potentially less reliable than colocated servers.
Colocation -- Can be expensive, requires a fair amount of technical expertise. If configured properly, your site should be very, very reliable, but there's a lot of room for error.
Managed hosting -- Forget about paying $80/year for managed hosting, considering the amount of traffic you're getting. You may have to spend $100/month or more. Good managed hosting won't require much experience from you or your staff, and will be less expensive (probably) than colocating multiple servers. Do research, read reviews, etc. to find a provider you feel comfortable with. While price is an important consideration, you shouldn't go with the cheapest option just because it's the cheapest. If you need to talk to a technician at 3am, you want to be sure that you're going to get someone on the phone when you call. It's also probably important that the person you get when you call during an outage / emergency isn't an idiot, and with most bargain-basement hosts, you're lucky to get a human on the phone at all.
Good luck
Facts have a liberal bias.
Close, I think you're thinking of 501(c)(3), which is the part of the Internal Revenue Code that spells out the tax exemption rules for charitable non-profits.
*** Work like a king, command like a slave, create like a dog.
Just get 1/4 rack space, two Dell R81x boxes fully loaded (48 cores, 512GB RAM, 6 x 15K 500GB SAS drives in RAID 1 + HS) and that should solve your problems. boxes run around $5K each.
send me an email to my anon email if you like (msharp42@fastmail.fm)
I get traffic like that and manage it on a daily basis.
What reseller gives you 65% off? I priced out an R815 with those specs and the cheapest configuration I could come up with was around $13,500. (but they didn't have 500GB 15K SAS drives, so I used 600GB 10K)
But when someone says "I'm the most geeky of the group" and he's coming to Slashdot to find his hosting provider, recommending that he rent some coloc space is probably not going to serve him well.
But it is free for 501(c)3s.. http://wiki.dreamhost.com/Non-profit_Discount
Hey.. you might want to get that just to have a backup..
If you have a lot of static content, eg, css/js/gpf/gif/swf/png/bmp, etc and do not have access to CDN, at least put an nginx proxy in front of it that loads it all, and forwards the rest off the content to apache (or better yet, just migrate completely to nginx if possible). Does your app have any caching at all? Would memcached be beneficial? Running a stack trace on all http/php processes should give you an insight as to what is going on. Sometimes it;s lacks of resources, sometimes it's something as simple as a buffer needing to be increased somewhere.
Fuck Ajit Pai
Just out of curiosity, is your current provider by chance BlackBaud Enterprise Solutions, or one of their many acquired products?
At my last position, I worked on moving the company from using BlackBauds 'CMS' which consistently threw 503 errors under even the slightest type of load. I would definitely be interested in providing you with some details and requirements for a server. It really does depend on, just like many others have said, what the expectations of your site are.
Do you have a ton of static content? Is it a dynamic environment with regular changes.
I would definitely look in the ways of a VPS, or some other system with root capabilities so you aren't bound by another institutions red tape etc. I know when I worked for a non-profit, just getting through internal red tape was a pain in the arse, and then getting through the red tape of BB was just as bad, if not worse.
HOLY FUCKING BULLSHIT! I spent many decades working in charities and non-profits and honestly am sick of garbage like this. Non-profit groups in North America are a very regulated sector, and in general are filled with people making significantly less than they would in a private sector job requiring the same skills and ability. What's more, in the vast majority of non-profit or charitable organizations the salaries are a small part of where money goes, with the lions' share spent on programs and services to clients. Plus these organizations have send demand skyrocket as the Neo-Con idiots who run our governments have defunded social programs under the guise of budget cuts. Seriously, when did North America decide to be the place where poor, disabled, or elderly people were encouraged to just go curl up in the gutter and die?
I think you're really wrong about this.
My bet would be that a very very tiny percentage of "top execs" for non-profits are "making bank big time". Judging from the many non-profits I deal with, it's more likely that the top execs are making less than the office management. Occasionally you will see well-paid development people, but that's generally a function of how much money they bring in. It's worth paying your development person $100,000 if she's responsible for $5million in annual income.
I run a micro-non-profit myself and the person who does our web development makes infinitely more than I do, which is zero. And I've found that situation is more common than I expected.
People don't usually start (or work for) non-profits in order to "make big bank".
Off-topic, I'm putting this question out to the community: Have you ever met anyone who refers to money as "bank" who is not a douchebag? I'm not saying this is you, icebike, but you should be aware that it is one of the warning signs.
You are welcome on my lawn.
Based on my experience via my wife's work in the state affiliate of a national non-profit, I feel the OP's pain. The non-profit flag is code, and it decodes to incredibly financially tight fisted and technically naive as an organization.
The OP's org likely spent money ONCE to have a professional set up their web presence, without any budget or plan for follow-on maintenance, upgrades, or refactoring. If they thought about it at all, they likely assumed they'd handle these issues with the luck of having someone tech proficient on staff or get someone to donate their time.
Thus, offering what the OP ought to do is a waste of time. It'd be a huge project to write up the justification to spend significant money on this, and the management chain will want to see alternatives have been explored, first.
So, to the OP: your best bet will be to look over the high customer-service ISPs mentioned in these comments. Another alternative is to see if a local college/uni with an IT/CS program has any fourth year undergrads capable enough to be productive as interns.
Luke, help me take this mask off
And so . . . with my nonprofit's focus on the prevention of teen dating violence I have people in school districts regularly contacting me via email and/or visiting my website from schools. From time to time my IP address used to wind up on block lists and I would spend a fair amount of time contacting school web admins to allow my emails through and/or access to my site.
The host I use (HostGator) has worked well for me but unfortunately does not offer a shared-but-not-with-any-adult-sites hosting plan. What I've done to ameliorate the impact is: (1) use Google's fantastic (and FREE) support for nonprofits by using the free Google Apps service to route all of my email accounts through Google and (2) use a free service to monitor my inclusion on any blacklists (MxWatch Monitor via MxToolbox.com). As a result I've been able to avoid almost all email issues and have been able to address any other blacklisting issues as soon as they crop up.
I don't have the web traffic that you do (approx 5,000 unique visitors daily and less than 50GB monthly bandwidth) but HostGator has been almost completely hassle-free. This is the third hosting company that I've used in the past 7 years and I doubt I'll ever have to switch again. I pay around $20 / month and that includes reseller hosting (I help out a few other sites for small nonprofits that don't have a tech background by hosting their sites for them).
If you need further info feel free to contact me - and if you decide on HostGator I'd be happy to give you a referral code (my org could use any and all financial support possible!!!).
JAGga.me ----> Producing video games addressing emotional health and wellness issues affecting teens.
As a web host I can tell you this is coming from the wrong angle, there's no "Large Non-profit" package I could sell you that'd make you happy within your budget. $15/mo general web hosting has capacity limits by design. Ultra-redundant with a 24/7 team of on-call remote hands and the full rack of dedicated hardware that comes with it may not be a smart use of your org's money. Hopefully these will help you better flush-out your solution:
Consider your needs in three categories:
1) Infrastructure.
- What does it take to drive your site?
- What's your uptime requirement?
- What OS/Software/Hardware are you running on now?
- What does traffic look like today? 5 years from now?
- What bottlenecks/problems are you experiencing?
2) Support.
- When things break who's the first person that gets called? Who's the second?
- Who will maintain the infrastructure (security patches, hardware updates, etc.)
- How important is it that you get personal, escalated support at 3am?
3) Cost.
- What's the budget for a Large Non-profit? $3/mo, $30/mo, $30,000/mo?
- What price point can you realistically sell your board?
Typically at least two of these will drive your needs for the third. As a Large organization you're probably looking at 1 & 2, then selling 3 to the board. That can be a whole other mess, but a well designed needs document and a decsion-maker friend to bounce ideas off can work wonders. Make sure to flush out the why, "what happens if we don't", and alternate options for these points, which are by no means comprehensive for your project.
Also consider having a developer sit-in on the needs assessment. 1000 people at a time doesn't mean much with no context of the site. It's been mentioned above: is that 1000 people browsing pure html, 1000 people on a heavily-optimized PHP site, or 1000 people running data intensive operations (like multi-million row searches)? I've personally brought down big servers with crappy PHP code, and run 1000+ active vBulletin forums on 10 year old whitebox servers. It's all in how you identify and address bottlenecks, and a trusted developer can make that process easier.
Hope this helps. Good luck with your search.
--- Need web hosting?