Problem. You are given a bunch of Perl scripts that take several days to run and expect a Linux environment. You don’t know Perl that well, don’t have a clue whether the scripts will run in your MacOS environment (let alone Windows) and you don’t really want to tie up one of your machines or laptops. What to do?
This situation is exactly why cloud services are popular. I just needed a “slice” of some bandwidth, CPU and some disk space. Why deal with getting another piece of hardware, when I could just rent some space in the cloud? Which is what I did, I got the 256Mb offering from Slicehost for $20 a month.
If you are used to a cPanel and builtin features such as FTP or backups, you may be in for a shock. What you get is basically a piece of a server with Linux running on it. That’s it. You want FTP? You’ll need to install a FTP manager. Not comfortable with ssh, scp or wget? You’ve got a learning curve to deal with. There is a reason why Slicehost’s tag line is “Built for Developers” and have a FAQ answer to “Will this be too hard?”.
The “slices” are managed by technology called hypervisor which allow multiple independent operating systems to run in a single host or cluster of hosts. You don’t need to know a lot about this, but it’s useful to understand; you aren’t just getting a directory like you do with shared hosting, but your own little mini world that you can do whatever you want with.
For what I wanted to do, run a bunch of Perl scripts for several days, it was perfect. Of course if you are looking for a web hosting, Slicehost would work too. It was quite easy to get Apache up and running and they have tutorials on setting up your DNS zones. But you would need to think about how to monitor your websites, as if they go down, YOU would be the person to fix any issues. If I decide to move some of my websites over to this slice I’ll write more on this issue.
Slicehost gives you a number of Linux distros to choose from. I choose Ubuntu because that is where these Perl scripts had run before. Slicehost does a good job of guiding you through the process of setting up your slice. I found their guides easy to follow, there were some minor issues with the tutorials, but in these cases it was clear what the problem was (ie. the download link of apache was out of date). To give you a sense of my background, I don’t know Linux or Perl very well, but I have extensive experience working with Sun Solaris (and I’m dating myself here – various Unix flavors such as Digital Unix prior to that). So I’m quite comfortable with a Unix like environment, and adjusted quickly to the sudo concept (similar to Solaris roles). Your mileage may vary depending on your background.
Configuring the slice and installing Apache was easy, but I had more problems with getting my Perl scripts running. I don’t know Perl very well, and was lulled into a false sense of security when it appeared to me that Perl ran fine on the Slice. Basic Perl probably does, however I had to familiarize myself with the CPAN utility and installing various Perl Modules before I got my scripts to run. In particular I had to install the “Build” module before I was able to get anything useful built as my scripts had a number of module dependencies that were not part of “basic Perl”. However a lot of my struggle could be chalked up to my ignorance with Perl.
Slicehost doesn’t offer phone support, which was a bit scary, however they do have a chat feature that worked pretty well. The questions I asked were answered promptly and the guy seemed to know what he was talking about … always reassuring.
VPS hosting isn’t for everyone, but you aren’t afraid of working at the command level and you like the control, check it out. The ability to clone and replicate your Slice is enticing and you can upgrade to a more powerful Slice with some downtime. Now to be fair I didn’t do a full evaluation of the other options out here, but my experience with Slicehost was pretty good. One other solution I’ve heard good things about is linode.