Mac Mini: Here To Serve
The release of the Mac Mini server edition has had people wondering about the specifics of the devices, and whether or not other minis and Macs can be used for servers as well or if there's some special hardware requirement.
The Mac Mini is perfect for running a small server for either the home or a small business, and many people have used them for this very purpose, taking advantage of the OS X client's server capabilities in order to do so. Apple has recognized this with the recent release of the Mac Mini server version, which cheaply brings the features of OS X Server to home users. However, despite it's convenience as a highly portable and low power device, the presence of a specifically labeled "server" model for mac minis indicates to some that the other models are not capable of being a server, and some people have wondered about any limitations on the smaller systems, or differences between the server minis and the other available minis.
The mini server is essentially no different than the other Minis in Apple's latest lineup, with the exception that the optical drive has been replaced with a secondary 500GB drive that's in a software-based RAID 0 configuration with the primary drive. The main difference for the server mini is that it comes preinstalled with OS X Server, enabling far more Web and network services than what's offered in the normal OS X client. Regardless of the software you use, all minis are excellent and robust server devices, and hosting companies such as Macminicolo have recognized this and have been housing people's personal minis for years for running Web pages, off-site backups, and other services.
So what are your options for running a home server?
Overall, the answer to this question really depend on what you want the server to do. In many cases the standard OS X client will do just fine for home server uses. It already contains Web sharing, file sharing, and printer sharing. Additionally, you can install third-party or open source servers and have it run those services as well. If you are interested in only using these basic services, then the OS X client will do well; however on the other hand if you would like to tap into client and computer management, contact management, customized Time Machine backups, and more, then the server software will be needed. Apple has made the server easily configurable, which in itself makes it well worth the price. Beyond the capabilities of the client OS, the server gives you a number of additional features:
Calendaring Server -- Store calendars on your server that you can access and manage via iCal, a Web interface, or other client software package.
Address Book server -- Centralize your contacts and access them from any machine.
Wiki Server -- As with many Wikis, this allows for your own personal encyclopedia.
iChat Server -- Have a private server to use for establishing iChat connections and conferences.
File Sharing -- Set up shared folders for users on your network, including support for Time Machine destinations. Protocols include NFS, AFP, SMB, and FTP.
Mail Server -- Have your own highly configurable local email accounts.
Web Hosting -- Host your own Web sites, including support for a variety of scripting languages and connection protocols. QuickTime streaming server is also included.
Spotlight Server -- Host your spotlight indexes so network resources (i.e., other computers' shared folders) can be easily searched in one location.
Client Management -- Manage computers and those who have access to them with Apple's implementation of Open Directory.
Network Services -- Use your server as a router, DHCP server, Firewall, and a VPN so you can access your network from remote locations.
Other Features -- SQL databases, NetBoot network disk image building, Radius Wi-Fi network administration, Software Update server for your local network, and Xgrid.
These features can be exceptionally useful, even in noncorporate environments by allowing you to do a variety of tasks and centralize your workflow. For instance, if you bind your computers to the server's Open Directory and create an Open Directory account for yourself, you can use that account to log into each computer without having to create a new account on each computer. From there, you can set how that account can access all resources on your network that the server manages, as well as services on the server such as file sharing or Time Machine backups. This kind of resource management is exceptionally useful for laboratories, classrooms, and even homes that have at least a few systems with several users.
For small-scale applications, the built-in services in OS X Server do not demand many computing resources. I run a workgroup of about 10 PCs (Mac and Windows) that authenticate to an XServe, run backups, file distribution, e-mail, iCal calendaring, printing, Web services, VPN, and managing wireless waypoints. The server is a single 2.0GHz G5 and rarely goes above 20% of the CPU. In fact, the majority of the CPU is taken up when the Time Machine backups are indexed.
One benefit of this is that for these and many similar uses you can use any Mac that meets the minimum system requirements, which are a Mac with an Intel processor (for Snow Leopard Server), 2GB RAM, and 10GB of free disk space. The podcast producer feature requires a Quartz Extreme-enabled graphics processor, but this is only mentioned because some servers do not ship with video cards. As such, while Apple offers the current Mini server at a great deal, if you have any Intel Mac you should be able to install and run OS X Server on it (old MacBooks, iMacs, or Mac Pros).
There are a number of services and applications that require faster computing hardware, such as large-scale networking services (hundreds of users), virtual machine distribution, and scientific or technical computation applications, but those would not be used for most home and small business applications. In these cases, you see people clustering XServes together as is the case with Virginia Tech's "System X" supercomputer (similar setups can be done with Minis as well, though not as efficiently without support for the high-throughput fiber channels and wider data buses).
So what are any limitations to the mini?
There are two limitations for running OS X Server on a new Mac Mini. The first is hardware capabilities such as overall computing power and support for features such as error correcting memory, RAID cards, and fiber channels. These hardware resources are exceptionally useful for high-throughput applications (around 2Gb/sec for each fiber channel), but they're overkill in most home or small office situations. While the mini does not contain these devices, you can still make use of quite robust peripheral options through the lower-throughput Firewire and USB connections. Some rather large RAID arrays will connect via Firewire, so in terms of capacity you should still have a fair amount of configurability even though the throughput to the device would be less than if you used a fiber channel.
The second limitation is for all intents and purposes a null issue unless you specifically need it, which is the inability to boot Snow Leopard into 64-bit. While one of the selling points for Snow Leopard and its server variant has been full 64-bit support, even though the Mini has all the capabilities for running 64-bit processes it will not boot the OS X kernel in 64-bit mode. In the past, this limitation has been due in part to firmware limitations such as the computer having 32-bit EFI firmware, but the latest minis should be running a 64-bit capable EFI and since they will run other 64-bit processes just fine, there is no reason why the new minis should not boot into 64-bit mode.
Recent mini firmware updates have enabled support for up to 8GB of RAM on the systems, even though Apple still officially claims a 4GB maximum. This has made people wonder if Apple has enabled support for the 64-bit kernel on the new systems in order to more efficiently use the additional memory, but testing with the new systems as well as with older ones that have the firmware update applied indicates there still is no 64-bit support for the kernel. It's clear that Apple is holding back on full 64-bit support in the mini, despite the capability of the hardware; however, for most uses for which the Mini is targeted the lack of 64-bit support in the kernel will make no difference. Any frustrations with Apple about this are more of why the support just isn't there when it very well could be.
Overall, while Apple advertises the server version of the Mac mini as a "Server," technically any Mac (mini or other) can serve as a server if you install the server software on it. The server software does not require a specific type of Mac, and the only limitations are capability (i.e., minimum RAM requirements and CPU speeds). Therefore if you purchase a copy of OS X server, you can turn any old or new Mini (or other Mac for that matter) into a personal server. However, if you do not have spare hardware to use and are in need of a server, the new mini is an attractive option.