Mark's Windows Server Blog

Snippets of Windows Server information from Mark Wilson

February 2008 - Posts

Windows Server 2008 is a great workstation operating system too

Windows Server 2008 logoIt took me months to convince my manager that I need a new laptop. Then it took me a few more to convince the IT department of the specification I needed (and to prise it out of their hands) but today I finally got my hands on it. It's nothing special - I'd like a ThinkPad but, as my employer owns one half of Fujitsu-Siemens Computers, it is a Lifebook S7210 - and it's not a bad machine either (especially as this one has 4GB of RAM in it). Why do I need that? Because I'm the technology lead for Windows Server 2008 and Hyper-V in our Microsoft Practice - and I want to "dogfood" the technology.

The thing is, that Windows Server 2008 is not really a client operating system. Except it can be... Windows Server 2008 has a lot in common with Windows Vista and with a few tweaks, I had got it working just as as I want it. A Windows desktop on steroids really:

  1. Step 1 is a notebook PC with hardware assisted virtualisation capabilities, No eXecute (NX)/eXecute Disable (XD) protection, and a 64-bit capable CPU. My Lifebook S7210 has all of those things, so on to step 2...
  2. Next, I needed an operating system - Windows Server 2008 Standard Edition would do the trick (after all I only have a single CPU and won't be clustering laptops!), but the licensing model for Windows Server and virtualisation lends itself to using Windows Server 2008 Enterprise Edition (64-bit).
  3. Windows Server 2008 is not a supported operating system for this hardware but Windows Vista is. Installing x64 drivers for Windows Vista got my graphics and WiFi up and running but I still need to find drivers for some of the other components (like the built in card-reader).
  4. Next, installing the server roles that I want to use - Hyper-V for starters. Just make sure that the BIOS support for Intel-VT or AMD-V and NX/XD is enabled first.
  5. With the operating system installed, it's time to get to work turning on some of the client features that are missing from a server operating system (thanks to Vijayshinva Karnure for his original post and subsequent follow-up, as well as this post from Stuart Maxwell):
    • Turn off the Internet Explorer enhanced security configuration (ESC) - it's fine for servers that shouldn't be browsing the Internet anyway, but for a workstation it just gets in the way (and encourages bad practice by putting lots of sites into the trusted zone).
    • Install the Desktop Experience feature - providing many of the Windows Vista capabilities that are not there by default in Windows Server 2008.
    • Set the Themes service to start automatically - and start it.
    • Ditto for the Windows Audio service.
    • Install the Windows Search service (part of the File Services role) - Outlook will use this for indexing e-mail.
    • Edit the local security policy to set Display Shutdown Event Tracker to Disabled
    • Enable Windows Aero in the appearance settings (may require a reboot, and possibly re-installation of video drivers).
    • In Control Panel, System, Advanced System Settings, Performance Options, set the required visual effects - I found that if I let Windows adjust for best appearance, it reverted to the Windows Vista Basic colour scheme but if I selected a custom configuration with all effects selected except Animate Controls and Elements inside Windows, I could keep Aero, complete with Flip 3D.
      Windows Aero Flip-3D
    • Also in the advanced system settings, set the processor scheduling to favour programs.
    • Enable Superfetch. Starting the Superfetch service will fail until some registry changes are made:
      Windows could not start the Superfetch service on computername.
      Error 197: The operating system is not presently configured to run this application.

      The solution is to create two new registry keys, after which the service should start successfully:
      Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters] "EnablePrefetcher"=dword:00000003 "EnableSuperfetch"=dword:00000003
    • Edit the power settings to allow hard disks to spin down after 20 minutes when running on mains power (and 5 when on battery power).
  6. Finally, install browser plug-ins (Flash, Silverlight, etc.) and application software (e.g. Microsoft Office).

Windows Server 2008 running as a workstation

I still need to configure our corporate anti-virus solution and VPN software (I may have some problems there as it has a dependency on a firewall product that does not work with Vista SP1 or, I imagine, Windows Server 2008). Why we insist on it with the firewall built into Windows I still don't know but my VPN connection won't work without it. I also need to work out if I can get hibernation to work on Windows Server 2008. Once that's done, I should have a fully functional Windows Workstation 2008, with built-in hypervisor-based virtualisation. Sweet.

No more heroes {please}

That's it.  A single reference to [IT] heroes.  No more - because I didn't count how many times that word was used at the 2008 Global Launch event today but I certainly didn't have enough fingers and toes to keep a tally - and now I'm tired of hearing it.

Although those of us at the UK launch had already heard from a variety of Microsoft executives (including Microsoft UK Managing Director, Gordon Frazer, and Microsoft's General Manager for the Server and Tools Division, Larry Orecklin) and customers, the highlight was the satellite link-up to the US launch event with Microsoft CEO, Steve Ballmer.Steve Ballmer at the Microsoft 2008 Global Launch  Unfortunately, before we got to hear the big man speak, we had to listen to the warm-up act - Tom Brokaw, who it would seem is a well-known television presenter in the States, but totally unknown over here.  He waffled on for a few minutes with the basic premise being that we are in a transformational age in the history of our world and that the definition of our time and generation comes from unsung heroes (damn, that's the second time I've used the word) - not celebrities.

So.  Windows Server 2008, Visual Studio 2008, SQL Server 2008.  Three new products - one released last year, one earlier this month, and another due later in 2008 in Microsoft's largest ever launch event with 275,000 people expected to attend events across the globe and another million online at the virtual launch experience website.  Ballmer described them as "The most significant [products] in Microsoft's history" and "enablers to facilitate the maximum impact that our industry can have".  But what does that mean for you and I - the people that Microsoft likes to refer to with the H word who implement their technology in order to execute this change on an unsuspecting world?

I've written plenty here before about Windows Server 2008, but the 2008 global launch wave is about more than just Windows.  For years now, Microsoft has been telling us about dynamic IT and over the last few years we have seen many products that can help to deliver that vision.  The 2008 global launch wave is built around four areas:

  1. A secure and trusted foundation.
  2. Virtualisation.
  3. Web and developer productivity.
  4. Business intelligence (and user experience).

So, taking each of these one at a time, what do the 2008 products offer?

A secure and trusted foundation

Security and reliability are always touted as benefits for the latest version of any product, but in the case of Windows Server there are some real benefits.  The Server Core installation option results in a smaller codebase, meaning a reduced attack surface.  The modular design of IIS (and indeed the role-based architecture for Windows Server) means that only those components that are required are installed. Read-only domain controllers allow for secure deployment of directory servers in branch office situations that previously would have been a major security risk.

Availability is increased with enhancements to failover clustering (including new cluster validation tools), SQL data mirroring and the new resource governor functionality in SQL Server 2008 which allows resources to be allocated to specific workloads.

On the compliance and governance front, there is network access protection, federated rights management, and transparent SQL data encryption.

Microsoft is also keen to point out that their database platform has seen significantly fewer critical vulnerabilities in recent history than Oracle.

Finally, although not strictly security-related, Microsoft cites 40% of data centre costs relating to power and that Windows Server 2008 consumes 10% less power than previous versions of Windows Server, when running the same workload.


Microsoft's view on virtualisation is broader than just server virtualisation, encompassing not just the new Hyper-V role that will ship within 180 days of Windows Server 2008 release but also profile virtualisation (document redirection and offline files), client virtualisation (Vista Enterprise Centralised Desktop), application virtualisation (formerly SoftGrid) and presentation virtualisation (Terminal Services RemoteApp), all managed in one integrated, unified manner with System Center.

As for VMware's dominance of the server virtualisation space - I asked Larry Orecklin how Microsoft would combat customer perceptions around Microsoft's lack of maturity in this space. His response was that "the proof is in the pudding" and that many customers are running Hyper-V in beta with positive feedback on performance, scalability and ease of use.  Microsoft UK Server Director, Bruce Lynn added that Hyper-V is actually the tenth virtualisation product that Microsoft has brought to market.

In Steve Ballmer's keynote, he commented that [customers] have told Microsoft that virtualisation is too hard and too expensive - so Microsoft wants to "democratise virtualisation" - to switch from the current situation where less than 10% of servers are virtualised to a world where 90% are.  Their vision is for a scalable and performant hypervisor-based virtualisation platform, with minimal footprint, interoperability with competitive platforms, and integrated management tools.

Web and developer productivity

At the core of Windows Server 2008 is IIS 7.0 but Visual Studio extends the vision for developer productivity when creating rich web applications including support for AJAX, JavaScript IntelliSense, XAML, LINQ, entity-level data access and multi-targeting.

From a platform perspective, there are improvements around shared configuration, administrative delegation and scalability.

Combined with Silverlight for a rich user experience and Expression Blend (for designers to interact with developers on the same code), Microsoft believes that their platform is enabling customers to provide better performance, improved usability and a better experience for web-based applications.  It all looks good to me, but I'm yet to be convinced by Silverlight, or for that matter Adobe AIR - this all seems to me like a return to the days when every site had a Shockwave/Flash intro page and I'm like to see a greater emphasis on web standards.  Still, at least IIS has new support for running PHP without impacting on performance now - and Visual Studio includes improved CSS styling support.

Business intelligence

Ballmer highlighted that business intelligence (BI) is about letting users engage with applications - providing not just presentation but insight - getting at the data to provide business value.  Excel is still the most popular business intelligence tool, but combined with other products (e.g. SharePoint and PerformancePoint), the Microsoft BI story is strengthened.

SQL Server 2008 is at the core of the BI platform providing highly performant and scalable support for data warehousing with intelligence for both structured and unstructured data.  SQL Server reporting services integrates with Office applications and the ability to store spatial data opens new possibilities for data-driven applications (e.g. the combination of non-relational data and BI data to provide location awareness).

Putting it all together

So, that's the marketing message - but what does this mean in practice?  Microsoft used a fictitious coffee company to illustrate what could be done with their technology but I was interested to hear what some of their TAP customers had been up to.  Here in the UK there were a number of presentations from well-known organisations that have used 2008 launch wave products to solve specific business issues.

easyJet have carried out a proof of concept that they hope to develop into an improved travel portal for their customers.  As a low-fares airline, you might expect anything more than the most basic website to be an expensive extravagance but far from it - 98% of easyJet's customers book via the web, and if the conversion rate could be increased by 1% then that translates into £17m of revenue each year.

The easyJet proof of concept uses a Silverlight and AJAX front end to access Microsoft .NET 3.5 web services and SQL Server 2008.  Taking a starting point of, for example, London Luton, a user can select a date and see the lowest prices to all available destinations on a map.  Clicking through to a destination reveals a Microsoft Virtual Earth map with points of interest within a particular radius.  Streaming video is added to the mix, along with the ability to view hotel details using TripAdvisor and book online.

The proof of concept went from design to completion in just 6 weeks.  Windows Server 2008 provided IIS 7.0 with its modular design and simplified configuration.  SQL Server 2008 allowed the use of geospatial data.  And Visual Studio 2008 enhanced developer productivity, team collaboration and the overall user experience.

Next up was McLaren Electronic Systems, using SQL Server 2008 to store telemetry data transmitted in real time from Formula 1 racing cars.  With microwave signals bouncing off objects and data arriving out of sequence, the filestream feature allows data to be streamed into a relational database for fast access.  Tests have shown that for files above 2MB this technology will out-perform a traditional file system.  Formula 1 may sound a little specialised to relate to everyday business but as McLaren explained, a Formula 1 team will typically generate 3TB of data in a season.  That's a similar volume to a financial services company, or a warehousing and logistics operation - so the technology is equally applicable to many market sectors.

The John Lewis Partnership is using Windows Server 2008 for its branch office infrastructure.  Having rolled out Windows Server 2003, they would like to reduce the number of servers (and the carbon footprint of their IT operations) at the same time as doubling the number of stores.  Security is another major consideration, with the possibility of data corruption if power is removed from a server and a security breach if a directory server is compromised.

By switching branch servers to Windows Server 2008 read-only domain controllers (DCs), John Lewis can combine the DCs with other branch office functions (print, DHCP, System Center Configuration Manager and Operations Manager) to remove one server from every store.  The reduction in replication traffic (AD replication is all one-way from the centre to the RODCs) allows for a reduction in data centre DCs too.  Windows Server 2008 also facilitates improved failover between data centres in a disaster recover scenario.  Other Windows Server technologies of interest to John Lewis include Server Core, 64-bit scalability and clustering.

The University of Cambridge is making use of the ability to store spatial data in SQL Server 2008 to apply modern computing to the investigation of 200 year-old theories on evolution.  And Visual Studio 2008 allowed the construction of the associated application in just 5 days.  As Professor John Parker and his self-confessed "database geek" sidekick, Dr Mark Whitehorn explained, technologies such as this are "allowing the scientific community to wake up to business intelligence".

Finally, the Rural Payments Agency (the UK government agency responsible for paying agricultural subsidies) is using Microsoft Application Virtualization and Terminal Services to provide an ultra-thin client desktop to resolve application conflicts and allow users to work from any desk.


Microsoft never tells us a great deal about the roadmap (at least not past the next year or so) but the 2008 launch wave includes a few more products yet.  Visual Studio 2008 and Windows Server 2008 have already shipped.  SQL Server 2008 will be available in the third quarter of 2008 (with a community technology preview today) and the Hyper-V role for Windows Server will ship within 180 days of Windows Server (although I have heard rumours it may be a lot closer than that).  In the summer we will see a new release of Windows Small Business Server as well as a new product for SMEs - Windows Essential Business Server - and, at the other end of the computing spectrum, Windows High Performance Computing Server.  Finally, a new version of Silverlight will ship at some point this year.


I may not be a fan of the HEROES happen {here} theme but that's just marketing - I've made no secret of the fact that I think Windows Server 2008 is a great product.  I don't have the same depth of experience to comment on Visual Studio or SQL Server but the customer presentations that I heard today add credence to Microsoft's own scenario for a dynamic, agile, IT infrastructure to reduce the demands for maintenance of the infrastructure and drive out innovation to support the demands of modern business. 

Mark Wilson {United Kingdom}

Windows Server 2008 {launches today}

2008 Global Launch WaveIn a few hours time, I will be at the UK press launch for Microsoft's 2008 Global Launch Wave - the launch of Windows Server 2008, Visual Studio 2008 and SQL Server 2008.

This is the biggest launch I've been involved in for a while (the last one I took part in was Exchange 4.0 Server in 1996) - although I did attend the Windows Server 2000 launch in London and the Windows XP launch in Sydney.

Although today is the global launch, as far as UK events go, today is a press event - the customer launch is on 19 March at the ICC in Birmingham. I'll be there, on the Fujitsu stand, so come along and say hello if you get the chance. There will also be a sequence of regional launch events throughout April and May as well as a virtual launch website from 19 March until June.

The various UK user groups are also in the process of putting together two Community Days, hosted by Microsoft at their UK headquarters in Reading (Thames Valley Park). Details are yet to be finalised, so watch this space (or better still, check out the UK User Groups website, where pre-registration is available) and I'm hoping to get the chance to present at least one of the sessions, so if I've ever been the awkward one who asked too many questions in one of your presentations, now is the chance to get your own back...

Using Active Directory to authenticate users on a Mac OS X computer

One of the projects that I've been meaning to complete for a while now has been getting my Mac OS X computers to participate in my Active Directory (AD) domain. I got Active Directory working with Linux - so surely it should be possible to repeat the process on a system with BSD Linux at the core? Yes, as it happens, it is.

Before I explain what was necessary, it's probably worth mentioning that the process is not the same for every version of OS X. As explained in a Microsoft TechNet magazine article from 2005, early implementations of OS X required schema changes in Active Directory in order to make things work. Thankfully, with OS X 10.4/10.5 (and possibly with later versions of 10.3 - although I haven't tried), schema changes are no longer necessary.

By far and away the best resource on this subject is Nate Osborne's Mac OS/Linux/Windows single sign-on article at the Big Nerd Ranch weblog. This told me just about everything I needed to know (with screenshots) but, crucially, when I tried this over a year ago on my OS 10.4 system I could not get the Mac to bind with Active Directory. This was despite having disabled digital signing of communications (not required for OS X 10.5) and it turned out that the problem is the internal DNS domain name that I use which uses a .local suffix. As described in Microsoft knowledge base article 836413, OS X treats .local domains as being Rendezvous/Bonjour hosts and needs to be told what to do. There is an Apple article that describes how to look up .local hostnames using both Bonjour and DNS; however I'm not sure that's what fixed it on my OS X 10.5.2 system. My TCP/IP, DNS and WINS settings were all being provided by DHCP and, even though I added local to the list of search domains, it was the second listed domain (after the DHCP-suppled entry) and successful binding seemed to occur after I had pinged both the domain name and the domain controller (by name and by IP address) and performed an nslookup on the domain name. Another thing that I considered (but did not actually need to do) was to create a reverse lookup (PTR) record in DNS for the domain name. Retrying the process and binding to a domain with a suffix presented no issues at all.

Nate's article is for OS X 10.4 (Tiger), and having got this working in OS X 10.5.2 (Leopard), I thought I post a few more screenshots to illustrate the process:

  1. First of all, open the OS X Directory Utility and Show Advanced Settings. Switch to the Services view and ensure that Active Directory is selected, then click the button with the pencil icon to edit the settings: Mac OS X 10.5 Directory Utility - Services
  2. Enter the domain name (home.local) in my case and computer name. In the Advanced Options, I left the user experience items at their defaults (more on that later): Mac OS X 10.5 Directory Utility - Active Directory User Experience options
  3. Switching to the administrative options reveals some more settings that are required - I checked the box to enable administration by the Domain Admins and Enterprise Admins groups, but others group or user accounts can be added as potential computer administrators: Mac OS X 10.5 Directory Utility - Active Directory Administrative options
  4. Click the bind button and, when prompted, supply appropriate credentials to join the Macintosh computer to the domain (i.e. AD credentials). This is the point where the location of the computer account is defined. Mac OS X 10.5 Directory Utility - Active Directory authentication
  5. If you receive an error relating to an invalid domain and forest combination being supplied, this is likely to be a DNS issue. Check that DNS name resolution is working (using the OS X Terminal utility and the ping or nslookup commands) and note my earlier comments about support for .local domain name suffixes - you may need to follow Apple's advice to add local to the list of search domains: Mac OS X 10.5 Directory Utility - Invalid Domain error message Mac OS X 10.5 Network Preferences - DNS settings
  6. Once successfully bound to Active Directory, the group names for administration of the local computer will be expressed in the format domainname\groupname. The system event log on the domain controller that processed the directory request will also show a number of account management events, as the computer account is created and enabled, then the password is set and the associated attributes changed (password last set and service principal names): Mac OS X 10.5 Directory Utility - Active Directory Administrative options
  7. In the OS X Directory Utility, Click OK, and move to the Directory Servers view - is all is well then the domain name will be listed along with a comment that the server is responding normally: Mac OS X 10.5 Directory Utility - Directory Servers
  8. Active Directory/All Domains should also have been added to the Authentication and Contacts views in the Search Policy: Mac OS X 10.5 Directory Utility - Search Policy Authentication Mac OS X 10.5 Directory Utility - Search Policy Contacts
Following this, it should be possible to view AD contacts in the Directory and also to log on using an AD account (in domainname\accountname format). Although this worked for me, I was having some issues (which I suspect were down to a problematic AirPort connection). Once I had switched to wired Ethernet, I was able to reliably authenticate using Active Directory, although I did not re-map my home drive to the network (Leopard's SMB/CIFS support is reported to be problematic and I felt that can of worms could stay closed for a little longer until I was comfortable that AD authentication was working well). Instead, and because my computer is a MacBook, so will often be disconnected from my network, I changed the User Experience options for Active Directory to use a mobile account - effectively creating a local account on the MacBook that is mapped to my domain user:

Mac OS X 10.5 Directory Utility - Active Directory User Experience options

At the next logon, I was prompted to create a mobile account and once this was done, I could access the computer whilst disconnected from the LAN, using the using the AD credentials for the last-logged-on user.

One more point that's worth noting - if you have existing local accounts with the same name as an AD account, the permissions around user account settings get messy, with the AD logon resulting in a message that there was a problem creating your mobile account record and the local logon reporting that there was a problem while creating or accessing "Users/username".

That's all I needed; however I did compile a list of links that might be useful to others who come across issues whilst trying to get this working (perhaps on another version of OS X):

Changes to the Microsoft Remote Desktop Connection command line switches

Garry Martin alerted me to a useful piece of information this morning...

It seems that the /console switch introduced to the Remote Desktop Connection client in Windows Server 2003 has been deprecated in Windows Server 2008 (and Windows Vista SP1). It fails silently (so you still think that you are connected to the console session) but closer inspection reveals that a different session number is in use.

The replacement command is mstsc /v:servername /admin - John Howard has more information on his blog.

Performing an Active Directory Health Check

A few months ago, I was in a situation where I needed to perform a health check on a customer's Active Directory (AD) infrastructure in preparation for guiding them through the process of migrating directory objects between forests. I've worked with AD for years - and am reasonably familiar with the various utilities - but didn't really have a formalised method for reviewing its health and the political climate was such that I didn't want to be the one who had missed an obvious diagnostic (no pressure there then!).

Then I found an eBook which turned out to be a fantastic investment - Andrew Abbate's Digital Shortcut to Performing an Active Directory Health Check. Published by SAMS and supplied in Adobe PDF format (protected with digital rights management), this book gave me a refresher course on the tools and their use, then describes how to carry out the health check, interpret the data, and fix the problems. Sure, it won't tell you everything you need to know - but it certainly gave me enough to apply the rest of my skills and knowledge to get to the bottom of the issues we were experiencing.

This eBook is available via the Safari online library; however googling also turned up copies available for purchase and download from a variety of online stores - I bought a copy for $9.99 at eBookMall.

Windows Server 2008 - pulling it all together

However you look at it, there's little doubt that creating an operating system release the size of Windows Server 2008 is a huge undertaking.  A few months back, I was privileged to hear Alex Hinrichs, Group Program Manager for Windows Server, speak about the process of building Windows Server.

First of all, any major project needs strong leadership and the Windows Server Division management team includes a huge volume of collective experience from guys like Bob Muglia, Bill Laing and Iain McDonald.

Then, there's the consistent vision - at the heart of the Windows Server 2008 product there have been a few major themes:

  • Roles (customers don't think "my Windows server"; they think "my domain controllers", "my web servers", etc.).
  • Only install what the system needs.
  • Make it secure, reliable, manageable... and fast.
  • Quality should be determined by real world deployments (i.e. only ship when know the product is ready).

It's also worth remembering that Windows Server 2003 has been an excellent operating system release.  So, as they began to plan for the next release, Microsoft took a look at what worked well when developing Windows Server 2003:

  • Deployments are key to quality (internal deployments - "dogfooding", early adoption customers).
  • Include a long customer feedback cycle.
  • Install fewer components and services by default.
  • Lock down the feature set early (good ideas are all very well, but it requires discipline to say "no, we'll add that later") and focus on quality during the last year of development rather than adding new things.
  • Protect the daily build (the daily version of Windows Server needs to be solid).
  • Focus on the basics (reliability, security, performance).

Even though the feature set was locked down some time ago, Microsoft did respond to customer feedback on the early builds of Windows Server codenamed Longhorn - that's how we got features like IIS as a role in server core, Windows PowerShell as a feature, more granular group policy objects and read-only domain controllers.

The important point is that in the final year, major changes were limited.  Customer requests were still the primary driver but there were no more changes for people who thought "it would be really cool if..." and changes were only implemented to unblock customer deployments.

For me (as I'm not a software engineer), the fascinating part of Alex's presentation was the daily process.

Program Managers are responsible for delivering on a single component of the operating system, with each virtual build lab (VBL) being made up of a number of feature build labs (FBL) - for example:

  • Core (platform, kernel, setup, etc.).
  • Networking (TCPIP stack, DHCP, RRAS, etc.).
  • Server roles (IIS, AD, etc.).
  • Security (logon, licensing, etc.).
  • Client (shell, Internet Explorer, etc.).
  • File (including backup, storage server, etc.) .

The daily ship-room (engineering) meeting examines test results to see which product groups are ready to bring in code to the build based on:

  • Distributed responsibility:
    • FBLs need to get code ready in order to move up through the build process via the VBLs.
    • Around 10,000 people have contributed code to Windows Server at some point in process (about 1000 developers are working on it every day)
  • Daily tests (checks and balances) including:
    • Build verification tests (BVTs) - examining whether the operating system will complete set up, can it upgrade, can it share files, etc. for a few thousand simple tests on all versions (32/64-bit, Itanium, etc.).
    • Feature verification tests (FVTs) - tests at feature/role level, e.g. AD, IIS, etc.
    • Stress - what does it take to break the system, using over 1000 machines running stress tests every day until something breaks, then attaching to a debugger to see what broke it.
    • Reliability - how long can the system run - for every server role.
  • Bugs and bug bar (what bugs are there to fix... and when by).

Hinrichs explained that the componentisation effort used for Windows Server 2008 has certainly helped to make the process easier.  It has taken many years but dependencies have been broken as senior, strong, architects have run Windows code has through architectural layer tools to ensure that architectural policy is adhered too.

Using a component-based model helps to identify conflicts before they hit the main build.  For example, if the Shell and Internet Explorer teams are working on same binary the code is checked in at the client layer and the developers can work together to resolve a conflict before the code is incorporated into the main tree.

Before code is accepted, there are a number of quality gates to be negotiated, consisting of a battery of tests to run at check-in stages, for example:

  • Static code analysis (buffer overflows, other security problems, managed code problems, etc.).
  • Architectural layer (check for implied dependencies and relate back to roles - a developer may think that they are working in their own universe but this is not necessarily so).
  • Code coverage (automated tests all over the world constantly testing the system to hit as many code paths as possible, aiming for automation to cover as many as possible but realistically 70-75% automated with the rest tested manually).
  • Policy check tools (looking for globalisation or localisation issues, political issues, etc.).

On a normal day in the Windows Server Division:

  • FBL developers run checks and once the code is ready it is pushed to a VBL team for building.
  • The VBL team pulls down the main build and merges it with new code from the FBLs, looking for conflicts/problems.  Once everything is ready, code from all teams is brought together into the main build.
  • Because there are checks and balances at all levels (and reverse integration), things tend to be pretty clean at the main build level.
  • It's not just about pushing code up - it is pulled down as well so that all teams pick up changes from each other.

I'm pleased to see Windows Server 2008 ship before its official release date.  For some time now Microsoft would only commit to "shipping during the first quarter of 2008" but were adamant that quality was the primary goal and that the product would only ship when it was ready.  Based on my experiences, it seems remarkably solid and I have no reservations about pushing my organisation as hard as I can to deploy Windows Server 2008 for our customers.  And I'll wrap this post up with one final comment - Kevin Lane, the lead for the technology adoption program (TAP) customers has been on call 24x7 to ensure that major issues affecting customers are resolved quickly.  In the last 6 months he has only had one call that's been important enough to disturb his sleep...

Windows Server 2008 RTM and launch plans

This will probably be one of the most-reported news items of the year (and I don't really do news) but this is the Windows Server Team UK user group and Microsoft released Windows Server 2008 to manufacturing yesterday (in the middle of the night here).

I'm not sure quite how widely available the images are at the time of writing but beta testers can certainly download a copy from Microsoft Connect for the next 30 29 days and I'm told it's also available to MSDN subscribers, as is Windows Vista SP1. I expect the product will also be made available to volume license customers over the next few days (if not already). There's more information on Windows Server 2008 elsewhere on this site (and in the Microsoft press release).

The official launch date is still 27 February 2008, and in the UK the main customer event is planned for 19 March at the ICC in Birmingham. The various user groups are also in the process of planning a community launch event for 8/9 April at Microsoft's UK Campus with session planning currently in progress - I'll post more information as it becomes available.