What is Solaris? Why should I be using it?

0 Flares 0 Flares ×

Solaris is Sun Microsystem’s flagship Unix based operating system. It is free to obtain and use, and Sun opened the Solaris source code under an Open Source license in 2005.

It is robust, highly scalable and incredibly powerful; actively maintained by Sun, new features are being introduced on a regular basis. Paid commercial support is available. It fully supports Intel & AMD CPUs, ensuring it runs on the vast majority of commodity hardware such Dell & HP.

Solaris contains many killer features. If you’re currently using Linux, FreeBSD, Mac OS X, or another Unix varient, you should consider checking it out.

We are a big Solaris user here at EveryCity, providing Managed Solaris Hosting to our customers, via our dedicated and cloud based hosting platform, along side our Windows and Linux hosting offerings.

Killer Features

Solaris has a huge number of features, too many to mention. We will cover off some of the key features that we make heavy use of, many of which we severely miss when we use other operating systems.

ZFS Filesystem

ZFS is a revolutionary filesystem that throws history to the wind, doing away with the traditional link between files, filesystems and partitions. ZFS utilises a notion of “pooled storage”, where you allocate disks to a pool. You can then dynamically create filesystems on the fly, which all share the pool of storage. You can, for example, give each user their own ZFS filesystem.

ZFS filesystems support compression, encryption and quotas. The ZFS filesystem is atomic – transactions are either fully comitted or not comitted at all. There is no fsck/chkdsk tool, data on disk is always consistent, meaning that after an unexpected power loss, the system boots without needing to perform a lengthy disk check.

Storage Pools can be created with RAID levels, with ZFS supporting RAID0, RAID1, RAID10, RAID-Z (Raid 5) and RAID-Z2 (Raid 6). ZFS stores data blocks on disk with a CRC error checking hash, and ZFS will detect silent data corruption and report on it. If you are using RAID with parity (1, 10, Z or Z2), ZFS will recover from the corruption by utilising the parity data. This ensures ZFS can for example recover from the scenario where a disk in a RAID array is silently corrupting data. No commercial RAID card on the market can currently recover from this particular failure mode.

ZFS supports snapshots, which are virtually free and incredibly easy to do. Filesystem snapshots are immediately available, via a hidden “.zfs” directory, that let you view the filesystem at the time of the snapshot. Snapshots are read only, and can be "cloned" to produce full read/write filesystems. They are great for producing backups.

ZFS snapshots are incredibly powerful, and very useful. A great example is the Solaris liveupgrade utility, which is used to upgrade Solaris to a new release. liveupgrade will snapshot the root ZFS filesystem before performing the upgrade. If the upgrade fails, you can rollback to the snapshot, saving you having to restore from backups. We use ZFS snapshots internally on our backup server to store incremental daily backups.

ZFS contains many more features that we haven’t even begun to touch on, such as send/receive, separate log devices, the ARC and L2ARC caching systems, and many many more. We love ZFS, and now simply can’t imagine life without it.

Zones / Containers

Solaris Zones (Or "Containers" as you may hear them being referred to) are similar to FreeBSD Jails. They are virtualised Solaris installations that you can SSH into, install applications inside, and use just like a real physical server. Solaris Zones differ from other virtualisation technologies in that they all run on top of a single Kernel, with little or no overhead. Zones cannot for example run Linux or Windows inside, because they are not a hardware virtualisation solution – they are a logical virtualisation technology that groups system processes/users/resources into discrete units.

Zones are very powerful, and Solaris provides a full management framework for creating, starting, stopping, cloning and modifying them. Since there is little or no overhead, Zones are incredibly fast, and it is entirely feasible to run enterprise applications such as Oracle inside a zone. Zones are cheap to create, using very little memory. As an example, one might create a database Zone for MySQL, a production Zone with Apache for a live website, and a staging Zone also with Apache for development.

Zones support resource controls, such as CPU, memory, number of processes, etc, providing a great method of partitioning up a system. Resources are pooled, in that you set a memory cap, rather than allocating a specific quantity of RAM, allowing you to overcommit.

We use Solaris Zones for our cloud computing environment, and cannot sing their praises enough. We can deploy a brand new fully working Zone, including installing all necessary key applications such as Apache, PHP, MySQL, etc, within 1 to 2 minutes.

Service Management Framework

Sun has done away with the old System V init scripts that users of Linux may be familiar with. Instead, in Solaris, we have the Service Management Framework, part of Sun’s "Predictive self healing" strategy. SMF manages services via a set of command line tools, "svcs", "svcadm" and "svccfg". SMF can detect and restart failed services, tracks dependencies, starts services in parallel, and stores it’s configuration in XML based manifests (which you don’t need to touch, unless you’re creating a new service).

SMF is incredibly powerful, and makes managing services incredibly easy.

Versions of Solaris

Solaris comes in several versions. Solaris 10 is Sun’s commercial, stable operating system, available free of charge. New release come out on a roughly 6 month basis, which often introduce new major features, whilst maintaining backwards compatibility providing maximum stability. We utilise Solaris 10.

OpenSolaris is the open source edition of Solaris. It contains radical new features and bleeding edge technologies. It is relatively new, and evolving quickly with releases every 6 to 12 months. It provides a great way to try out new features, and is very stable, with many companies using it in a production environment. Commercial support is also available from Sun.

Solaris also has development editions, such as Solaris Express Community Edition, and you can also obtain the OpenSolaris codebase and build this yourself.

Conclusion

I hope you found the above interesting. Solaris is not without it’s flaws, and Sun are working hard to address them. For example, Solaris 10 currently lacks an integrated centralised package management system. But this feature has been developed, is present in OpenSolaris, and should hopefully arrive in Solaris 11.

We wouldn’t have made such a heavy investment in time and energy to use Solaris if we didn’t strongly believe in it’s technological benefits, and we urge others to play with it and give it a go. Perhaps you’ll fall in love with it as much as we have.

0 Flares Twitter 0 Facebook 0 Google+ 0 Reddit 0 LinkedIn 0 StumbleUpon 0 Buffer 0 Email -- 0 Flares ×

Tags: , , , , , , , , , , , , , ,

4 Responses to “What is Solaris? Why should I be using it?”

  1. Another really good feature isn’t so obvious: decades of working with multi-processor machines. It’s a new feature in most OSes, but well optimised in Solaris. And important as you can’t buy a single core server any more.

    As you point out, getting used to Solaris can be painful! You have to put aside years of expectations from other OSes, and learn things again. And remember that the default PATH doesn’t contain anything useful.

    But you’re absolutely right. Once you get over the initial hurdles, it’s an OS to love because it gets the job done.

    Ben

  2. Alasdair says:

    SMP support is indeed an important feature given the way multicore processing is going.

    The biggest hurdle for a lot of people I’d say is the package management. A novice can type “yum install phpmyadmin” on Linux and a blank box is mysteriously transformed into an Apache, PHP & MySQL server. Solaris has a way to go there.

    I think OpenSolaris is the future – once they stabilise it a bit, and develop a kick ass installer, people that want (such as myself) to can transition over to it from Solaris 10. I’m looking forward to seeing Distro Constructor at LOSUG later this month!

  3. Absolutely. At the moment packages are a complete mess. I think there are about 6 Apache2 packages from various places with various strengths and weaknesses. Right now you need to have a serious incentive to push through the pain.

    I suppose it’s the result of backwards compatibility. Which is a great thing. And while Sun have managed to do it much much better than Microsoft, you still get to deal with some cruft.

    OpenSolaris, Distro Constructor and the Automated Installer projects look really really promising, especially as Sun will actually support the end result! I just hope they don’t make it too much like Linux in the userland.

  4. [...] GO HERE FOR THE FULL ARTICLE NOW Tags: @stewarttownsend, entrepreneur, internet, investor, man in the shirt, mashable, small business, social media, social media man, startup, stewart townsend, sun startup essentials, techcrunch, tweetmeme, twitter, web2.0 [...]

Leave a Reply

Back to top