The last couple of months I’ve been playing with a new hosting company called slicehost.  For those of us that are constantly in need for a server to just a few hours or a few days, slicehost is a god send. While I have been using  various virtual hosting companies for things like our website, most of the various development has been done using a server here in our office.  You don’t want to know how many times I’ve installed centos or windows over the years.   Well, slicehost makes that a thing of the past.    With slicehost, you have a web control panel and you can create and delete servers as required.  And since you pay a daily rate, it’s not a problem to create a server, use it for a few hours and then delete it.  And slicehost supports a fair number of linux distributions so if you want to test an app you wrote on a number of distros, its easy to do.

Another nice thing about slicehost is that you can upsize or downsize your slicehost at will.  So if you start with a small slice and find that the load is too heavy, its trivial to upgrade the slice to a large size.

Also, I should note that I find slicehost a good compliment for Amazon EC2.  I’m using EC2 for a service that we are working on.  EC2 is good for scalability and robustness.  But it also has a starting price of about $75/month.  Slicehost starts at $20/month.    So our serious stuff ends up on EC2 and we use slicehost for various research projects or ‘whenever you need a quick server’.  The two really are complimentary.

Having gotten rid of the time that we waste installed the OS (again and again), there is still another area for improvement:  that’s server configuration.   Once you have your server, you still need to install the software that you want to use.  For those of you used to cpanel (or other related solutions), this might be a bit of a surprise to you.   Both EC2 and Slicehost give you a plain vanilla server.  No apache or mysql.   For those of us in the software development area, this is perfect.  I do a lot of work in the area of VoIP and I don’t want apache on most of my servers.   Also, our subversion server don’t need mysql or any other software (except bugzilla).

But sometimes getting everything installed can take a long time.  We had one server configuration that took several hours to build.  That was because several items had to be compiled, patched and built.   The solution to this time waster is obviously scripting.

As we move to using these ‘cloud computing’ solutions, we are turning to more and more server scripting.  There has been some debate as to what we should use but for now we are starting with the basics.  All of our servers are setup using bash scripts.   This fits nicely with a 3rd-party monitoring solution that we use.   Bash scripting is not pretty but its amazing how you can do pretty much everything you can do with a normal programming language.  As a guy who has traditionally done everything in C/C++, I was quite surprised how powerful bash is.

So in the end, we are are now able to create servers on demand and using a script, have them setup and configured the way we want in minutes.  Life is good!