Adopting Windows as a service at Microsoft
A transformation is occurring at Microsoft as products are shifting into services, and product teams across the company are moving to more agile development and delivery models. Before the release of Windows 10, Microsoft Core Services Engineering and Operations (CSEO) had already begun transitioning from traditional deployment methods to more agile processes. We’ve streamlined application compatibility testing and used in-place upgrade deployment methods that have cut our enterprise deployment timeframes from months to weeks. We can keep pace with more frequent updates and keep our Windows devices current. This helps us to provide a flexible and up-to-date environment that enables our employees to benefit from the latest technology while reducing risks.
With Windows 10, Microsoft introduced Windows as a service. It’s a new way of building, deploying, and servicing Windows. New features are now being built continuously, and feature updates that add new functionality are released two times a year. We’re working to make sure our applications that are compatible with previous versions of Windows remain compatible with Windows 10 and Windows 10 updates. The update process has been simplified to automatically preserve all applications, data, settings, and configurations—making it easier than ever to deploy new releases. From a servicing perspective, Microsoft is simplifying the processes for patching Windows. At least once each month, quality updates are released to provide security and reliability fixes, with the goal of maintaining the best possible stability and reliability for all customers. Customers have more choices in tools and deployment timelines. To help customers get ready, the Ready for Windows website lists software solutions that are supported and in use for Windows 10.
Evolving the enterprise adoption approach
At Microsoft, we used to test, pilot, and broadly deploy new versions of Windows, because they were being released every few years. It would sometimes take us a year or more to deploy the new version on all the devices that we wanted to upgrade.
Our first experience with the shift toward Windows as a service came during the Windows 8 timeframe. We hadn’t yet completed our broad deployment of Windows 8, when the Windows 8.1 Update was ready to begin early adoption. We knew that faster release cadences with regular feature and quality updates were going to be the new normal, and that we needed to streamline our deployment processes to be more agile and keep pace. In collaboration with the product group, we created a proof-of-concept and piloted the deployment of Windows 8.1 as an in-place upgrade.
The pilot was successful, and led to adopting in-place upgrades to quickly deploy Windows 10 feature updates to more than 250,000 devices in the enterprise. Windows 10 and its feature upgrades introduced many security and productivity enhancements. These included Windows Hello for Business for corporate and remote access, and Windows Information Protection to secure corporate data.
Using the in-place upgrade method preserves user data, applications, and settings—and it has greatly reduced the number of installation-related help-desk calls. To learn more about our Windows 10 deployment, read Deploying Windows 10 at Microsoft as an in-place upgrade.
Setting up the environment for upgrade success
To help make our environment ready for successful upgrades, we changed our standard device configurations to only x64 architecture and Unified Extensible Firmware Interface (UEFI) rather than BIOS. Incoming, or newly provisioned, devices are being standardized toward x64 architectures, but we’re still supporting existing x86 devices. Users running x86 can still perform an in-place upgrade of Windows, because we still make both the 32-bit and 64-bit versions available.
Upgrades don’t support BIOS conversions; devices with BIOS firmware can upgrade but they remain on BIOS. Converting from BIOS to UEFI would require a clean install with data migration. This is less desirable because it requires larger installation images, has more room for error, and more often results in the need for a help-desk call. For devices that require a BIOS update or change, users are rarely able to perform the necessary steps without support of the help-desk. Another approach to making this change is to shift all new devices coming in to be configured with UEFI and x64 because Windows 10 supports both.
Updates don’t support cross-language conversion. We support five base operating-system (OS) languages: English, French, German, Japanese, and Chinese. If users need additional languages, they can install language packs. Because we’re responsible for supporting the environment and deploying pre-release versions of Microsoft products for feature validation, we haven’t yet moved to a single-base OS language. We do recommend, as a best practice, that other IT organizations standardize on a single-base OS language, like English, and then use language packs for additional language support.
Leveraging our early-adoption community
One critical component in our creation of agile-enterprise-adoption methodologies is the work we’ve done to create an early-adoption community at Microsoft. The Microsoft Elite program includes about 25,000 global users that participate in the early adoption of Windows and other products at Microsoft. They help us evaluate and validate user scenarios. They provide early feedback that we often take back to the product groups to drive fixes and feature enhancements.
We recently created a new universal application for participants of the Microsoft Elite program. The application promotes early adoption opportunities, captures feedback and scenario validation, and provides game-like incentives, including points and badges that promote participation. We use social mechanisms—such as Yammer and a moderated support forum—to capture additional feedback from, communicate with, and provide support to early adopters.
There’s a new feature in Windows 10 called Feedback Hub that we use to see the latest information about new Windows builds. It’s the central hub for insider announcements, feedback, and statistics, and it has another section that participants can use to give direct feedback to the product group and to provide diganostics.
Creating agile adoption processes
One of the key areas we had to change as we looked at the enterprise adoption of more frequent Windows releases was how to be more agile. We adopted an agile process that allows us to fail fast and embrace our failures. We began with creating small proof of concepts in IT that generally included 10 to 50 users. We made changes based on the proof-of-concept successes and failures, and then we moved on to larger pilots that were targeted to 1,000 to 5,000 users. We iterated on those pilots until we got to the quality we wanted before broadly deploying to all the users in the enterprise.
Figure 1: Agile adoption processes
Creating visual project work boards
To keep us organized and agile, we use a Visual Studio Team Foundation Services Kanban board to provide visualization of deployment work items and dependent systems. We use work items to share information, assign work to team members, update status, track dependencies, and more. The Kanban board helps optimize the flow of work among our teams across Microsoft.
Application readiness and compatibility testing
- Our total line-of-business application portfolio includes more than 1,650 applications. It used to take us months to complete application compatibility testing before deploying a new version of Windows. We optimized our application compatibility processes and can now complete testing in about three weeks, with substantially fewer resources. When we look at the topic of our application readiness and compatibility, there are two areas that really contributed to our overall success:
- The work the Windows product team has done toward ensuring that applications that ran on Windows 7 and Windows 8 will continue to work on Windows 10.
The ways that we have streamlined our application compatibility
testing efforts to help us keep pace with the increased cadence of updates and
- We focused on testing critical applications.
- We used virtual machines and automation to improve efficiency and consistency.
- We used centralized bug tracking because it gives actionable information to product and application teams.
Using Windows Upgrade Analytics
To help us gain a better understanding of the Microsoft enterprise environment, we’ve begun using the Windows Upgrade Analytics Service. Upgrade Analytics is offered as a solution in Microsoft Operations Management Suite (OMS), a collection of cloud-based services we use to manage our on-premises and cloud environments.
Upgrade Analytics provides:
- Computer, application, and device driver inventory.
- Guided workflows we can use from pilot to deployment.
- Tools to help us make data-driven decisions about our application portfolio.
- Guidance and insights into our organization’s upgrade readiness.
Upgrade Analytics gives us valuable information about the individual components that can be the common source of a deployment failure. We can use that information within the context of our familiar management tools to better plan our upgrade deployments.
Lowering support costs through self-service support
We offer our employees a variety of support options, including assisted (help desk), self-help, and community support. In Windows 10, we enabled user-initiated feature updates. Users can initiate their update when it’s convenient for them and when they’re less likely to perform actions that can cause an update to fail, such as turning off their device or disconnecting it from the network. Users have an increased awareness of update activities on their device and are less likely to mistake them for a technical issue. With Windows 10, we had a 50 percent reduction in help desk call volume from previous deployments, which represents a significant savings.
The moderated support forum has become key in helping us support users by serving as an early indicator; it helps us to quickly identify issues and remediate them. An added benefit of the moderated support forum is that we have better visibility into less significant issues, the minor issues that users would not have typically deemed important enough to call help desk about.
Driving user behaviors through creative communication
With a goal of increasing employee satisfaction in the face of change, we realized that we needed to create communications that would engage them in the process. We wanted to help them understand that even though there were going to be more frequent feature updates, the overall process of upgrading Windows was going to be much easier.
One important part of our communication plan was encouraging employees to take action and proactively install updates during times that were convenient for them. We wanted to encourage employees to “own their update” and install it before we had to enforce the upgrade. We created communications that demonstrated to employees how easy and effective it is to schedule a convenient time for their upgrade installation.
To inform users and inspire action, we always need to make sure that we’re reaching out to users in a clear and impactful way. We performed A/B testing, a method for comparing two versions of a single variable, of our communication templates during the Windows 10 deployment timeframe to refine our styles, and to help ensure that our emails are more likely to be read and acted upon. We sent out different versions of the same communications to different users and measured the open, read, and click-through rates that resulted from each.
Beyond the campaigns intended to drive self-service adoption, we have a rolling campaign to help employees do more with Windows. We’re promoting and highlighting how employees can be productive with features available in Windows 10, including Cortana integration, Windows Hello for Business, and Microsoft Edge.
Choosing a deployment mechanism for Windows 10
We have a variety of tools that can be used to implement Windows as a service. Many organizations already use Windows Update or System Center Configuration Manager, both of which have built-in capabilities for managing feature updates. Windows Update is quite simple to use—just point the Windows devices to the cloud service, and they’re automatically updated as new feature updates are released. Although Windows Update is an easy-to-use, cloud-based solution, IT organizations typically want a little more control over the process, so Microsoft created Windows Update for Business. Windows Update for Business has an additional layer of control that sits on top of the Windows Update service to provide more advanced capabilities, including creating “rings” for phased deployment and user-group exceptions.
Optimizing content distribution
To help ensure that ongoing deployments weren’t affecting our network and taking away bandwidth for other services, we used a couple of different bandwidth management strategies. Delivery Optimization, peer-to-peer caching enabled through Group Policy, was piloted and then deployed to all managed devices using Group Policy. Delivery Optimization works with all Windows Update content. Based on recommendations from the Delivery Optimization team, we used the “domain” configuration to limit sharing of content to only the devices that are members of the same Active Directory domain. The content is cached for 24 hours. Initially more than 76 percent of content came from peer devices versus the Internet.
We pre-cache the build on devices, and highly recommend it as a best practice. When we began pre-caching, we had to rely on a custom solution. Pre-caching the build on devices is now an integrated solution in System Center Configuration Manager. Another enhancement in delivery is the new user notification experience. It sends targeted notifications to users that an upgrade is available and gives them the option to either install during a time that is convenient or to set a reminder for later.
The Windows 10 operating system introduced a new way to build, deploy, and service Windows. Windows as a service includes new tools and processes that are designed to simplify how IT organizations can maintain a consistent Windows 10 experience by simplifying the deployment of Windows feature and quality updates on client computers, and leveling out the resources needed to deploy and maintain Windows over time.
Moving forward, we’re looking at opportunities to optimize even further by using Upgrade Analytics. In addition to using its insights to help us quickly identify upgrade ready devices, it has the potential to reduce the need for application compatibility testing.
For more information
Deploying Windows 10 at Microsoft as an in-place upgrade (technical case study)
Preparing your organization for a seamless Windows 10 deployment (content suite)
© 2018 Microsoft Corporation. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.