SMB Seeks Server
Small and Medium Business (SMB) seeks a 64-bit-capable multiprocessor server using current-generation industry-standard components, and capable of providing web services, disk services, with DNS, firewall and network services, and other related tasks as required.
If the competitive market is seen as pursuing the leading or the more innovative commercial entities in the particular niche, then Apple uses its marketing, its product elegance, and its design expertise to target a direct path and to zero in on its chosen market. Oh, and sometimes the “Reality Distortion Field”, something that is a prerequisite for any and all C-level managerial types that wish to reach the top tier.
Microsoft thrashes through the proverbial barroom brawl that is the commercial market, and with no clear idea and seemingly even with no interest where the exit door is, throwing numerous chairs and tables into the path of any pursuers, and occasionally even hitting its own partners over the corporate noggin with a billiard cue. Nobody deliberately places their organization in the way of the Redmond Juggernaut in the barroom brawl.
Conversely, Linux in aggregate lacks overt commercial pressures, the platform can and does provide whatever its individual artisans and code contributors might wish to or need to create, and can freely borrow and re-combine and re-image itself as required. When properly applied, any and all these strategies can and do work.
Apple has fewer and more specifically targeted products. And product niches.
Microsoft has institutionalized and elevated a very effective combination of hyper-competitiveness and preeminent marketeering skills into core strategies — and its strengths in large-scale product management — and targets products at most every computing niche — from stripped desktop to enterprise server — in the industry.
The Linux product space is a riot and near-anarchy with the dichotomy of sheer engineering excellence and utter tripe in immediate proximity, and with nobody driving the platform bus. Most any passenger riding on the Linux bus can hit the hyper-space button, tele-porting a particular component or a particular Linux port to, well, wherever, or potentially triggering a bus error. I can assure you, the Linux bus is an immensely fun ride for an individual engineer or technologist, and it is a massively powerful and flexible tool, and it can be a massively troubling place for an end-user business. And then there are the various vendor-private and Unix-like platforms (Sun Solaris, HP HP-UX) and niche platforms (IBM z/OS and HP OpenVMS), seeming all desperately hanging onto the back bumper of the Linux bus -- and all having the ride of their respective product lives. Yes, it's an exciting market.
Microsoft has certainly tried going vertical in several occasions and most recently with its Zune products, and Apple has arguably succeeded with its iTunes and iPod products. More often than not, Microsoft goes horizontal, looking to go after the desktop and then the server and is clearly now targeting the data center and enterprise with its operating systems (and it has about a dozen, at last count) and its business connections products, and continuing to extend similar cross-market traction with its Office suite.
As for its targeting of every segment and every niche, Microsoft Windows XP presently has Home, Professional, Media Center Edition, Tablet PC Edition, Professional x64 Edition, though we'll ignore these in favor of the new Windows. Windows Vista flavors include Starter, Home Basic, Home Premium, Business, Ultimate and Enterprise Edition. Windows Server 2003 offers 32-bit, 64-bit x64, and 64-bit Itanium variants, and with Web, Standard, Enterprise and Datacenter editions. I'll ignore the SP1 and R2 variants of Standard, Enterprise and Datacenter here, and which editions have Itanium variants. And then there are the Windows Small Business Server 2003 packages, the Windows Storage Server 2003, and other variations. I'll ignore the Windows Embedded and Windows Mobile flavors. (Per the current Microsoft advertising, you can look forward to `dynamic partitioning for Windows "Mainframes"'; it's unclear if that will be another edition or will be something else entirely.) And the other part of the Microsoft Windows operating system that most folks often neglect to mention is the Microsoft Visual suite -- it's as much a classic integrated development environment as a way to embed application and Windows system code and Microsoft server products together within the application (and like any other platform-specific calls on any other platform, this approach results in increasing difficulties in porting code around), and yes, there are multiple editions of the Visual suite.
Update 6-Feb-2007: Digit also seems to think Windows Vista packaging is a little complex. “Wow!” is right. Richard Stiennon and the folks over at Visual Complexity and Sana Security have another view of Windows complexity.
To the credit of the organization, Microsoft has the ability to build and maintain multiple proprietary large-scale products including SharePoint Services, Exchange Server, SQL Services and the IIS Web Server, and major application interfaces including .NET and Win32. There are a host of smaller packages including ForeFront security and the Forms suite. And the aforementioned Microsoft Office suite including Standard, Professional and Enterprise, the Office Groove 2007 suite, and the other Office interfaces. This is no small effort.
I must wonder when the scale of the Microsoft model and the complexities inherent in choice causes the whole scheme to implode and create the software equivalent of a black hole. That Microsoft can hold this all together as well as it does is a staggering achievement of product management. (For comparison, HP OpenVMS is probably 35 million lines of code as of V8.3, and a far smaller product surface area with more centralized APIs. More manageable combinations of hardware platforms and software configurations are involved with OpenVMS, and the installed application base is obviously smaller. And though the kernel designs are very similar, the rest of the stack makes Windows far larger, and with a testing surface that is orders of magnitude larger.)
Adding additional complexity to the Microsoft Environment (and corresponding confusion among customers, including SMBs) is the on-going re-branding strategy. It appears that if a product does not meet corporate expectations nor otherwise gain sufficient traction in the market, one of the most common techniques is to change its name, alter it in some fashion, and try again. Or rename the product rather than incrementing the version number. An example being Olé. Or to extend an existing and successful product, such as has happened with the Windows brand name, which now represents part of the name of multiple incompatible platforms and interfaces.
Linux can pick whatever targets and whatever markets the individual distros and individual ports and individual engineers might want, and make great progress toward any and all all of them. Some of these efforts are clearly well-managed, well-engineered, and will invariably hit the intended target. Some will miss wide and drop out of hyper-space inside the corona of a star. Some will fragment. Each of these adds complexity.
Apple had this same product proliferation mess in past years, with its Performa, Centris, Quadra, Classic, and with various flavors of processors. I'm old enough to have remembered the MOSTEK 6502 (A, X and Y registers, anyone?), Motorola 68000, IBM POWER, and now the Intel x86-class. Right now, the whole of the Apple product line is x86-64, and based on Intel Core Solo, Core Due, Core 2 Duo, and Xeon series processors, OK, so Intel has a few products, too. Two desktop lines, two laptop lines, and the Xserve, Xsan, Xgrid, Xsan RAID products.
Microsoft is largely based on x86 now, though there is also an Itanium product line variant, and (surprisingly) there are variants for x86-32 and x86-64 series.
Each Apple box is seemingly aimed at a specific and higher-profit area within the market. Microsoft operates from the low-margin entry-level stripped boxes, err, from products for cost-conscious consumers, and thin clients and handhelds and embedded and non-embedded gaming systems, to workstations and servers, to the current corporate efforts to increasingly move into the Enterprise and the grid-computing spaces, and into large-scale and out-sourced business software. I have to wonder what the internal revenue and run numbers for these efforts, and the segment business reports, look like from these two very different strategies, and from the execution of these approaches.
By my read, the Microsoft product surface area is insane. The level of complexity involved in managing and integrating and maintaining all of this is, well, second-order insane. (Degrees of insanity parallel degrees of infinity. But regardless of degree of insanity, you're still insane.) This insanity whether you are Microsoft, a developer, or an end-customer. Based solely on watching Microsoft from the outside, I have to assume that Microsoft is at its corporate limit in its ability to manage complexity -- the simple and clear fact that the whole of the Microsoft product surface is seemingly holding together with the massive scale of the on-going software and software-testing projects underway is impressive in its own right. That Microsoft can hold all this development together is a staggering feat of software engineering and of software testing.
The Linux kernel has numerous distros, and differing varieties of GNU and open source tools are found on each. Fedora Core, Red Hat Enterprise, KNOPPIX, Ubuntu, Kubuntu, Sabayon, openSUSE, Mandriva, MEPSIS, PCLinuxOS, Debian, Damn Small, Slackware, Gentoo and many, many more. Within the anarchy that is Linux, should you need a feature or a fix, you can add it or you can convince somebody else to add it for you. This is an infinitely flexible approach, though not without its frustrations. (And herding even kept programmers is a sufficiently and surprisingly difficult task. Herding volunteer programmers is far worse. Far worse than herding cats.) That the Linux bus can teleport in most any direction at any moment also leads to a market ripe with product services offerings for various distros, and to distros that specifically target businesses and end-user markets. And yes, Linux too is a massive product surface area. In aggregate, far larger than even that of Microsoft.
More of the Microsoft product iceberg is visible in the market, while more of the Linux more-bigger iceberg is invisible and under the surface of the market. (There are Linux expenditures buried in business budgets all over the known universe &mash; some are released out as packages and products and fixes, and some remain buried within the organizations that developed or debugged the construct.) And as for visibility, it is also likely that Microsoft has realized that it's the same product and distro and software proliferation that's the problem and the cost -- the Linux market has been variously willing to tolerate seismic changes in APIs and interfaces and increasing numbers of distros, whereas Microsoft is far less inclined toward committing breakage within its own and third-party applications. The more distros and platforms and variants you have or have to deal with, the more your costs scale upwards.
Apple has its so-called Tiger platform: Mac OS X client, and the Mac OS X Server version 10.4. The Leopard platform — the next release of Mac OS X — is presently under development; in what OpenVMS would call Field Test.
Now as for a typical SMB purchase of commercial products, do remember to add in the client licensing into the calculation -- Microsoft Windows Server 2003 has various licenses including unauthenticated access (no license required, typical of web servers and generic web services applications), authenticated per-client (device) licenses, authenticated per-user (seat) licenses, terminal server client and terminal server user licenses, enterprise terminal server client licenses, and the external connect license. Microsoft calls these Client Access Licenses (CALs), and there are different flavors of CAL.
Apple has unauthenticated access (no license required), ten or less clients, and unlimited clients. And no license tiers. The Apple Xserve product itself typically ships with an unlimited license. There is no per-core charge with Mac OS X; the lack of a tier-based licensing scheme is probably because a four processor (technically four core) system is the largest system building block presently available from Apple. But a rack of Xserve boxes in an Xgrid, and connected to a Fibre Channel (FC) Xsan storage area network (SAN), can be a very impressive compute or storage or rendering farm.
Linux has many and various licenses and license flavors, though these are typically cloaked as product or software services offerings. Check your particular distro for details. Linux is freely available, but is certainly not free. TANSTAAFL. (My most recent tussle involved a vanilla and clean Fedora Core 5 (FC5) install, and an immediate attempt to upgrade it to current FC5 packages. It failed. Badly. With dozens of entwined references. Identify and hack out the old packages, rinse, repeat, get lathered. Once you get the configuration working, it's a great environment. But this was a straight upgrade from the base FC release to the current patch level, and it failed! Yes, I probably should have gone straight to FC6. See “idiot” below.)
Because of a product scheme that looks rather like the American income tax -- most folks do not overtly purchase it, and there is almost never an associated line item price in the purchase, and you almost never get a CD or DVD copy of the Windows distro with the system-integrated factory-installed Windows -- Microsoft Windows looks free, but it too is not. You have to purchase your own Windows distro retail, if the so-called recovery disks are insufficient for your requirements.
So what is the proper solution for a small or medium business? For one SMB?
This SMB bought an Apple Xserve. This SMB is evaluating purchase of additional gear.
The Xserve was less costly than the equivalent HP ProLiant, Dell PowerEdge, Sun Fire and IBM System x series server systems (all very nice systems, I might add), and less costly than server systems from other and well-known mid-tier server vendors. In the interests of disclosure, I didn't look at the Sun SPARC, nor IBM Power pSeries server systems; I was targeting x86-64 boxes. I did evaluate and did price the HP Integrity Itanium series, due in no small part to local familiarity with OpenVMS here at HoffmanLabs. With the Xserve, it's all built in, and its all integrated. This choice might seem surprising — and particularly surprising if you look solely at the entry-level server costs from any of the vendors. Apple most definitely looks very expensive. But by the time I completed adding up the costs for what I was planning to do with the server, I had a real surprise. Apple won. Easily.
Linux did very well in the comparison; the free versions of Linux are ever-closer to a commercial product. The advances and the improvements from, say, Red Hat 9 (RH9) to Fedora Core 5 (FC5) are massive. The commercial vendors are also not standing still. Interestingly, the central strengths of Linux include its very flexibility, rapid adoption of standards, and its very low acquisition cost. These same areas are also its biggest liabilities; its general lack of management and software integration across its environment, and its ever-increasing portfolio of similar and minimally differentiated and incompatible solutions to various problems, and the increasing proliferation of Linux distributions. The difficulty and the expense with Linux is untangling all this, as you sign up to be the integrator, and particularly around building up the server configuration and dealing with the configuration and management of the software.
Servers — whether x86-64-class or otherwise — are not cheap. I priced out various desktop-based “server” solutions, as well. I gave very serious thought to building my own box from component parts, and loading either Linux — an FC5 configuration was prototyped — and loading Windows 2003 Server onto the box was considered. (In this area, Linux sans support is free. Windows Server most definitely isn't.) You can certainly do quite well here, performing your own hardware integration, and your own software integration. The components are readily available. The difficulty here is with the software, which is almost inevitably a Linux-based mash-up, and with the costs of integration and testing.
The central downside with the Apple products and product line to date is the same as their relative product strength; a comparatively small number hardware and software product offerings, and which may or may not dovetail with your particular requirements. (And the downside of design elegance: if something isn't obvious to you — you're screwed. Took a while to find the CD burn application. Took less time to install a three-button mouse, though OS X works just fine with it. And Exposé was a very pleasant discovery.) I was pleasantly surprised at the volume of available software for Mac OS X, however, and the Xserve fit my basic hardware requirements.
What I expect is under-considered and under-valued in the market is the value of the integration and interface work within Apple Mac OS X, or within any other platform. Having worked in this area for many years, getting something to the stage where “it just works”, and where “any idiot can configure and deploy and run it” is a massive design and engineering and testing effort, and involves large-scale coordination and control. Had Linux provided this, HoffmanLabs would be using that platform right now. Apple had the product.
Deployment of the Xserve has been interesting — areas that were far easier than was assumed, and areas that were rather more effort — and there will be discussions of various of these areas in future postings. The Apple Mac OS X client systems — the MacBook Pro series — required about a half-hour to configure and deploy, and most of that was spent contending with remote-access passwords.
Other Related Discussions
- Hoff's blog
- Login or register to post comments
TCO
CIO on TCO
Another View on the Microsoft Product Surface
Here's Fake Steve ruminating on Microsoft Complexity.