Posts Tagged ‘Beta’

OpenSolaris on Amazon EC2, Part II

May 18th, 2008 - Comment »

A few days ago I wrote about my initial impressions of the OpenSolaris on Amazon EC2 beta. It was a little frustrating, however, the people who are running the program at Sun got in touch with me, and we spent some time talking on Friday morning about the experience.

The upshot of the conversation is that I think they’re headed in the right direction. We worked through some of the IPS and documentation issues I was having, and chatted about what they’re working on over the next few weeks. Specifically, they’re in the process of building and releasing a set of AMIs built on OpenSolaris that target specific application environments — for example, GlassFish for the Java EE folks, or Ruby on Rails.

The first AMI they provided (ami-0c41a465) is just a blank slate, a trimmed down OpenSolaris 2008.05 installation. Those who are interested in the Apache/MySQL/PHP stack can tinker away by installing the ‘amp-dev’ package.

I finished the call feeling good about where the project is headed, and impressed by the people I spoke with. In fact, I’ve volunteered a little time to help put together the Rails AMI next week. If anyone has any favorite gems or other Rails goodies they’d like to see installed, let me know!

For more announcements about the OpenSolaris on EC2 program, head over to their blog at http://blogs.sun.com/ec2.

OpenSolaris on Amazon EC2 Review

May 14th, 2008 - 2 Comments »

I spent some time playing with OpenSolaris on EC2 this weekend, and I’m a bit disappointed — partially because of OpenSolaris, and partially because of how the beta program was set up.

But, good news first. I’m glad to see Project Indiana released, and EC2 is an easy way to take it for a test drive. All of the packages I tinkered with could be DTraced to my heart’s content, and it’s definitely a great improvement for debugging and monitoring of apps in the EC2 environment.

Bad news? First, all of the beta instances I booted were very slow. I’m sure this has to do with the provisioning of hardware for the beta program, and not with OpenSolaris itself. The beta servers are separate from the main Amazon servers, and I expect the speed will be on par with Linux when the beta period ends. Regardless, it does make the experience pretty frustrating.

Second, OpenSolaris openly touts their great package manager, but the selection of packages downright sucks compared to the Linux distros available on EC2. If you’re deploying anything more than a basic web stack on OpenSolaris, you’re going to be building a lot of software by hand, and that can be a frustrating experience on any Solaris.

Regardless, I could get PHP and Rails apps humming along just fine (although I’ve had a lot of practice). While OpenSolaris feels stable and DTrace is great, I spent way more time getting a system up to speed than I would have with Ubuntu or CentOS. The over-utilized servers didn’t help much either.

I do have hope for the future, tough. None of the issues demonstrated fundamental flaws in OpenSolaris or EC2, and I expect all of these problems to be fixed in time. The OpenSolaris team has obviously put a lot of work into this release, and I’m looking forward to seeing how the platform evolves.

One thing I haven’t been able to play with is ZFS. I’m interested in benchmarking ZFS on the persistent storage service, and a little excited to see what happens when several storage reservations are ganged up into a single ZFS pool … although I’m not going to go anywhere near that situation until the basic performance issues are resolved!

Update: I just wanted to clarify the package situation — the shortage of packages is only on the basic EC2 image for OpenSolaris 2008.05, not on the standard distribution you download from the OpenSolaris site.

Update: I had a follow up call with the OpenSolaris on EC2 team.  More thoughts here.

Playing with Neo4J

May 14th, 2008 - Comment »

Almost all of the apps I build rely heavily on graphs — not pretty charts, but rather networks of people, places, things, or concepts that relate to each other in different ways. I’ve been looking for alternatives to standard table oriented relational databases, and the most interesting project I’ve found so far is Neo4J.

The concept behind Neo4J is simple, and it’s relatively easy to get started with if you’re comfortable with Java. The basic semantic concepts you work with are nodes, relationships, and properties. For example, Peat (node) is friends (relationship) with Howard (node). Nodes and relationships both support freeform key:value properties, so I could set a birthday on the Howard node, or a note about how we met on the Friend relationship. Very simple and flexible.

The real power in Neo4J is in it’s traversal system — complex graphs are pretty useless without being able to pull information out of them, and SQL based systems pretty much suck at handling complex queries through nested or recursive structures. Neo4J’s “traversers” are much simpler to build, and feel pretty darned quick.

What I’m really enjoying is the simplicity of the system. The API only describes 12 classes, and there’s only 3 or 4 you need to be familiar with. The jar file weighs in at under half a meg. The “hello world” example is readable straight out of the gate. There’s even a command line shell for exploring your data. Simple concepts. Easy to learn. Small foot print.

Pretty cool stuff.

If your work involves designing and building systems that rely heavily on relationships, Neo4J is definitely worth checking out. Caveats? As of May 13th, it’s still in beta — but it looks like the 1.0 release is around the corner.