In a notable about-face, Apple has changed its stance with regard to allowing Mac OS X Server to be run inside a virtual machine (VM), much as Parallels Desktop and VMware Fusion make it possible to run Windows and other PC-based operating systems on a Mac. Until the release of Mac OS X 10.5 Leopard Server, Apple's software license agreement explicitly forbade running multiple copies of Mac OS X Server on a single Mac, preventing Parallels and VMware from including Mac OS X Server among the operating systems that could be virtualized legally. Apple's Tiger Server software license agreement reads:
This License allows you to install and use one copy of the Mac OS X Server software (the "Mac OS X Server Software") on a single Apple-labeled computer at a time.
However, a sharp-eyed systems engineer noticed that Leopard Server's software license agreement is significantly different. Dave Schroeder, Senior Systems Engineer at the University of Wisconsin-Madison, posted to the MacEnterprise.org mailing list about his finding, calling out this change:
This License allows you to install and use one copy of the Mac OS X Server software (the "Mac OS X Server Software") on a single Apple-labeled computer. You may also install and use other copies of Mac OS X Server Software on the same Apple-labeled computer, provided that you acquire an individual and valid license from Apple for each of these other copies of Mac OS X Server Software.
This change applies only to Leopard Server, not to the desktop version of Leopard. Apple has not changed the software license agreements for either version of Tiger.
Virtualization Software Coming Soon? Both Parallels and VMware had said that making it possible to run multiple copies of Mac OS X in virtual machines was technically feasible, but neither company was interested in jeopardizing their relationship with Apple to create software that would help users violate their license agreements with Apple.
That has now changed, as apparently has Apple's opinion of virtualization (Apple PR failed to respond to my calls and email by publication time). Ben Rudolph, Director of Corporate Communications for Parallels, told me, "Enabling Leopard Server to run in a virtual machine may take some time, but we're working closely with Apple on it and will make it public as quickly as possible."
Pat Lee, Senior Product Manager at VMware, concurred, saying "We applaud Apple for the exciting licensing changes implemented in Leopard Server. Apple customers can now run Mac OS X Server, Windows, Linux and other x86 operating systems simultaneously on Apple hardware, so we are excited about the possibilities this change presents."
Although neither company committed to specific features or timetables, it appears as though we should be seeing virtualization products from both that will enable an Xserve to run multiple copies of Leopard Server in virtual machines.
Why Virtualize Servers? VMware's Pat Lee said, "We have seen customers gain tremendous ROI in terms of better utilization, lower power consumption and ease of provisioning and management by deploying server virtualization." In other words, server virtualization provides:
- More efficient use of server hardware. Dave Schroeder of the University of Wisconsin-Madison said, "For a variety of reasons, some technical and some organizational, we need to have individual Xserves hosting distinct instances of Mac OS X Server. Often, these individual modern servers are greatly underutilized. With virtualization, we could more effectively manage our computing resources, and combine several of these Mac OS X Server environments into virtual environments on one server."
- Reduced costs. Schroeder explained, "With virtualization, we could likely cut costs by half or more, in terms of hardware, support, and other savings. Utility costs like power and cooling are shielded from us in our organization, but the savings in power, cooling, space, and so on from virtualization will be felt at other levels of the university."
- Easier management and better security. By isolating each service (Web, email, FileMaker Pro, etc.) in a separate virtual machine, it becomes easier to move services between physical servers, prevent services from interacting in undesired ways, and reduce vulnerability should one service be exploited.
- The capability to run multiple platform services simultaneously. An Xserve could run not just several Mac OS X-based services in separate virtual machines, it could also host Windows- or Linux-based services in other virtual machines.
Ben Rudolph of Parallels emphasized this final point, saying, "We're hearing from our customers - like you are from your readers - that the 'holy grail' of Xserves is to run multiple, isolated, near-native instances of Mac OS X Server on the same box, at the same time. If you couple that with the ability to run Windows and Linux next to those instances of Mac OS X, you've just made Xserves even more compelling for enterprises large and small, even non-traditional Apple shops."
However, not everyone is an unalloyed fan of virtualization. IT analyst John Welch noted that virtualization is most important in the Windows world and isn't as necessary with Unix-based operating systems like Mac OS X. "Normally, running more than one major service on a Windows box is a recipe for disaster. Windows simply doesn't hold up well under continual heavy load. Unix allows for far higher utilization per box, so virtualization isn't as big a deal. It comes down to use case and operational philosophy. Virtualization is great for some, not so great for others."
Dave Schroeder responded, "Virtualization isn't perfect for every task, but for distinct services that require their own servers and don't utilize the hardware to its fullest, virtualization can more effectively utilize these hardware resources. This cuts costs not only on hardware, but on duplication of labor and other support costs. Each individual server, even in a virtualized environment, still has some baseline costs associated with it, but virtualization will help Mac OS X Server compete with the lower costs of some of our other virtualized platforms, such as Linux and Windows."
Good News for the Xserve? Rudolph's comment about making the Xserve even more compelling is important, and may hold the key to Apple's change of heart. Although Apple is generally thought of as a hardware company, and there's no doubt that the company wants to sell more Xserves, preventing virtualization may have been working against that goal. Dave Schroeder commented, "Right now, Mac OS X Server is the only platform we can't virtualize, which is really beginning to limit its applications alongside more inexpensive general purpose virtual environments."
The Leopard Server license agreement restricts virtualization to "Apple-labeled hardware," preventing its use on non-Apple hardware. Although Leopard Server will run fine on most current Macs, those interested in virtualizing servers are most likely relying on the Xserve already.
So even though Xserve buyers currently need to buy more Xserves than they would if virtualization was available, the lack of virtualization is driving some customers to other server hardware. Plus, with virtualization, if Apple sells two additional ten-client copies of Mac OS X Server for $499 each, the profit on that software is nearly identical to the estimated $1,000 profit of a stock $2,999 Xserve (using Apple's latest 33.6 percent gross margin for the Xserve profit estimate). Additionally, without virtualization, some groups might be tempted to rely on multiple cheap Mac minis rather than an Xserve that could run multiple virtual machines.
Paradoxically, then, enabling customers to buy fewer Xserves by supporting virtualization could result in Apple selling more Xserves overall, since the Xserve could become the server platform of choice in organizations that need to run multiple Mac OS X-based services alongside Windows- and Linux-based services. With virtualization, that could be all on one machine.
Or could it? According to John Welch, "You need big physical resources for virtualization. Our average VM server is an 8-way box tied to a SAN via Fibre Channel with a ton of RAM and network I/O. For me to virtualize my Xserves, I'd need some big VMs, with 4 GB or more of RAM each, and they'd be putting a serious load on the VM server. Apple doesn't yet make a box that's big enough to be an effective VM server for more than a handful of VMs if they're heavily loaded."
The current incarnation of the Xserve hasn't been updated since August 2006, when it moved to an Intel-based architecture and increased the maximum amount of RAM to 32 GB, up from 8 GB in the PowerPC G5-based Xserve. The current Intel-based Xserve has been out for 14 months now, which, as you can see in the Xserve release timeline below, indicates that an update is likely to arrive soon, perhaps in January or February 2008.
- July 2002: Xserve G4 release
- February 2003: Xserve G4 update (7 months)
- March 2004: Xserve G5 release (13 months)
- January 2005: Xserve G5 update (8 months)
- August 2006: Xserve Intel Xeon release (19 months)
In the end, it appears that Apple may have been planning this all along. The change in Leopard Server's license agreement now, coupled with ongoing development cooperation with Parallels and likely VMware, could lead to an early-2008 release of both a beefed-up Xserve designed to work as a VM server and virtualization products from Parallels and VMware. So although Apple's recalcitrance in allowing earlier versions of Mac OS X to be virtualized has proven troublesome to system engineers like Dave Schroeder up to this point, these changes point to Apple becoming ever more of a player in the enterprise server space.