There's an old saying about the devil making work for idle hands - so there I was last week, feeling a little bored and idly clicking through a story both about and by some guy named Whitehorn who's going to blog an extensive development project based on the forthcoming Microsoft server stack. The opening paragraphs in the write up make sense and it seemed like an interesting project to follow - at least until I got to the self congratulatory rationale for leading this organization down the garden path:
If an application runs fine on version eight of your preferred RDBMS, why would you even consider upgrading to version nine? The best you can possibly hope for is that it continues to run fine (no gain there then); the worst is crash, burn and time to find a new job elsewhere. This is why we have production systems still running in COBOL.
Our current database is running on SQL Server 2005, sitting on Windows Server 2003. We are also using Analysis Server 2005 to produce the OLAP cubes and ProClarity for the data visualization. It works. So why am I sitting here, two months shy of the launch of SQL Server 2008, Windows Server 2008 and Visual Studio 2008, desperately seeking servers that will run this entire 2008 stack and porting an application that will go live (for a subset of the users) long before the summer?
Masochism and/or bravado spring to mind, but it isn't those. Killer features continue to appear in software that confer such competitive advantage that procrastination is impossible. Of course, it's only a killer feature if you need it and our application really, really needs it.
The "it" in question here is the ability to handle spatial data. SQL Server 2008 has it. End of story. Yes, I know Oracle had spatial data types first, but are there other, associated, reasons such as the business intelligence capabilities that made SQL Server 2008 the obvious choice for us.
OK, but why Windows and Visual Studio 2008 as well? Don't think we didn't think long and hard about this. But, while the decision adds to the workload now, it should reduce it in the future. And if we don't, we will spend the next two years sailing the sea of uncertain upgrades, dreading the support calls that start with "What OS are you running that on? Ah, well, if only you were running on..."
Having made the decision for all the right reasons, it would be disingenuous to pretend that we aren't looking forward to the challenge. I believe the conservatism discussed above is essentially forced upon DBAs by commercial considerations. In truth if we aren't excited by challenges, if we don't like problem solving, what are we doing working in computing?
One gets the impression that Mr. Whitehorn might be a bit of a one trick pony - someone whose Microsoft related skills outweigh his responsibilities to his employer - if only because he doesn't seem to know that the facilities he needs were available on Ingres for BSD in 1981 and, in more advanced form, via Postgres on Linux or Solaris now.
SQL-Server, of course, isn't the only component of this stack to rediscover things that have been more or less standard on Unix for decades. I wasted a couple of hours reading excited reviews of the various betas written by Microsoft "enthusiasts" hyping this stuff for all they're worth - but came away utterly astounded that so much of what I've been taking for granted for years, even decades, is brand new to them.
Consider, for example, these excerpts from the installation section of an October 25, 2007 Windows server 2008 review by Daniel Schuhmann:
Using Vista's installation routine is a major benefit, especially for a server OS. Administrators can partition the system's hard drives during setup. More importantly, they can install the necessary AHCI or RAID storage drivers from a CD/DVD or even a USB thumb drive. Thus, error-prone floppies can finally be sent to their well-earned retirement.
There is another change that comes with the new setup routine as well. The admin can now choose between the (default) full installation or only selecting core components to install.
You can also install the server without a graphical-user interface.
The installation process does not ask the user for an administrator password. Instead, the operating system asks for a new password when it starts up for the first time.
After entering the new password, the user reaches the Windows desktop where he is greeted by an assistant for the initial server configuration.
All of this, of course, was pioneered in Unix during the late 80s and early 90s with both HP (SAM) and IBM (Smit) taking the Microsoft sequence while Sun and most others preferred to collect some of the data early, boot from the new installation, and then finish configuration.
There's a lot more blast from the past stuff too. For example, here's part of what Schumann has to say about IPv6:
Windows Server 2008 offers complete support for IPv6 and all of its features out of the box. No additional installation or configuration is necessary. Windows Vista also contains a complete IPv6 stack, allowing these two operating systems to communicate via IPv6.
Again, this is Microsoft rapidly catching up to the mid 90s.
The overall picture looks about like that: where there are new features for Microsoft, they're old for the rest of us - better RAID control and packet management for example than Windows 2003 server but barely on par with Solaris 2.5.1.
There are two exceptions that I know of. The first of these involves virtualization where the new server includes stuff previously licensed separately and Microsoft has chosen to pursue the old IBM VM agenda from the late sixties instead of the BSD jails and Solaris zones ideas developed for Unix. The reason for that, however, is force majeur: the VMS derived registery cannot handle multiple applications needing different values of the same variables, and that forced Microsoft down the OS ghosting route.
The other exception is that Microsoft is continuing its effort to embrace and thus redefine terms for functionality it can't match - in this case, the the administrative and rights focused Unix idea of role management. Consider this last bit from Schumann:
Windows Server 2008 definitely makes managing the server much easier. To demonstrate this, let us take a look at how you add a server role - in this case File Services.
Clicking Add Roles launches the wizard for installing server services, which begins by informing the administrator that certain prerequisites need to be met before the server can be configured for a new role.
That's not what "role" means - but the typical bid compliance officer seeing that the Microsoft sales team has checked "Supports administrative role management" as "Yes" isn't going to know better - just as Whitehorn and thousands like him don't see how utterly derivative and second rate the whole 2008 stack seems to be.