As you might remember, I recently interviewed Kent about the new Joyent Accelerators. I’ve now had a chance to give the new Joyent Accelerator template (version 2.1.3) a spin. The current release is 2.1.4 including some updates, which I’ll point out below. Joyent provided me with two Accelerators for one week to try ’em out. Being a guy who normally tweaks everything to his liking (I’m kind of a perfectionist), I didn’t expect much from the pre-installed software. Usually, when I start using a box with pre-installed packages I delete most of what’s there and then install and configure to my preferences.
This was my first surprise in testing out the Accelerator. It comes with tons of software pre-installed, but, instead of generating an urge to get rid of it as fast as possible, I found everything set up very much in a way I couldn’t have done better. In fact, I have to admit that I learned one or two things I could use to tweak my own setup 😉
In the following sections I want to share with you the details about what I tested and how I liked it.
Welcome Email And Securing Your Accelerator
My first contact with the Accelerator was the welcome email containing the IP address of the Accelerator as well as usernames and passwords for SSH and webmin access. Additionally, there were some links to introductory articles on the Joyent wiki. What I missed was a link to the article which describes changing default accelerator passwords. It will be in the final welcome email. Kent already notified me, that the descriptions there were clarified based on feedback they received.
Joyent does not use a pre-packaged version of OpenSolaris, opting to instead run a Nevada build. According to Kent, they do this to be able to get the most stability for their clients. Earlier this year they decided to switch from Blastwave to pkgsrc, the NetBSD package management system. They even host their own pkgsrc repository with a bulk load of precompiled packages optimized for running on an Accelerator. As I’m used to the OpenSolaris Package Manager IPS, I tried to play around a little with pkgsrc. The first thing I ran into was that I confused pkgsrc’s pkg_add command with the additionally installed pkgadd commmand from Blastwave. I tried to follow the instructions to install a new package using the wrong command and obviously the syntax did not fit. To avoid that pitfall for other users new to Solaris, it might be better to provide only pkgsrc by default and an easy, optional way of installing Blastwave support if you need it.
The new Accelerator comes with a full Ruby on Rails stack pre-installed. It features the latest versions of Ruby (1.8.7p72) and Rails (2.1). Unfortunately, Ruby 1.8.7 is not yet DTrace enabled. I had a short look at Joyent’s Ruby DTrace patches for Ruby 1.8.5 and 1.8.6 but my make knowledge is too rusty to port it to 1.8.7 within a reasonable timeframe 🙁
One thing I liked was that the accelerators have Phusion Passenger (aka mod_rails) pre-installed. I wanted to try that one out for a long time and now I had the chance. It was not enabled by default in the beta version I tested (2.1.3), but now, in the current 2.1.4 release, it is. Now starting a rails app is as trivial as typing
rails myapp within your web root directory. I didn’t do a heavy load test but it seems to work quite nicely.
As I didn’t find an immediate way to get wordpress from pkgsrc, I used the Subversion install method to get it running. Everything required by WordPress is already pre-installed and set up. Subversion, Apache, PHP and MySQL are all there and waiting for you to give them some work to do. Using scot hacker’s excellent script it took me less than 5 minutes to get WordPress up and running on the Accelerator. I was impressed. Trying to do the same on a plain slicehost VPS took me 1-2 hours as I had to setup all the prerequisites in addition to WordPress itself.
Getting started with a Rails project or a blog using WordPress is a piece of cake using a Joyent Accelerator. I tried shared hosts like dreamhost and virtual root servers like slicehost, but never found the perfect combination of ease of use, power and flexibility. Personally, I really like OpenSolaris, and am currently switching our production environment from Debian + Xen to OpenSolaris and zones. ZFS, SMF and beadm already sold me on Solaris and I haven’t even had a closer look at DTrace yet. To ease the (really nasty) pain of switching from Linux to Solaris, Joyent goes the extra mile to make you comfortable. Things like sudo and top, which aren’t there in Solaris by default (approximated by pfexec and prstat respectively) are pre-installed. They might be the worse alternative in comparison to the native Solaris tools, but if you come from Linux, you will be glad to have them around ’til you get used to the native ones.