- Interact with Azure Cosmos DB with PowerShell - Tue, Sep 14 2021
- Azure health services: Track Microsoft cloud outages and maintenance - Wed, Sep 8 2021
- Powerline: Customize your PowerShell console - Tue, Aug 31 2021
Let's discuss Windows 10. Specifically, I'd like to share my opinion why, as of this writing in December 2018, I think Microsoft's current Windows Client servicing model does not work for either businesses or consumers.
Historically, you will remember that Microsoft traditionally released a new Windows Client version every few years. To wit:
- Windows XP: October 25, 2001
- Windows Vista: November 30, 2006
- Windows 7: October 22, 2009
- Windows 8: October 26, 2012
- Windows 10: July 29. 2015
In keeping with twenty-first-century information technology trends such as DevOps and continuous integration/continuous deployment, Microsoft accelerated its pace of Windows Client development. They call this new OS-servicing model Windows as a service.
Twice a year Microsoft releases feature updates that essentially amount to an operating system upgrade. These feature updates incorporate not only bugfixes released since the previous feature update but also (wait for it) new features.
On the second Tuesday of each month ("Patch Tuesday"), Microsoft releases quality updates. What's different about Windows 10 quality updates is they are cumulative, and we can't break them down into individual bugfix installers like previous Windows Client versions used.
Businesses can build deployment rings for managing Windows 10 updates. These rings define environments for Windows Client servicing. Basically, you have four deployment rings to choose from:
- Preview: Intended for testing prerelease Windows 10 builds
- Targeted: Intended for quality assurance (QA) testing before you deploy to your production systems
- Broad: Intended for release to your production systems
- Critical: Intended for critical-use systems where you need to be extra selective about updates
The long-term servicing channel (LTSC) targets specialized Windows 10 devices that for stability reasons should not receive feature updates. Examples of these devices include point-of-sale (POS) systems, medical equipment, and the like.
As you probably know, we Windows systems administrators have a few tools in our arsenal for managing updates and their associated deployment rings:
- Windows Update for Business (aka Group Policy)
- Windows Server Update Services (WSUS)
- System Center Configuration Manager (SCCM)
Okay, enough backstory. Let's get to my arguments why I think Windows as a service in its current state is a bad fit for Windows Client.
Microsoft's reduced emphasis on QA testing ^
You may know that in 2014 Microsoft laid off half of their QA software testers in the Operating Systems Group (OSG).
Since 2014 Microsoft appears to use the following people and groups as their de facto Windows Client QA testers:
- The Microsoft Windows 10 software engineers themselves
- Third-party contractors
- The Windows Insider program contributors
- Customers (sad to say this)
The net result of this situation is that we are seeing more bugs than ever make their way into Windows 10 release code. Here, let me give you a sampling of some recent tech news headlines concerning the Fall 2018 (1809) Windows 10 feature release:
- File deletion bug
- ZIP file extraction bug
- Disconnected mapped drive bug
- Broken Windows Media Player bug
- Broken Apple iCloud bug
- Various device driver-related bugs
Note: The Windows 10 version number corresponds to the year and month of that particular feature update. Therefore, version 1809 is supposed to represent September 2018, although we all know Microsoft missed that target due to these catastrophic bugs.
The fact Microsoft released these bugs to the general public is simply unacceptable. "Where are the Windows Insiders?" you might ask. From what the tech news tells us, they were vocal about these bugs and reported them. However, Microsoft evidently misunderstood them or overlooked the bug reports.
Administrators do not have enough control over updates ^
As I mentioned already, monthly Windows 10 quality updates are cumulative and don't break down into individual knowledge base (KB) fixes. Microsoft does this to reduce fragmentation among the Windows 10 user base.
Of course, the fatal flaw to this strategy is that sometimes a quality update may include a KB fix that breaks functionality in your environment. What can you do then?
Yes, you have WSUS, System Center, and Group Policy. However, these tools simply allow you to defer an update, not customize its granularity. Sadly, deferring updates means leaving unpatched systems in your environment, which increases their attack surface.
Feature updates are a heavy lift for consumers ^
How often do non-technical users perform an operating system upgrade? If your experience is similar to mine, not often, if ever. With the semiannual feature updates, however, this situation is much different.
Instead of a brief patch installation and perhaps a system restart, the feature updates involve a much longer-running invasive process that, at least in my experience, many users do not expect or want.
This situation becomes more complicated if a feature update contains a "fix" that breaks functionality on their systems. In a consumer environment, obtaining reliable technical help can be a befuddling, expensive, and even a risky proposition.
What I think Microsoft should do ^
Speaking as an IT professional who has worked professionally with Windows since Windows 3.1, I think Microsoft should release no more than one feature update per year. Second, they should consider adding more QA staff to their consumer operating system group. Failing that, at the very least, they should (much) more rigorously act on feedback that Windows Insider program volunteers submit.
Despite Microsoft's desire for limited OS fragmentation, I think the monthly quality updates should allow decomposition. This would help businesses keep their client systems as current as possible while avoiding downtime that problems linked to individual KB packages cause.
Ultimately, what bothers me most is that the Windows Client teams appear to be concerned with innovating new features rather than ensuring code stability. Who cares about a dark theme or new icons when we have showstopping bugs leaking into the consumer and corporate space!
Let me end on a high note: Windows 10 is a great OS release, right up there with Windows XP in terms of its overall usability and stability, in spite of these update problems. The new Microsoft chief Satya Nadella definitely accepts customer feedback, plays better with competitors than ever before, and will right the ship eventually.