August 24, 2008
Trying out Virtual Private Servers
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
August starts an exciting time of year for us at my company. Our biggest website is a Web 2.0-ey Social Costume Shopping Site, CostumZee. It does well all year, but we get some mad traffic come halloween time. October is sort of like our Christmas.
Of course that’s fun that we plan for and look forward to all year. But as the de facto CTO of the company, this is when I lose sleep worrying about server performance. Each season has brought us some new surprises. Two years ago, our site was written up on TechCrunch and LifeHacker. Last year we got a mention in Time Magazine, and even a mention on the Yahoo homepage. I’ll tell you, a mention on Yahoo dwarfs any slash-dot or digg effect. Our very beefy servers practically melted.
While we’ve learned a lot from those things and have put the appropriate server resources in place for this year, I’ve also learned that it’s always going to be difficult to prepare for everything that the Interwebs can throw at you. So in addition to being prepared, it is just as important to be able to adapt.
We’ve been running several dedicated servers for years now, and they do very well. They do, however, get old, and upgrading is a major hassle. Also, it is not very easy to throw additional hardware at a problem without having it provisioned ahead of time, consuming hosting dollars.
And even if you do have the extra hardware around and at the ready, it’s very easy to get complacent and start hosting lightweight applications on them. Then one of these websites gets busy, and it’s too much running on one set of resources, and a disaster in the making.
The other problem is that we’ve been developing more and more custom solutions. Using custom server configurations that the hosting tools like CPanel just aren’t made to handle. While I can get under the covers, it more often feels like I’m fighting against CPanel and it’s automatic configuration.
Long story short, I’m frustrated with aging and tough-to-customize CPanel-laden dedicated servers and I’ve started looking at Virtual Private Servers (VPS). VPS are based on virtualization software that takes a larger machine and slices it up into several fully virtual computers with smaller sets of resources, but act like a dedicated server.
The great thing about this sort of server is that it isn’t a single hardware box that, in order to upgrade, you have to install or move to new hardware. Instead it is very easy to just take the server image and quickly move it to a new bigger slice. A few minutes of automated goodness.
Investigating Virtual Private Servers
Mosso

My first look was at Mosso and their Cloud Computing. They have all the right buzzwords around scalability, virtual servers, etc. But as it turned out, the server was not very configurable. It had a web-only configuration interface with only a menu of options. I couldn’t even connect to the server via SSH. So, while I’m sure it’s a great solution, I dropped it. I need to fully configure my server, rebuild PHP, Apache, and other custom software. I will say that they were very good with their cancellation policy.
mediatemple

My second look was at mediatemple and their VPS servers. These are full VPS servers and boast the easy and seamless configuration upgrades as a website scales up. I’ve actually got a site running very happily on one of their (dv) Dedicated Virtual servers. What I don’t love, is the Plesk management interface. More of the same over-managed configuration that’s great for a hosting reseller, or someone who doesn’t have to do a ton of server customization. Like my current dedicated servers, I’m reluctant to over-customize because the Plesk management software is there with its own expectations of how the server will be configured.
SliceHost

Enter Slicehost. I noticed these guys a year or two ago when they just got started. They had a huge waiting list for their servers. I recently came around again to check them out. They sell “slices”, which are fully virtual servers upon which you can install one of several flavors of Linux. A slice can be as small as 250MB up to 2GB of RAM. You can have one big slice, or several smaller ones. Recently, they can even be networked together on the private network and intra-networ communications don’t use bandwidth. That’s perfect for a database server and one or more front-end web servers.
I signed up for their smallest slice (250MB) last night to check it out. To my delight, I had my server in literally a few minutes. I chose to install Ubuntu 8.04.1 LTS (Hardy Heron). It was just a bare server installation with nothing on it. A blank canvas! Intimidating at first, but I know my way around Linux, so I was soon hardening the server security with iptables and public/private keys. I installed some standard applications, then installed the work-horses Apache and Mysql, all with the options that I need. Ahhh.
I chose not to yet install any of the mail transports and other additional things that servers do. I may just grab another slice to handle all the email for the many domains that we have. More investigation needed there.
Now what to do with it? Of all things, I decided to move this blog, Jangro.com, off of one of those aforementioned dedicated servers that are serving many purposes and migrate it here.
Done and done. I had it moved in just a few hours of work. I started with a test subdomain serving up a copy of my blog. It wasn’t at all difficult for me to bring this small slice to its knees by refreshing my browser several times. Apache is a big application and uses a lot of memory. 256MB was used up very easily, especially with mysql running.
So right then, I went into the Slicehost control panel and upgraded my slice to 512MB. It immediately started on the upgrade process, and when it was done copying the image over, it rebooted my server. The whole process took maybe 5 minutes with a minute or so of downtime.
At this point I was unable to get the server to buckle under my own manual stress test. While I figured that should be enough for this blog to operate well. There were still too many apache2 processes running and they used up all of memory. Instead of lowering the number of processes, which may have been fine, I upgraded to a 1G slice, again, a 5 minute operation. Very easy.
Linode
![]()
The other VPS hosting solution that caught my eye is Linode. They appear to be a very similar solution to Slicehost using Xen virtualization, and offer a bit more RAM for the same money. I think I may need to give this service a try as well.
Moving Forward
So here we are, on slicehost, performing well on a 1GB slice (thanks to the demands of apache).
Are you using scalable hosting services such as cloud computing and/or VPS technology? Which ones?


Viewing 18 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Trackbacks
(Trackback URL)