Apple’s Other Great OS: OS X Server

Most everyone’s well familiar with OS X by now, be it from daily use over the last five years, or from hatred or jealousy. Speaking as to the powers of OS X would be silly; they’re well advertised, well known, and would only act as filler.

But not everyone has used Apple’s other OS, the server version of OS X. This is largely due to price – for consumers, it can be up to over seven times more expensive with no real benefits for end users. As such, it is often only those of us in institutions that have already invested in it that get to enjoy its perks.

So this post goes out to all the geeks toiling away in IT departments but haven’t looked at Apple’s offerings yet. Below the fold, you’ll find the five reasons I heart OS X Server and its related products – and why you should integrate it into your deployments.

Reason 1: We’ve Got The Tools, And The Talent

Yes, OS X Server is grounded in OS X (and Darwin, further down the chain). Your GUI experience is the same, and all of your favorite OS X apps run perfectly well under Server. You could potentially install it on a desktop, slap a user in front of it, and it would behave almost identically to a OS X Client box.

If you’re a GUI user, and scared of the terminal, this is a boon. You do not, in fact, have to get your hands dirty. There are fantastic GUI tools for manipulating the server settings, with a well refined interface that only manages to get better from release to release. From hardware monitoring to service configuration to user management, Apple’s tools are some of the best I’ve ever seen.

But if you’re not scared of the terminal, or (god forbid) you’re scared of the GUI, you can work entirely off the command line. The server admin apps are mirrored in well-documented command-line tools, in addition to the full suite of service related binaries you might be looking for.

Apple loves to give you choices on OS X Server – multiple paths to the same end result. Nothing could define this more clearly than your initial server config when you get a new Xserve. To get your server configured, you can:

  • Boot and hook a monitor into it and just use the regular GUI, -or-
  • Boot, let it find an IP over DHCP if it can, then locate the box and log in using Server Assistant from your desktop to do the exact same functionality, -or-
  • Drop the same configuration information exported from Server Assistant into your LDAP server, where if your DHCP setup includes information about this server, the server will immediately find its appropriate configuration, do it itself, and reboot into operation automatically. Or…
  • (This is my absolute favorite) Take Server Assistant, export the config data to a property list, and plop it in the right folder on any Firewire drive. Plug that drive in before you boot, and it will try and find an appropriate plist (based on serial number, MAC address, IP address, or generic metrics) and then configure itself appropriately.

Why is this last one my favorite? I said any Firewire drive. A lot of you have the same Firewire drive I do. Yes, I have personally configured an Xserve by plugging my iPod into it. This was not my idea – Apple actually recommends it as an option in the Xserve manual. Who would’ve ever thought a server admin would have a legitimate reason to keep his iPod on him when going into the server room?

So again – lots of paths, and you can pick the one you personally find has the least resistance.

Reason 2: For Once, Apple Is The Affordable Option

OS X Server comes in two flavors: 10 client ($499), and unlimited client ($999). The number of clients reflected is for file sharing only. Neither require yearly renewal, neither expire, and you get an unlimited client license with any Xserve as part of the cost. For double the cost, you can get all upgrades for three years.

The Xserve RAID can, at the top product level, cost $2 a gig for high-performance redundant storage. This is dirt cheap for the level of performance you get.

I never thought I’d see a place where Apple is selling competitively priced hardware and software, but here we are.

Reason 3: Open Source Up The Wazoo

People like to say that Apple suffers from “wasn’t invented here syndrome” – where they don’t like to use technology that they weren’t responsible for. Looking at OS X Server, though, you’d be hard pressed to believe this. CUPS, Samba, WebDAV, Apache, OpenLDAP, Kerberos, Postfix, Cyrus, OpenSSL, Mailman, Squirrelmail, SpamAssassin, Perl, PHP, Python, Ruby, MySQL, Jabber, Blojsom, JBoss, Tomcat, Bind 9, ipfw, and plenty more are all standard on OS X Server.

Let’s not also forget: the core of OS X (Client and Server) is open source, as are a number of other Apple technologies.

Reason 4: Maybe Because It’s So Versatile

Think of all the things that go into your modern IT infrastructure:

  • File Shares: Samba, AFP, NFS, WebDAV, or even FTP.
  • Mail Services: POP, IMAP, mailing lists, spam filters
  • Web Services: Web servers, application servers
  • Distributed Computing: Cluster heads, worker nodes
  • Network Services: DNS, VPN, DHCP, Firewall
  • Collaboration: IM servers, blog hosts
  • Directory Services: Central authentication hosts, replicas, staff directories

OS X Server, out of the box, can do all of these in a speed I could only describe as insane. I was once asked to get an emergency web server online to handle some downloads we needed to have up on a stable server – it was literally an hour of work, for all services.

OS X Server also slides right into what are called heterogeneous environments, which the non-technical should take to mean “multiple OSes under the same roof”. Linux machines can use OS X Server’s OpenLDAP server to do authentication. Windows desktops can access Samba shares and have no idea it’s not a Windows server. The OS X Server itself can pull system data as necessary from Active Directory, LDAP, or a host of other methods. To use the common parlance, it plays well with others.

I hope I’ve made it clear over the week that I don’t like to struggle with my technology – I like it to bend to my will. For the overwhelming majority of deployments, OS X Server bends just the way I need it to.

Reason 5: Security Minded

Shockingly, even with all of these services at your disposal, OS X Server (just like Client) ships with nothing enabled by default. During your installation process, you can select some services that you could want to start, but nothing is forced on you out of the box.

Sometimes, OS X Server is so security minded, it borders on annoying. The Jabber server, which I’ve been playing around with a lot for work, will not run without an SSL certificate – which makes doing basic testing a little frustrating if I’m not quite ready to go through the process of getting an official cert.

Apple is routinely patching the OS to eradicate holes as soon as they’re discovered. Some would even say that the frequency of patches borders on being eager to actually keep their Enterprise software secure – something you’re not used to saying about certain other software companies.