At Microsoft, we’re using Microsoft Dynamics 365 for Customer Service to manage update releases for our Windows operating system (OS) platforms and to transform the way we manage update release publishing. Dynamics 365 provides a modular, customizable automation pipeline that enables us to manage and track the complicated workflow and handoff procedures that are involved in OS update releases. This low-code solution enables us to create and reuse multiple workflows within the pipeline, to remove the potential for human error with touchless automation, and to create a more robust, effective, and traceable pipeline for the release publishing process.
Understanding Windows releases at Microsoft
Windows OSs have been evolving for more than 30 years. From 5.25-inch floppy disks to CD-ROMs to instant downloads, the way we deliver Windows to our customers has changed significantly and so have the methods we use to maintain it. Windows 10 marked the beginning of our Windows as a service model. Windows 10 updates more frequently with Windows as a service, and each iteration is smaller in file size. The model is designed to simplify the lives of IT administrators, and it helps maintain a consistent user experience for Microsoft customers.
We exchanged the monolithic build process for more agile releases that address security, productivity, and manageability capabilities. We also changed our release cadence from one major release every three to five years to frequent, incremental feature updates every six months, and continue to release monthly quality and security updates. Windows as a service provides these updates to ensure customers are both productive and secure, which in turn has created an opportunity for the Engineering organization to redesign their processes to support this shift.
Managing all Windows releases
While Windows 10 is our most current and widely used OS, it isn’t the only one for which we manage updates. We support many previous client and server versions of Windows, which require updating and servicing differently from Windows 10 and Windows as a service. We also manage updates on multiple deployment rings for all supported versions of Windows across different devices. It’s a big process.
Our product engineers follow a complex set of workflows to take Windows updates from planning to release. The update release process involves many variables and situations that need to be accounted for, including:
- Populating update process metadata.
- Observing specific protocols and touchpoints in the release process.
- Validating that update components are free of malware.
- Confirming handoffs and transitions between teams.
- Confirming release availability across rings, OS versions, and customers.
Improving Windows Update release processes
Our previous method for handling Windows Update releases involved a significant number of human touchpoints, which were prone to error. The process required effort from our engineering team to manage the process itself, which took time away from update development and affected the release cadence. We wanted to create a new solution that could provide a solid servicing pipeline for the update release publishing process. We established several goals for the new solution to guide our development, which included:
- A centralized and managed workflow process.
- An optimized end-user experience.
- An automated low-touch pipeline that requires minimal human interaction.
- Built-in security and compliance features.
- Scalability to meet demand.
- Geo-redundancy and resiliency to ensure availability.
- Self-healing functionality to retry failed processes and to maintain an automated pipeline.
Using Dynamics 365 to automate the servicing pipeline
We chose to build our solution around Dynamics 365 for Customer Service. With Dynamics 365, we gained a scalable, resilient, cloud-based platform that fulfilled several of our project goals by default. Dynamics 365 provides a tool set with which we could build our servicing pipeline. Once in place, the Dynamics 365 platform supports the pipeline—specifically, Dynamics 365 provided some immediate wins for our solution development team, including:
- Instantly and massively scalable. We knew that Dynamics 365 could supply adequate resources and performance for our solution regardless of how much our solution grew. We also knew that scaling and growth are easy to implement with features that are already built into Dynamics 365. This scalability allows us to be creative in our solution configuration.
- Resilient and highly available. Dynamics 365 fulfilled our high availability and resiliency needs without requiring redundant infrastructure, complex backup procedures, or disaster recovery systems. Dynamics 365 provides all this simply by being in the cloud.
- Built-in support for modern engineering practices. Dynamics 365 supports modern engineering practices such as continuous deployment and continuous integration and an agile, DevOps-based approach to product release. Modern engineering is a big part of our digital transformation, and we can use those practices in our Dynamics 365 solutions without additional configuration.
Constructing and managing the servicing pipeline
The core of our servicing pipeline is the data model that we built into Dynamics 365 for Customer Service. The data model provides the foundation that defines data and supports data flow within the pipeline, and it enables us to define and build our workflow processes consistently.
Integrating the Windows Update release process
Dynamics 365 for Customer Service has become the core of our Windows Update release publishing process. Our release services engine acts as the catalyst for the Dynamics 365 pipeline by sending update information into Dynamics 365 for Customer Service through a set of RESTful APIs. After entering Dynamics 365, updated release data and metadata transfers to a Dynamics 365 data store and is manipulated through various services, including package release, rollout management, payload management, targeting, and flighting configuration. The various workflows within Dynamics 365 for Customer Service ensure the automation and integrity of the servicing pipeline, which presents the final vetted and packaged update release to be sent out to public publishing endpoints. The following figure illustrates the process:
Monitoring and managing the release process
Dynamics 365 for Customer Service offers improved visibility into the release process through reports and dashboards. Our update team can gain immediate insights into any stage of the release process, at any step within the servicing pipeline. Cumulative statistics and aggregated data enable us to observe trends and holistic data that help us evaluate the overall health and performance of the servicing pipeline.
The new servicing pipeline with Dynamics 365 helped create a unified, automated workflow management solution that enables our Windows Update release teams to work more efficiently, moving updates from planning to release more quickly. Our specific benefits include:
- Time savings. The end-to-end process for releasing updates is simply faster. Using Dynamics 365 for Customer Service has significantly increased efficiency and the velocity of our workflows. A payload release that used to take more than a week can now be managed in three to four hours. We can simultaneously process more than 200 releases and more than 20,000 tasks per month, producing over 1,000 update entities. These volumes wouldn’t have been manageable without the new solution.
- Improved visibility into processes. We can observe and interact with the servicing pipeline at any point in the workflow. This visibility confirms that processes are operating properly, and we’re notified immediately if there’s a problem within the pipeline so that we can intervene and make the necessary corrections.
- Improved product quality. Our update release process is underpinned by Dynamics 365 for Customer Service pipeline management capabilities. We can confirm that quality control processes, including security and compliance checks and malware and safety scans, have all completed successfully through workflow dashboards instead of by manual checks and confirmation.
We’re continually improving our servicing pipeline in Dynamics 365 for Customer Service. Currently, we’re working on the following:
- Improving our deployment time and pipeline efficiency.
- Providing training and skill-building tools to our Windows Update teams.
- Examining new ways to use Dynamics 365 features and functionality to improve servicing pipelines in other areas of the organization.
We’ve transformed the way we deliver Windows Update releases. By using Dynamics 365 for Customer Service, we’ve created a clean and integrated data model, enabled workflow integration, and created a resilient and reliable platform for our servicing pipeline with minimal coding. Rich dashboards, reporting, and easy interaction with the pipeline give us greater control and visibility into our Windows Update release processes, which helps us deliver updates more efficiently, effectively, and reliably. Dynamics 365 for Customer Service has enabled our digital transformation, and we look forward to furthering our transformation in the future.
Microsoft IT Showcase
© 2020 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.
Was this content useful?
Thank you for your feedback.