Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Sorry if this newbie question has been asked before. (I checked but couldn't find it).

I have just found that I can no longer run my web apps on the very reliable (no maintenance for me) in-house hosting server that I used because I exceeded my hard disk max allocation of just 2GB(!) and also I exceeded the active memory allocation which was just a few MBs. I have now been told that I have to setup my own server. So, what is the best server choice?

These are my needs:

  1. I need a server OS that is secure and requires minimal setup and management. (There is no IT professional around so I will have to do everything myself.)
  2. I need to run some php (later python?) web apps that drive a backend language corpus sqlite (later mysql) database of several GBs in size, that ideally I want to store entirely in active memory to speed us sorting of select results. In corpus database applications, often the select will produce many hundreds or thousands of results that have all to be sorted on multiple columns. (Indexing is essential but fast sorting is also key).
  3. I need to run a very low demand (but critical) Drupal content management system with probably less than 10,000 hits a week.
  4. (I don't need any file server, print server, email server functionality)

The current hosting server is Linux/Apache managed through cPanel. I'm looking at buying a server with 48GB of DDR3 RAM, Raid 1, and two SAS drives. (Is this completely overkill?)

The big question is should I go for Linux (e.g. CentOS, SME Server, or something equivalent) or Windows Server 2008 R2? Linux seems most suitable for php/mysql apps, but I wonder if Win Server 2008 R2 is easier to manage.

Any comments/advice would be greatly appreciated.

share|improve this question
    
Without an IT professional, don't even think about hosting it in-house. –  gAMBOOKa Feb 17 '11 at 19:56
    
As I said, I cannot continue using the hosting server, so what options do I have? Giving up on web app development is not an option! –  Lozzer Feb 18 '11 at 1:54
add comment

2 Answers

The best solution to meet these needs would be in the direction of a cloud hosting provider. There are a lot out there and they all have strong offerings, it would most likely come down to price and the amount of services offered.

Starting off with the operating platform I would most likely say that you should stick with what you are currently running. The migration of all your content from application to database layer is going to be very time consuming and expensive if you are leveraging 3rd party to migrate this.

As far as a management perspective goes, some of the cloud providers offer management as an added service and that extends beyond just the operating system but into the database realm and applications.

You mentioned CMS and sounds to me like a LAMP stack. I can recommend some hosting companies which have templates you can use to get started and prices as low as $0.06 /GB ram hour.

Taking a look at Amazon, Rackspace and Logicworks would be a great place to start. I actually am an engineer for one of the mentioned so i'm quite familiar with the service models and able to assist you, if you have any questions reach out to me, best of luck!

share|improve this answer
    
The active memory limit is what I am most concerned about. Do these cloud hosting providers give users a few GB of RAM to play with? With my current hosting provider, I cannot edit the php.ini files, so I am stuck with what they offer. Even sqlite was a problem to setup. –  Lozzer Feb 18 '11 at 1:57
    
Yes, while I am not sure with all of them, teaming up with the right provider, they will offer you GB's in block allocation ranging from 1GB, 2GB, and onwards to as many as 16 or 32GB for a single instance. Some will allow you to change the allocation at any time, having this agility would be critical for certain applications to meet the demands of incoming spikes in traffic. –  Nick O'Neil Feb 23 '11 at 19:22
add comment
  • If you are just looking for ease of management I would go with whatever OS you are most familiar/comfortable with. If you can't decided just go with what you are currently using. You may wish to double-check that any application/package you wish to use in the future will work on the system you choose.
  • Another thing to consider is how much support is available for the OS/system and applications you choose. For example, I am far from a Linux expert but there is so much HowTos/forums for setting up and managing Linux systems it is not hard to find the information and help when I need it.
  • 48GB of RAM seems like a lot for a database of only a few GBs in size. Consider getting less memory initially (4-8GB) and see how that works for performance and upgrade the RAM as needed. This all depends on how memory hungry your app is, how easy it is to add RAM, and what your overall budget is.
  • When considering how much memory you need look at your active record set size compared to your total database size. For example, the total size of the database I use is 7GB but the active record set is much smaller than that, 0.5-1GB maybe. Despite giving MySQL 4GB of memory it only ever uses 1-1.5GB of it.
share|improve this answer
    
Good suggestion to think about the record size and start out with a small memory size and scale up. This will allow me to shift some of the price onto a redundant power unit, remote access, and some other goodies. –  Lozzer Feb 18 '11 at 2:03
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.