As I was writing this article, Microsoft was still finalizing version 1.3 of the Application Specification for Windows 2000. Version 1.2 of this specification has existed since December 1999 and has served as the basis for Win2K Server and Win2K AS application certification. In version 1.3, Microsoft is extending the specification to include the following Win2K Datacenter Server requirements.
Applications must support 4-node clustering. Datacenter extends the maximum number of nodes in a Microsoft Cluster service cluster from 2 to 4. Therefore, Datacenter certification requires that applications work properly with 2-, 3-, and 4-node clusters. (All applications certified for Datacenter are also certified for Win2K AS, which supports Cluster service clusters of up to 2 nodes.)
Applications must be able to run with enabled PAE memory. Datacenter supports as much as 64GB of Physical Address Extension (PAE) memory, so Datacenter-certified applications must be able to run correctly in memory higher than 4GB. Datacenter supports PAE natively, so applications are expected to function in memory higher than 4GB the same way they would in 4GB of memory. In addition, applications must function correctly with 4GB RAM Tuning (4GT) enabled (4GT increases the application virtual memory from 2GB to 3GB and reduces the system virtual memory space from 2GB to 1GB).
Applications must be able to operate correctly under a job object's control. An application must not fail or hang when you run its job object at a reduced priority level, when you group the application with unrelated processes in the job object, when you move the job object from one processor to another, or when you increase or decrease resources such as memory and number of CPUs. The application vendor supplies resource requirements, which define the resources that the application needs to run properly.
Applications must be able to be installed and run on a 32-processor system. Before Datacenter, mainstream applications didn't run on 32-processor systems; such systems simply weren't available, much less supported. Now, applications certified for Datacenter must demonstrate stability for an extended period on systems that have 32 CPUs.
Applications must demonstrate stability under stress. A key Datacenter requirement is OS and application stability. In an effort to verify its stability, an application must hold up under a two-pronged stress test. First, while the Datacenter Windows Hardware Compatibility Test (HCT) test suite subjects Datacenter to stress, a stress test that the vendor supplies (called a test harness) subjects the application seeking certification to stress (the vendor-supplied test must be available to the public so that anyone can recreate the test). The application must also survive an extended stress test in a cluster configuration; this test includes an application failover from one cluster node to another.
Applications that contain device drivers must pass additional tests. Kernel-mode device drivers are a potential source of failure in any application, and a poorly written driver can affect the stability of Win2K and the applications running in it. Microsoft puts all applications that contain kernel-mode device drivers through the Datacenter HCT, which subjects the operating environment to heavy stress for extended periods of time to validate the robustness of drivers and other software on the system. Furthermore, the Windows Hardware Quality Labs (WHQL) must test the applications to ensure the drivers work properly.
Application debug symbols must be available. Quick problem diagnosis is a key benefit of Datacenter certification. To facilitate this, application vendors must provide either the debug symbols for their code or an equally effective alternative way to diagnose bugs.
Application vendors must provide 24 X 7 support. When Datacenter customers call for support, they expect a quick response, regardless of when they call and how many products might be involved in the problem. Thus, vendors of Datacenter-certified products must guarantee that any time the Joint Support Queue calls, someone will be there to answer the call quickly and solve the problem. (The joint queue is the Datacenter OEM's support organization made up of OEM and Microsoft representatives.)
These application requirements aren't really new features. They're refinements that have more to do with supportability, stability, and ease of problem resolution. Any application that will be deployed in a Datacenter environment must have enterprise-level characteristics. Datacenter applications and vendors are playing in the big leagues, and they have to act like it.