Friday, January 04, 2008

A month with FreeBSD, Zope and Plone

For the past month, I have been working as an intern at Inigo Tech. The company focuses on Zope and Plone deployment and customization and I'm the sysadmin of the company server.

FreeBSD

The company server uses FreeBSD as the OS with several BSD Jails on top of it. BSD Jails is one of the virtualization technology on the OS level. Unlike Xen, Qemu and VirtualBox, Jails is a very lightweight virtualization where the Guest environment does not run any kernel on it. While Xen, Qemu and VirtualBox allows different OSes running as Guest, Jails can only support another BSD installations.

I found that Jails is very useful for those who only needs better process and environment separation and doesn't need another full blown OS features. Interested to know what available on the Linux world for this, I went googling and found the Linux-Vserver Project and the OpenVZ Project. However, the RPM packages provided by both of them (especially the kernel) are quite not in sync with the current Fedora repositories. So, if anybody thinking of trying them out, I would recommend installing on CentOS or a Debian derivative instead as the packages does not being updated as fast as Fedora. Btw, if anybody successfully deployed a OpenVZ guest, can you post me an easy to follow guide??. As I'm quite confused with the OpenVZ documentations (the templates etc).

But so far, I think thats the only thing I liked from the BSD world. Everything else, are kindof PITA and not elegant in my point of view. Perhaps because I have been pampered by RPM way too much. Ports, while have quite a large collection of packages, is not as elegant as RPM or DEB in package management. If only for installation and removal of packages, Ports works quite well, but if I want to do extra stuff to the installed files, everything went messy. Dependency hell, I dont know how many times i've faced that in Ports. Updating and removing packages feels quite scary when it might causes another app, hidden somewhere, to have a library problem. For the filesystem hierarchy and file placements, is another messy thing as trying to separate stuff that maintained by package manager and stuff that are done by local user is not as clear as in RPM distros. But for this, I might be biased as I come from the Red Hat Linux / Fedora Linux origins and still not that experienced in BSD. Perhaps after exploring and learning more about the BSD way of doing stuff, I might change my opinion on this.

Zope and Plone

In Inigo Tech, I was introduced for the first time to Zope and Plone. I have heard about it before, and followed the debate on Fedora mailing list about why Fedora 7 could not support Zope and Plone due to Python2.5, but I had never tried using it firsthand. What I know about during that time Zope was that its something like Tomcat but in Python, with Plone as one of the most popular app running on Zope.

After this whole month of using Zope and Plone, I grown to like it and the ideas it brought together. I have been a fan of proper separation of services and environments since I learned about virtualization. So, I feel Zope is a great platform. A virtual filesystem on an ORDB? Cool!. Full separation of the web environment and the host server? Great!. Using Instances instead of a full copy of files? Yay!. Plugins architechture, of which different instances can have different set of Plugins? Superb!. All in all, I love Zope, except for maybe, the ZMI which looks kind of cluttered, but looks good or not is a matter of who looking at it :).

As for Plone, Inigo sees it as an alternative to Microsoft SharePoint. As I had never tried out SharePoint, I couldn't comment much about their differences/similarities. But one thing I know, Plone offers more features that SharePoint in term of document management and sharing, Plone is easier to use than SharePoint, Plone can work nicely with commodity softwares while SharePoint requires you to upgrade to IE7, Vista, Office 2007 etc, and best of all, Plone is Free! and SharePoint is dictated by Microsoft (>.<) . So, that makes it Plone is better than SharePoint right? So if your company want to buy SharePoint, how about you look at Plone first before deciding ;).

======

All in all, working with Inigo is fun with all these. I'm glad I took Kaeru's offer and not other internship offers with other companies. Plus, I got to telecommute. Saved some hassle of transportation, food, etc :D
Post a Comment
Locations of visitors to this page