Ask HN: Looking for hosting resources. Best practices.. etc

16 points by timmaah ↗ HN
I'm in the process of researching for a move from some older expensive dedicated servers and I only seem to be finding entry level questions on StackOverflow and spam or half answers on Google.

A lot of what I found is directed at people just starting a site or just learning. Anyone have suggestions for resources on hosting mid/small site?

We are low traffic but burst to 50,000 visits a day multiple times a month. Our main users table is well over a million rows.

Heroku is awesome but I still have to host the db somewhere and pay extra for ssl and email. Linode or Slicehost VPS looks great as well. Is a VPS enough to handle a database and a site? What happens when you need to scale and load balance?

Any advice would be great. I feel like I'm more comfortable with code rather then admin stuff as I get to practice the coding a ton. How do I build my admin knowledge base?

20 comments

[ 3.3 ms ] story [ 59.8 ms ] thread
speaking as someone who sells VPSs... the thing to worry about when moving from dedicated hosts to a VPS is the disk I/O. If, for example the host in question is a memcache server, this matters not at all. for a MySQL server, on the other hand, this matters quite a lot.
Do people use multiple VPSs to host a single site? It would seem slower and a bigger security risk to have your db on one slice and web server on another?
sometimes. Usually it's more of a ease of administration thing. If web and DB are different virtuals, it's easy to upgrade one or the other on it's own as needed.
Are you price sensitive? Budget? Is this RoR? Does the site have performance problems right now?
Not overly price sensitive, as anything will probably be a savings over what we are paying now. (Budget ~$1000 a month)

The site is RoR and while doesn't have performance "problems", it is slower then I would like.

how long do you expect to keep paying that? You can get 2 amps and 50-100Mbps most co-lo places for $200/month, depending on where you are. A 32GiB ram/4 sata disk/ 8 core amd server sets me back about $2500 in parts (I can't imagine it'd be more than $3000 or $4000 built.) that's a lot of capacity... you could save quite a lot of money by buying rather than renting if you plan on sticking around for 6 months.

Do the math on owning vs. buying; even if you have to hire a $100/hr hardware guy (that's above market for a hardware guy) to jack with stuff every now and again, you are saving some serious coin.

We won't be closing anytime soon.

I'm the only tech guy and am basically already on call 24/7 for the software side of things. Being the only one responsible for hardware as well is not appealing.

ah, that makes sense. It's something to consider as you scale, though.

Personally, I think the optimal situation is running mostly on co-located hardware then have cold spares on ec2 or the like that you spin up once a week to test, that you can bring on in case of hardware failure of your primary system, or in case of load spikes.

Of course, depending on your time value, often times at $1000/month you aren't saving enough to justify the two provider setup... and ec2 will be able to get you another unit faster than anyone else will, if your primary fails.

The thing to remember about "the cloud" as implemented by ec2 or the vps providers is that recovery from hardware failure is a problem you still need to solve; In many cases you'll see problems with your ec2 instance, and you'll have to kill it and bring up your stuff on another ec2 instance.

Instant provisioning is a powerful tool, but it doesn't completely remove you from worrying about hardware.

This is the value proposition of something like Heroku or engine yard. they handle more of the sysadmin stuff that you would otherwise have to worry about if you were running on ec2. It can be a big win in some cases; but keep in mind... they are charging you a premium for that service.

oh of course I'm already on call for the hardware stuff.. but I'm not the one who has to go down to the colo and find another motherboard to swap.

Heroku is really tempting me, but as you say they are charging me for it. $100 a month for SSL, another $100 for email delivery and then add on background tasks.. etc..

>oh of course I'm already on call for the hardware stuff.. but I'm not the one who has to go down to the colo and find another motherboard to swap.

eh, my experience is that actually touching the hardware is a very small part of the hardware janitor job. the hard part, in my experience, is figuring out when it's a software problem vs. when you need to go swap that motherboard.

This is why I build all my servers rather than going dell and buying a service contract... at least on the affordable service contracts, sure, they will swap out the motherboard if you can prove that's the problem, but if it's an intermittent problem, you are going to have to work damn hard to get them to do the swap. (to be clear, dell is fine when the problem is obvious.) To me, the actual hands-on-the-hardware part is trivial when compared to the effort required to track down an intermittent problem.

I mean, on ec2 they won't troubleshoot intermittent hardware problems for you, but at least you can shoot the node and bring it up on fresh hardware without arguing with anyone. (I have some... anger issues left over from dealing with dell support. )

>Heroku is really tempting me, but as you say they are charging me for it. $100 a month for SSL, another $100 for email delivery and then add on background tasks.. etc..

I think shared/managed hosting like that is a good thing if (and only if) you can easily move away from it if it gets too expensive or if the service degrades, etc...

you are giving up a whole lot of control by using a shared host... and yeah, you get a lot of convenience in return. Really, that's what you are paying for. But you always need to know you can take your stuff and leave if they stop meeting your needs.

If you want the benefits of scaling without the hassle of dealing with server admin, check out Rackspace Cloud Sites. It's good for a site like yours that has low traffic but spikes several times per month. Putting it on a VPS might backfire during those spikes in traffic. If you do go the VPS route, look in to Cloud Servers...you can resize the slices on the fly, from 256MB up to 16GB to scale vertically, or add more slices to scale horizontally. http://www.rackspacecloud.com/605.html
I don't know who is your provider right now, but if you want to stay on dedicated, you should check http://iweb.com/

They have a clearance section where you can get some really good deals

Disclaimer : I know a few ppl who work there but I don't gain anything from "advertising" them.

Compare the specs on your dedicated servers to the VPSs you are looking at replacing them with. Keep in mind that you can always switch one portion of your infrastructure to a VPS to test performance, if needed -- for example, switch your database server to a VPS and see how it goes.

For general admin information, http://library.linode.com is a pretty good resource. One tip on using a VPS, if you aren't interested in expending extra effort as a sysadmin, is to get a Xen-based VPS (not OpenVZ). Linode is a popular choice around HN.

Be aware that using Amazon EC2 brings its own unique set of sysadmin challenges. It sounds like EngineYard might fit what you're looking for.

Also, take a look at Hetzner - http://www.hetzner.de/en/ for dedicated servers at dan order of magnitude less expense than you are currently paying.

What does your site run on? I like webfaction a lot. Super flexible and totally hassle free. They're totally personal and will go the extra mile for you. For more fun with scaling (from their "Why Webfaction" section):

"Our unique multi-machine load balancing solution allows you to manage your account on multiple machines from our control panel. You can easily deploy your apps on multiple machines and our system will automatically provide load-balancing between these machines. Some customers have scaled up their sites to tens of machines for a fraction of the price of dedicated servers."

http://www.webfaction.com/

Very happy with Servint (http://www.servint.net). Their managed VPS/Dedicated machines are very well supported and every issue I've had is resolved very quickly.
Judging by your comments here, I'd recommend looking more closely into Engine Yard and Heroku so you can offload some/most of the sysadmin work. Contact both of them, let them know what your needs are and get price estimates.
We have built a SAAS product which eliminates the headache of building and maintaining database. Looking at your pain-points, it seems like our product may be the perfect fit for you. It also provides the analytics out of the box. As the demand increases, the product automatically scales up. Since it is in invite only private beta release, I don't want to disclose too much. If you are interested, we can have a discussion where I can go through the product and features. My email address is: ketan_bengali AT yahoo.com