I started to use Solaris for core network services, like exporting NFS shares, DHCP and so on. When Solaris 10 made was released and the Solaris Express program started, things have changed a lot and know I find myself running a pure 100% Solaris network and was left with not even a single GNU/Linux machine. Technologies like ZFS, DTrace and containers are revolutionary, I found them astonishing since the beginning: you can virtualize operating system and storage, or instrument your system with a new ad-hoc language and clean set of administrative commands; this, and much more, supported by good documentation. I think they are a major feature I would really miss using another operating system. I couldn't think living without ZFS or zones, nowadays.
I have a X2100 M2 server running the following services on top of Solaris 10 update 4:
- DHCP server (global zone)
- DHCP relay (zoned)
- DNS server (global)
- Subversion server (global zone, zoned)
- NFS server (global)
- LDAP server (global)
- Web Proxy Server (global)
- packet forwarding
Another thing I love in Solaris 10 is the philosophy of some administrative commands: if you want to read the classical plain text UNIX configuration files, they're there. But the administrator is help by a great set of administrative command which act as a front-end to such files, greatly reducing the possibility of typos and misconfigurations which sometimes can be an headache.
All of the clients I have are either Solaris 10 or Solaris Express Community Edition whose setup is trivial: just install the system and load the LDAP profile. Voilà, 5 minutes after the first reboot, the machine is up and running and you can login with your LDAP-maintained account. And this is the same procedure I configure non-global zones, too. Moreover, since the earliest releases of the now defunct Solaris Express Developer Edition, I don't feel any longer the need of installing GNU/Linux in my clients because I have a good desktop and everything I need.
Another great feature of Solaris 10 are zones. Configuring a basic sparse zone is easy and it's a well documented procedure. The first zone I setup was aimed to solve a problem I had with deploying Blastwave's software. The second zone I deployed is used as development zone with an instance of Glassfish application server and Subversion server. The server is relatively small and always ran without any glitch. I don't have numbers, and I would like to have them, but zones seems a very lightweight solution with a good potential for scalability.
I can now connect to my home network, receive a DHCP number for the subnet I am connected to and start to browse files shared via NFS (or via the SMB protocol in the case a Windows succeeds entering my home), listening to music, watching a movie stored in my ZFS base RAID-Z disk array, or using remotely whichever program I need.
The only thing of which I'm left with the curiosity to try is buying a Sun Ray Client and give it a try.
100% Solaris, rock-solid, and free.