The user base might be really huge. So, solutions such as google apps are not financially viable. Hosting your own server might be a pain. Please share any experience (exactly how painful is that). Both cloud based and server based are options and something really cost effective is desired.