I'm in a mess here. For a couple of years we've been running our own custom made application on a local server in our office. The servers had its well bad days and good days now and then - however the server literally died a couple of days ago - during routine maintenance we hired a freelancer to install a printer - the moron instead ended up destroying the server [I'm still speculating he tried to mess it up a bit so he could charge for fixing a self inflicted error only this time it went beyond his own ability].
Our system is down and we're seriously looking forward to hosting our web application on an online host. I'm quite open to suggestions here. Let me explain what is the nature of the system we are running here.
Our system is Php MySQL Based - its a critical data time centric collaboration system. Basically we have a corporate email address upon which we recieve client requests. Our application is used to collaborate those requests. We have a cron job running periodically in the background or actually Scheduled task running which actually physically downloads the emails from the email account and converts it into a format that can be input into a database for querying and then deletes the email from the actual account so its in our database and thus our system can collaborate using it instead of having to make an IMAP connection everytime we need an email. This cron job is set to run every 3 minutes considering the vast volume of requests we recieve - so its very time centric our application. Now and then the scheduled task does hang - so we sometimes have to manually restart the scheduled task.
The scheduled task also downloads attachments from the mail server and stores them as flat files on our web application. On average email requests have no attachments but in routine the average attachment varies between 200K to 10MB although attachments above 5MB are a rarity. Most of the downloading is between the mailserver to the web application.
I need a host that is reliable, has next to zero down time because we're not going to be running a website we'll be running a very critical application - I mean our business depends upon it and my boss is literally inches away from breaking down and loosing his sanity at this moment :.
Someone suggested rackspace's cloud servers - I'm looking at those but basically since I'm a programmer - my exposure to teh networking and hosting side of things doesn't extend beyond troubleshooting and debugging a web application. So I need some suggestion for the situation we are in - would an online host be a good idea or do we need to invest in better network hardware[for now we've scratched one freelancer off] - considering the option of an online host what options should we look out for which offer value for money. Cheap is good but not if theres going to be a huge compromise on quality...help please :( its urgent
EDIT ====
The advice is great though but right now I was considering this situation. Lets assume I go for an online service like cloud hosting or a dedicated server - would I still require a failover system to be set up in this case and if so - how would that failover system be set up or what would be the best way to handle it. We're a small company and the other IT guy has had some well not very good experience with Managed Services from another host - its like you need someone to constantly coordinate with the host on the manage service and if we have to do half the work then we could pretty much invest some time to manage our own server be it local or cloud.
In the situation defined above - if we consider an online dedicated host.. how would we set up a failover system?