The first public beta for Windows 8 is expected to be released in February, but we've been testing pre-beta code in our lab. Our overall impression is that Windows 8 represents an aggressive effort by Microsoft to deliver a single OS that runs just about everywhere and takes on all of Microsoft's key rivals.
There's a tablet edition that targets Apple's iPad, a server edition with virtualization features aimed at VMware, and a smartphone OS to challenge the iPhone and Android markets.
Over the years, Microsoft has gone back and forth on having more than one code base for its operating systems. Windows started with two versions, one that ran on DOS and another that ran natively on hardware. These two code bases were united in Windows 2000, but were separated in the Windows XP versions, Windows CE, and Windows Server.
Windows 8 attempts to run a similar kernel across target devices once again. Eventually Windows 8 will run on smartphones and tablets through notebooks and desktops (although there is currently no publicly released code called Windows 8 for Windows Phone). Server versions run from static server devices to more modular Windows 8 server constructs targeted at hypervisors.
Microsoft very much wants the world to use its Hyper-V hypervisor rather than VMware and Windows 8 targets VMware features. Microsoft also places a strong emphasis on Windows 8 fluidity on hypervisors, adding data center administrative controls, as it targets Platform-as-a-Service (PaaS).
We tested Windows 8 on a Samsung Galaxy tablet, on Lenovo notebooks, HP desktops, and as a virtual machine with Parallels on a Mac. We tested server versions on HP servers running native Microsoft Hyper-V and also on VMware vSphere in our lab, and in our network operations center cabinet at nFrame in Carmel, Ind.
Only rarely, and under high pressure, did it explode — and then, only on the Lenovos when we pushed it hard. The client side is interesting, but we found the Windows 8 Server changes and additions are more compelling.
Client and Controversies
There are now two directions for Windows UI in Windows 8, and two directions for CPU support in the client versions.
Microsoft introduced the Metro UI first with Windows Phone 7 and is now extending Metro to other touchscreen-capable devices like tablets. Metro is an "active frame" icon-based UI and system that doesn't run traditionally .Net Framework or Silverlight apps. Today, Metro is available on tablets and smartphone, but Microsoft plans to extend Metro to other platforms.
With Windows 8, Microsoft adds support for ARM family processors, currently 32-bit CPUs poised towards smartphone and tablet devices. Market demand for servers also based on ARM (example: from HP's MoonShot ultra-high density CPU project that runs high densities of ARM Calxeda CPUs), may mean that Microsoft ports and evolves server-based support for ARM as well.
Two kernel trees would then evolve, one for x86/64-bit Intel-like CPUs, and one for ARM designs. Porting issues and application compatibility issues for Metro remain — you can't run Office as we know it on Metro.
The Samsung "Developer Tablet" we tested used an Intel "Core i5" chipset, and ran the Metro UI. Apple currently also supports both families of CPUs, and bases most of their sub-notebook devices on custom ARM devices and millions of iOS-based applications run on ARM application development frameworks.
The Metro user interface is simple and uses a tiled window front-end and brings icons to foreground quickly. Currently, there aren't a huge variety of applications to choose from, but we were impressed with speed, and were able to understand maneuvering back and forth through applications. Our experience with Windows Mobile 7.5 (tested on a Samsung/ATT smartphone over WiFi) was very similar, and the learning curve was minimal.
Windows 8 notebook clients were fast, but we found them to show signs of their alpha origins, especially when we used the Internet Explorer browser on streaming media. We used healthy notebooks with 4GB of user memory. We additionally had trouble with hibernation mode, and if we had many concurrent video streams working in IE, then closed the notebook, we could have trouble bringing the notebook out of hibernation; sometimes it would lurch, as though it were a steam engine coming up to speed, and sometimes pre-loaded IE Flash-based (YouTube) video streams would just stop until reloaded. But this is pre-beta software.
The notebook-based client also had working power-savings modes that spoke to the Intel i5-based chipset used by our Lenovo T520 notebooks. We watched power climb backwards on our power measurement devices exactly on queue. We were able to install Windows Office, and also tried a few of our games. We could not find Windows XP compatibility mode, and when we attempted to install older versions of Microsoft Office — ones compatible with XP but truly out of date — they would not work. Undoubtedly, some software will work, but compatibility modes couldn't be located. Duke Nukem, version 1, will not work.
The server editions of Windows 8 start in a "headless", PowerShell-driven version called Server Core. The older GUIs are still around for what Microsoft calls "backwards compatibility". We found that after some experience, the GUIs can get in the way.
We carefully considered this, as there is a generation of Windows administrators who have evolved along with the Windows Management Interface instrumentation, including Microsoft's Management Console, and interactivity between different components and objects. None of that has been lost, and reminds us of Windows 2008 R2 navigation and behavior when we used them.
Server Core is simpler and more compelling, in terms of deployment and management of Windows 8, we feel. PowerShell now has more than 2,300 commandlets. Quick-and-dirty work, using the PowerShell and modifying basic script behavior was found to be both familiar, and decidedly more consistent than using the myriad Unix/Linux/Solaris equivalents because of syntactical consistency among the PowerShell commands.
There is an equivalent to looking things up in *nix "man" pages to find the correct syntax, and it's more consistent, but in a Microsoft and Active Directory control idiom. It's like learning Spanish after Latin, we decided.
What we could do is comparative magic, as policy control has been expanded. As an example, we could sculpt a share policy, and have it go to all appropriate Active Directory nodes (our two test clients) at once. Ostensibly, such policy changes would be carried through a network at the speed of the transport. This also means that administrative controls must be ever more highly authenticated as a single PowerShell directive could stop every node on a network cold if inappropriately executed as fast as the network could carry it. With such power comes great responsibility.
The Windows 8 Server Editions promise features that are often found on storage arrays apps such as those from NetApp and EMC. We were intrigued by the capacity for heuristic deduplication. This feature deduplicates files, a process that creates file system stub pointers to source files. The secret sauce is that Windows 8 Server does this by comparing more than the usual metadata characteristics, such as file size, name, and other metadata. Instead, other factors are also said to be chosen although we were unable to exhaustively test how this works.
Windows 8 Server also now creates the virtualized storage pools, called Storage Spaces, similar in nature to what we found in VMware 5. These "elastic" (actually capable of high oversubscription) storage pools are designed to permit virtualized or static server instances to have resources appear larger than they actually are, cutting the cost of actual (eventual) storage deployment by "fooling" applications.
Windows 8 accomplishes this through a bus, the Windows Storage Management API and associated WMI instrumentation, to corral all of those wily third party storage vendors. We touched the storage API sets, but we lack software glue for our Dell Compellent Storage Array to be able to get the "final feel" for the enhancements. Microsoft will need to encourage third-party providers to support their new capabilities with zeal.
Cloud and Multi-tenancy
Windows 8 Server is designed to be perceived, in our opinion, as a Windows Platform-as-a-Service component. Microsoft claims much has been done to make instances of Windows Server 8 more modular, and a better fit as an instance tenant in multi-tenant environments.
Towards those ends, the instance needs to be predictable, movable (so as to optimize performance and ally hardware assets), and manageable through WMI and System Center-based balancing algorithms. Connected pieces living across a service provider's NOC cabinets must also be secure, as should their storage and communications. Microsoft has paid a lot of attention to multi-tenancy considerations, although we lack sufficient infrastructure to be able to test all of the multi-tenant pieces, today.
The lack of drivers for our Dell Compellent SAN prevented us from testing the ability to have VM instances moved directly across storage arrays, rather than being dragged through servers. Unattended, predictable moves of instances to balance loads and availability is a strong function of VMware, and one that Microsoft is obviously jealous of. Once this feature works, Windows server instances will silently (and hopefully effectively) move in and out of warrens of available resources without tying up network wires with movement activity. SAN controllers would be instructed to move the newly re-designed back and forth through hardware infrastructure to match the variables of periodic load need vs. availability.
Microsoft also supports a Hyper-V Virtual Switch, which serves as a virtual Ethernet layer liaison with network I/O. The hypervisor stack, with the Hyper-V Virtual Switch, is designed to provide network interface card (NIC) teaming, but also programmable links with other servers in perhaps distant cabinets in a data center, forming and controlling relationships among "team components" in a multi-tenant environment.
Inside the Virtual Switch are layers designed to perform virtual NIC control for member VM instances, traffic management (especially load balancing and traffic shaping by protocol throttling), and overall platform I/O control. Interestingly, there are said to be places for packet inspection/traffic monitoring, but we don't have a way to test this feature; it might be there for firewalling protection of assets, but it might be a set of nodes to ally policy controls, too. QoS and stream control (through protocol tagging and admittance throttles by protocol) should also be able to be managed in the Virtual Switch, too.
In the same vein, Windows 8 Server supports DNSSEC, the authenticated version of DNS, and Active Directory is highly dependent on DNS. Establishing trust and validation was comparatively simple for DNSSEC resolvers in our rudimentary test. Trust relationships are setup using secrets among authorities, then the very top Start of Authority becomes a validator for sub-domains.
Our Windows 7 clients could update it satisfactorily, but we were unable to get Macs (OS X 10.5) and SAMBA-based Linux (SAMBA 3.2 on Linux 2.28.30) clients to perform Dynamic DNS (DDNS) updates to the server, but this problem is an issue that would undoubtedly be rectified by a release candidate of Windows Server 8.
Compelling and not
We can't speak to performance, because the numbers will change at least two more times between our pre-beta exam and the final product, which is slated to ship in October. The client version of Windows 8 seems less compelling to us than the server version. The fact that there become two UIs to support, and a third if you count what you already own, seems a bit daunting in the face of no strong compelling applications to drive the use of clients.
The server side, however, is a long litany of interesting answers to competitive add-ins, add-ons, and revenue generators atop Windows 2003 and 2008 Server platforms. Microsoft has carefully crafted an avenue back towards Hyper-V, and away from vSphere, and XenServer.
Microsoft's perfect world is a walled garden where one uses convenient Microsoft infrastructure, and they make a compelling case towards corralling advanced features back towards themselves with comparatively visionary release components.
There's also an enormous bow towards the admin geeks of the world with the inclusion of PowerShell management capabilities, and a seeming admission that consistent shell behavior can trump highly evolved GUI management systems.