2

I'm going to release my website (global, hopefully successful and with large traffic :-)) in a couple of months so I'm starting to think about server.

I was convinced that a managed server would be the best solution for me since I'm not experienced in server administration. However the price for managed server is rather high so now I'm considering virtual non-manged server hired from a hosting company.

I'm an experienced programmer, with masters in IT, skilled to install ubuntu, apacahe, php, mysql but have done it only on my local machine (no server administration skills at all).

If I followed howtos and configs from internet would you recommend me to manage the server myself or do you think it would be more efficient/safe to have a professional to take care of it (for 60 euros a month though)? I'm not going to be a VM/admin guru my intent is only to save money.

What it takes to run such a server? Do I need to be an expert at iptables and security in general if it's a hired virtual server?

What would you recommend me to do?

1
  • 1
    If you are not an experienced sysadmin, and your business depends on it being available 24/7/365, then for $DEITY's sake pay someone skilled to do it - and be prepared to pay more than €60 to do it if you want it done right!
    – Jenny D
    Mar 11, 2014 at 13:33

6 Answers 6

5

Have you considered finding a partner that has the skills you lack? If the site is going to grow rapidly, you will get very tired if you are the only firefighter. Finding a partner you know and trust could go a long way to a successful product launch. This way you get someone to bounce ideas off of, and to help you learn about the things you don't know.

That being said, if your site is just serving webpages and you need to be able to remotely log in, you just need ssh and http ports open, after that, your machine is pretty secure (provided it isn't windows).

Then of course you have the issue of the application you wrote, and how you secured it against attack, but that hole is going to be there regardless of IPTables.

1
  • The 'provided it isn't windows' remark was not needed. All outward facing servers should have additional security considered beyond what the OS provides. Besides it clearly states ubuntu, apacahe, php, mysql in the question.
    – Tim Meers
    Dec 6, 2010 at 21:17
4

I think there are two schools of thought on this.

  • If you are trying to save money, do it yourself (with help of the internet), but when you start getting more traffic and the server administration tasks become more essential to your business, hire one.

  • Do it right from the beginning. 60/month is a small amount is a small price to pay for peace of mind against your server going down or getting hacked.

1

All the answers that I've seen are all offering sage advice.

I was in a similar position to you about 2 years ago. I had a quote for managed hardware for a particularly resilient system (clustered, excellent firewall, etc.) which came to about $1,900 a month plus a $7,000 setup fee (as I'm a Brit I've converted these figures fromn £). I hated the idea of commiting to that kind of cost long term, especially since I wasn't sure how much profit I would make, or how long the development period would be.

...So I bought my own hardware and installed it in my office (normally this alone wouldn't be recommended, but I use a serviced office with it's own security team, generator, video surveillance and redundant leased line with 10mbps symmetrical bandwidth).

Having taken this route, after two years, I can only say that I'm not entirely certain whether I would do the same thing again. It has been great learning about configuring hardware, and because the (healthcare) application needed it, I also got my installation ISO 27001 certified, which feels like a sound achievement. But it has taken a lot of work, a lot fussing (literally, in the server world things often run a lot less logically than in the coding world), and financially I'm still more out of pocket, than if I had taken the managed route. Time will tell though.

Actually, unless like mine your market prohibits it for infosec reasons, I would look closely at Amazon, Azure, or other cloud hosting offerings. This means that if you do have a hit on your hands, you can quickly scale up, presumably with a few clicks rather than rack bolts and screwdrivers.

1

When I started out hosting my blog, I did it by getting a cheap Ubuntu virtual machine for $20 a month. I already had some Linux knowledge, but of a very basic nature. As I tried to expand my VM from just a simple WordPress installation, that's when I consulted the Internet to learn how to setup e-mail, mailing lists, and various other bits and things. That knowledge was quite handy.

After about a year or so, I decided that paying $20 for minimal web traffic (to my blog which wasn't meant to be a revenue generator) was too much. So I replicated the website on to my home Ubuntu box with ease and haven't looked back.

I had fun doing it and the knowledge I gained is useful to this day. Since I work in IT, that extra Linux know-how has helped me get a job purely on my latter skills. So the advice offered thus far is good. Do it yourself, and you'll learn a lot. I wouldn't worry much about hacking as long as you take some precautions, check the logs, and keep a running backup somewhere else (like to your home computer). I did not have anyone teaching all this stuff, so it took longer, but that's the best and sometimes the only way to learn these things.

Best of luck.

0

You're probably going to learn a bunch of stuff the hard way, which is really the only way to learn it anyway. But here's two bits of specific advice:

  1. Devote fifteen minutes every day to making sure that your system looks normal. Check the logs for weirdness you haven't seen before, and look to make sure that performance is as expected. There's various tools to help with monitoring and log analysis (separate questions, both!), but the crucial point is to make a ritual of familiarity with this system. You'll catch a lot of problems in the bud, and be more able to deal with surprise big issues when they do show up.

    This is easy to neglect once everything is running smoothly, especially since it's not your main focus. In fact, having it be someone's main focus is a key reason to hire a person specifically for the job.

  2. Run automatic updates on whatever OS you have installed. The chance of getting a bad update is lower than the chance of missing updates and getting your site compromised, and the consequences of a bad patch are usually only "whoops, I have to adjust something to account for that", whereas the consequences of a hacked system range from losing a lot of work to losing a lot of confidential information.

    If you're an experienced, hands-on sysadmin, you can apply patches carefully and diligently on your own schedule. But since you're not, really, really, just go for auto-update.

0

If you are a new start company, then I don't see any issues with starting off on your own with a VPS or Dedicated Server then perhaps expand in the future (Hardware and Staff) when you think your knowledge and implementation is hindering your expansion.

I run an online e-learning service that has 1000's of simultaneous logins per day that's hosted on a Linode.com 512 node (lamp config), and anything file size heavy goes onto Amazon S3! The linode library and google have tons of articles on how to do high availability/load balancing so personally I say try and do it yourself!

Not the answer you're looking for? Browse other questions tagged .