Most important is who will manage the system. You talk about a NGO. It may base its existence on some set of ethical values. Find a person who developed sufficient net skills, and who shares the values behind the NGO.
I manage my own home site. Domain, mail server, web server. For presence online, one fixed IP address, plus some friend with a second fixed address somewhere else, is enough. No opaque clouds to block my view. A small PC which is always powered is enough.
If requests are kept reasonable - i.e., not pretending to be able to handle thousands of contacts per second, not pretending to maintain multi-million contact mailing lists, and especially not pretending to aspire to the useless utopia of assured 24/7 fault-free presence - half a day per week of paid maintenance plus the emergency intervention here and there should keep your ONG afloat.
You should be able to provide whatever PC-dependent functions you want the 20 people to make use of with Linux apps. Your in-house Linux expert, if adeguately motivated, will be eager to write small scripts (or even huge applications) to cater for your specific needs. Of course, workplace PC's should only be used for work-related activities...
This only works for ethically motivated entities. If you manage a purely for-profit concern, no matter how small, you can only motivate experts to manage your network and machines with money, and there will always be someone who can offer more money than you. For good experts who base their choices on money, it will be a no-brainer to abandon you. What you will be left with are unskilled people with some vague point-and-click experience. You can opt for the cloud, but remember that, whenever an even vaguely important concern is raised, the survival or even the well-being of the entity providing the cloud services will always come before yours. ALWAYS! They are big and you are less than small.
The solution: either become a huge money-printing concern and get the best people available on the market, or much better, BE ETHICAL.