Server recommendation for startup company... Cloud or not?

I have some general questions regarding the "best" way to deploy a web application (and host wordpress blog) for a small startup company with limited capital.

Right now we have a simple Ubuntu server (old Pentium 4 machine) with Tomcat/Apache/MySQL/PHP. Tomcat is used to deploy our Grails application. Apache/PHP/MySQL are being used to host a Wordpress blog. The server is on a home line... using Dynamic DNS service to update changing IP. Obviously this is not a good permanent solution.

If we were to take a next step, what would you recommend? Amazon EC2? Buy a new server and dedicated business line? Other options? Stay with what we have? Obviously there are a lot of factors that go into making the proper decision... looking for some ballpark answers to help me gauge if I'm headed down the right path.

Thanks in advance!


Advantages of cloud hosting:

  • Very fast to set up
  • Low up-front costs
  • Easy to scale up or scale down as needed
  • Easy to build out to multiple sites for redundancy
  • Access to a community of people solving the same problems on the same platform

Disadvantages of cloud hosting:

  • Need to trust someone else's security practices
  • May have limited choice of platforms and tools
  • Host may provide "black-box" services that fail in unexpected ways
  • At large scale, may be more expensive than doing it yourself
  • May have higher network latency to the customers you care about

My personal opinion: if you're a start-up, focus on your product and your customers and move fast. Go for cloud hosting unless there are platform, security or performance issues that are critical to you.


Whilst I agree with Tom Shaw on the advantages and disadvantages, my judgement from that list is different.

If you have the smarts to do something in-house, do it in-house (a position I favour on nearly everything, by the way). Yes, there are disadvantages to that, primarily that you are spending the time and smarts of internal people for which there is probably internal competition - but because these costs are "in your face", you will naturally balance them on a day-to-day basis.

If you can't do it in-house, do it in the cloud, but be aware of the risks you are taking. Where clouds - and many other out-sourced solutions - go wrong is that because, with the exception of the bill, the downsides aren't in your face day-to-day, people tend to ignore them. Risk analysis doesn't benefit from a "squeaky wheel" approach, for a risk is no smaller just because it's not happening in your face.


My answer won't be very popular here but consider using a VPS such as Linode that at $20/month will perform better than any cloud hosting offering at $99/month.

Cloud hosting is mostly used by two groups of people:

A. Those that have persistent but relatively short spikes in traffic every day which require an instant 2-3x number of servers.

B. People who mistakenly believe that they are getting cheaper hosting, more performance, and scalability that goes above the resources of the hardware (of that 1 server they are on).

Very fast to set up

As are most VPSs. And dedicated boxes can take less than 2 hours before you get your login information.

Low up-front costs

VPSs don't require any up-front costs, and neither do dedicated boxes unless there is some type of a mostly fake setup fee. Only colocation requires for you to purchase the initial hardware.

Easy to scale up or scale down as needed

Most clouds don't scale above the resources of the server your VM is running on. Sure, you might be able to transfer it to a larger box, but the problem remains as-is and can only be solved by creating distributed applications. The OP is talking about running WordPress here.

Easy to build out to multiple sites for redundancy

Okay. So are VM images on VPSs.

Access to a community of people solving the same problems on the same platform

Maybe. But not really. As there are plenty of communities around all hosting.