Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The micro instance of Amazon EC2 only has ram of 613MB, my laptop got 8GB. And I suppose likewise the processing power of my computer would be better than the micro instance.

My question is, what are the considerations in deciding to host yourself or on Amazon EC2, especially for a really baby startup?

For example, would network speed be a problem? My computer broadband network is 100Mbs up to 1Gbs. What would Amazon compare to this?

My site at these moment would just host some images and perform some php requests. I would probably also use cloudflare but seems it increases the dns lookup time considerably... And of course the overall objective is to make the best user experience.

share|improve this question

closed as off-topic by Falcon Momot, Ward, Bryan, Jenny D, Nathan C Jul 6 '13 at 19:08

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they tend to become obsolete quickly. Instead, describe your situation and the specific problem you're trying to solve." – Falcon Momot, Bryan, Jenny D
If this question can be reworded to fit the rules in the help center, please edit the question.

As a startup, you should not spend time to setup things that do not add business value. It will likely cost less if you pay for an external service that will manage it for you. – marco-fiset Sep 25 '12 at 13:57
Related: – Mark Henderson Sep 26 '12 at 1:25

With very few exceptions never host from a laptop.

They're almost the diametric opposite of a server, they have little or no resilience to handle any failure whatsoever, are typically designed for battery life not performance, have slow disks usually, even their NICs aren't particularly capable.

Oh and your broadband is highly unlikely to be 100Mb-to-1Gb, that's the speed of the interface not your outgoing speed, in fact hosting via broadband is usually a very bad idea because your upstream speed is a fraction of your download speed.

We're professional sysadmins on this site (as I'm sure you read in our FAQ), we don't mess about, if you're just running a minecraft server or similar you may get away with what you have but if you care at all about your 'clients' then don't consider using a laptop or broadband link to serve them.

share|improve this answer
Disagree: webserving is easy to scale horizontally, buying quality big-iron for webservers is a false economy. Look at what Google do. One of the best things you can do for performance and availability is to add a UPS - and laptops have one built-in. But as per answer elsewhere, other considerations suggest that this is not the route for StCee to follow. – symcbean Sep 25 '12 at 10:43
@symcbean what about redundant PSUs, laptop PSUs die, well they all do, what about ECC and CPUs that deal with faults better such as Xeons, what about simple disk mirroring? I'm totally fine with using low-end PCs as google do but using laptops is too far for me. – Chopper3 Sep 25 '12 at 10:48
I've no idea but I still think using a laptop will come back to bite you. – Chopper3 Sep 25 '12 at 11:35
I can't believe this is even up for debate. Wow. – gravyface Sep 25 '12 at 23:54
@StCee - AWS Micro == free for one year. No financial risk. – Mark Henderson Sep 26 '12 at 1:38

If you have a business, you need real hosting, not some stuff running on your notebook. EC2 is certainly much more reliable than your notebook on a home broadband connection, and you can scale it effortless if your demands get bigger.

Also, home broadband connections are often asymmetric with a high download speed and a slow upload speed, which makes a home server impossible to begin with.

share|improve this answer

I think hosting a live website on your home laptop is a terrible idea, you have to take into account:

  • If you want reliability, you cannot rely on a laptop. If you have powercuts, if you laptop runs out of power, etc. your website is going to become unavailable. Using Amazon will solve this problem as there data centers will be highly disaster proof with minimum downtime.

  • In terms of security, how will you be allowing the outside world access to your laptop. You have to consider if the commercial router you will have is providing enough security to allow direct internet access to it.

  • If you're only running a small website serving up images and a few PHP requests, I do not imagine you will need more than a micro instance, it will be unlikely to be taxing the entire RAM.

  • Also, with your commercial broadband link, you probably have a very low amount of traffic coming down the link which could cause issues in the future.

I think your best bet will be to continue using Amazon EC2, the cost is minimal for a much better, more reliable service.

share|improve this answer

That you are asking the question implies you have limited experience / knowledge of managing a system. While it's difficult to learn how to do this without diving in and getting your feet wet, I'd strongly sugest that you look for a managed service (VPS or shared) - but do beware that the cheapest packages often offer the poorest levels of support.

For example, would network speed be a problem?

Network speed is always a problem - but usually it's latency that's the problem - not the bandwidth. Make sure your chosen provider is close to your user base.

share|improve this answer

You would face a myriad of problems hosting from home, the least of which would be your laptop. Some issues I can think of off the top of my head;

  1. You undoubtedly have a dynamic IP given to you by your ISP, if this changes, your site goes down until you notice that it's changed, update your DNS records, and your DNS propagates.
  2. You will (9/10 times) be violating the terms of services by hosting a service on your home ISP. In fact, port 80 and 443 might even be blocked by your ISP. Worst case scenario, your home internet service is shut off w/o warning due to hosting a website on a home connection.
  3. Your upstream is a fraction of your ISP's package. You need to look at what package you have from your ISP, I guarantee it is not 1Gbs.
  4. You might one day want to take your laptop out of the house with you?

I'm not clear on what you really need to host, if it's just ruby code, or php or something like that you should look at starting with heroku, which is a service based on top of AWS, which takes a lot of the management issues you face out of the picture. If you require windows (C#, etc) then you should look in to doing it yourself on AWS, or find a managed service out there that provides support for windows.

share|improve this answer
Re: #3, you can guarantee that the internet connection is not 1 Gbps as long as the asker doesn't live in a place like Hong Kong, Chattanooga, or Kansas City... – Skyhawk Sep 26 '12 at 0:46

Assuming you're developing a Web/Internet based service, as of right now, your choices vary greatly: you can buy a server and put it in your own rackspace at a data center. You could use shared/commodity hosting, get a virtual private server (VPS), or go with a cloud offering like Amazon's EC2.

The former requires expertise and a significant outlay of capital, but gives you the most control. Shared hosting is probably the cheapest, but the service quality can vary greatly and they usually don't offer any guarantees on uptime at all and offer little in the way of control. Virtual Private Servers are better in the quality and control department, but are more expensive and not quite up to the cloud's "theoretical" (more on that later) resiliency, uptime, and control.

As for the cloud, the promise of instant scalability and resiliency is so prevalent, but is not easily obtained without a very sound understanding of cloud principles and architecture to make that happen: an EBS-backed EC2 instance can fail unrecoverably just like any other server (happened to me last week, but thankfully I had a backup; an "old school" file level backup, but it was in-line with my uptime requirements for this not-so-important Linux instance I had running for a customer; I was up and running in a couple of hours and that suited them fine).

This is the "unknown", unfulfilled promise of the cloud that can bite a business just as badly as having a physical server with no backup can: if you don't know/understand the tools of the Amazon ecosystem and have designed your application/service with these tools in mind, your app is no more resilient than a shared hosted, VPS, or physical box somewhere.

Having said that, one cloud-based solution that may be the most appealing to you is Platform as a Service such as Microsoft Azure: you get the .NET/SQL application development stack you require, but the infrastructure is someone else's responsibility with SLAs to back it that you can mirror in your SLA to your customers.

share|improve this answer

Given that you are a startup you have absolutely minimal server requirements. Why not do what 99% of other startups do and use shared hosting? Everything is managed for you, which lets you get on with the business of conducting your business. If, and only if, you grow beyond shared hosting should you look at any of the other alternatives.

Hosting from home has so many downsides that I'm not even going to attempt to list them. Suffice to say that the worst thing for your business is to have your system down due to circumstances totally outside your control.

share|improve this answer

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