Sunday, February 03, 2008

SXDE 1/08 and PostgreSQL

Solaris Express, Developer Edition 1/08 or SXDE 1/08 as its affectionately called within Sun is being released on monday. There are certain new features that I think needs to be highlighted specially for the PostgreSQL community.

Well for starters the versions of PostgreSQL included in SXDE are PostgreSQL 8.1.10 and PostgreSQL 8.2.5. (Unfortunately not all security fixes made it to the release though). However the big news is the PostgreSQL servers which are pretty hidden now has an administration GUI. Yes pgAdmin III is now included in SXDE.

Also there are lot of new features which now are quite well integrated with PostgreSQL.

For example take NetBeans 6.0 which is newly included in SXDE 1/08. The most tauted addition in Netbeans 6.0 is the Ruby Feature.  But many people fail to notice that now by default NetBeans knows that there is a database called PostgreSQL (along with MySQL) and it also has the PostgreSQL JDBC driver all configured to connect to PostgreSQL database. How about that for simplifying PostgreSQL access for Java applications?

 Another new feature in SXDE 1/08 is "Project WebStack".  Project WebStack or "Web Application Stack optimized for Solaris"  makes the Solaris equivalent of LAMP (which some people call it SAMP, AMPS, etc) easy to use out of the box. LAMP/SAMP is traditionally Apache WebServer, MySQL, PHP.  It does support PostgreSQL  and hence for the PostgreSQL loving folks like me, we know have WebServer, PostgreSQL with PHP support along with an IDE, Netbeans all out of the box with this new version.  Also Glassfish, the only application server which boasts of publishing results with PostgreSQL is also included in the release.

So that takes care of application development where it uses PostgreSQL.

Little known secret about SXDE is there is nothing preventing you to use it actually as a deployment platform. Why would one use it as a deployment platform? Well for one it is free, second it has features that seems compelling enough that other versions may not have and its a feature that is needed now in order to deploy.

Are there any such features in SXDE? To my mind yes there are few.

My favorite deployment features are as follows:

1. Support for CIFS Server in ZFS along with iSCSI and NFS. So ZFS volumes can now be exported from Solaris in three forms NFS, iSCSI and CIFS (Windows). Now why that is important for PostgreSQL community. Actually I can use my favorite system X4500 just as mirror storage and use a bigger system like Sun Fire X4450 to drive the PostgreSQL engine while the database is stored in X4500. Which means while the data is stored on mirrored drives in X4500 via ZFS, but now this allows me to use Operating System of Choice (Solaris for me, Linux and/or Windows for many) on 16-core Sun Fire X4450 for run PostgreSQL.  So now I have 24TB (after mirror) storage talking to my server, allowing me to take snapshots or make clones for replications irrespective of the Operating System that is running beneath PostgreSQL. This feature alone allows you to use ZFS features in Solaris without moving your PostgreSQL application to Solaris. Definitely an "award" worthy feature.

2. Sun xVM server:  The "hypervisor" to allow other Operating System to be hosted with SXDE as the "host" operating system. I do see lot of opportunities here again for deployment. For example another one of my pet projects (which means managers gets to take the  allocated time away from it since they know I will end up doing it anyway sooner or later)  is to create a framework for deploying PostgreSQL based end user applications pre-configured, minimized and easy to setup "appliances" on top of existing xVM servers. I think this model will be very beneficial for applications based on different open source products. One example that comes to my mind is SugarCRM deployment using PostgreSQL and glassfish. Since if one ends up using components from different communities, there ends up some configuration work. But now such configuration work need not be replicated as one properly setup, then theoretically all you should do is "sys-unconfig" the virtual machine and make clones of it and deploy it on any xVM server. The first boot will take you to OS configuration. But the application setup is already out and configured and ready to start via SMF.

So overall lots of new features in SXDE 1/08 that helps the PostgreSQL users whether they are running their database on Solaris or not.


No comments: