Microsoft IT is driving the company’s vision of “Microsoft runs in the cloud.” To advance that vision, Microsoft IT created processes and teams to migrate over 2100 internal applications from on-premises servers to the cloud. The biggest challenge was not technology but a cultural change within the organization. Using a cohesive strategy and process, Microsoft IT has changed its culture and integrated cloud adoption into the business.



The vision at Microsoft IT is "everything runs in the cloud." Microsoft wants to benefit from the cost-saving and agile development and deployment capabilities of the cloud platform by moving approximately 2,100 line-of-of business (LOB) applications to the cloud. The LOB application portfolio at Microsoft includes finance, human resource, and support applications.

Microsoft IT was tasked with driving this ambitious, company-wide project. The role of Microsoft IT in the project is to drive the migration of applications to the cloud. In fact, the role of Microsoft IT is the same as that of any IT department in a similar project. The team provides the necessary support and expertise to individual departments by consulting with them about moving applications to the cloud. They discuss a delivery model, resource planning, and potential cost savings. They find the best fit for an application in the cloud. And they provide critical reporting data to measure progress of the project.


Microsoft IT realized that its biggest challenge was not a technology issue. The biggest challenge was powering a cultural change at Microsoft. To drive this change, Microsoft IT formed the Stratus team. The team evaluated the company application portfolio and decided what applications to move first.

To understand how the decision to migrate a specific application was made, it helps to understand that the Microsoft IT organization has two major components:

  • Business process units (BPUs), which are aligned with business processes such as finance, sales, or human resources. BPUs are responsible for the portfolio of internal LOB applications in their area.

  • Centralized IT services at Microsoft are responsible for a variety of services, including server infrastructure, SAP implementations, security, and architecture guidelines.

The Microsoft IT strategy of "everything runs in the cloud" applies to both new applications and existing applications that run in a datacenter environment.

The Stratus team

The Stratus team is a centralized group of Microsoft IT staff that focuses on driving cloud adoption at Microsoft. The Stratus team provides several critical functions:

  • Analyzing cloud capabilities, application, and platform requirements and how those enable the adoption of cloud technologies. This is an important function. The Stratus team needed to know when capabilities that are critical to an application are available in the cloud.

  • Training and guidance to enable a cloud-first IT organization. The Stratus team developed a decision framework on where—or if—an application would live in the cloud. The team consulted with BPUs to provide guidance and training.

  • Reporting, which is critical to sharing accountability across BPUs.

Challenges faced by Microsoft IT

Microsoft IT realized that the biggest challenge was not a technology question. The biggest challenge was changing the culture and mindset at Microsoft. The company needed to switch from a strategic focus on developing technology solutions to measuring business benefits.

The Stratus team needed to carefully orchestrate migration to the cloud. The team would drive the effort, but each department would rely on its own technical expertise during the move. Executive management needed to approve training costs to build the technical skill set that would enable the move.

Moving to the cloud

Cloud adoption within Microsoft IT has been an evolutionary journey. In the early phases, when Microsoft IT began selecting applications to move to the cloud, it made simple classifications to determine when an application should be targeted for migration. The team weighed two factors when evaluating an application for cloud migration: technical complexity and business impact.

Microsoft IT began with the least technically complex application that had the least impact on business. This approach let the team build new architecture models and increase the skills of engineering teams to fully take advantage of the new capabilities without great risk.

The decision framework quickly evolved into a model that balanced both technical and business considerations, as shown in Figure 1.

Now and future related to business and technical factors.

Figure 1. Application criteria for the cloud

The Stratus team supported the move to the cloud by each BPU, department, or division. The team provided guidance and encouraged BPUs to adopt the cloud as quickly as possible. The driving factors behind the new strategy were to make decisions based on the difficulty of the project and expected benefits.

If a BPU did not want to move an application to the cloud, the BPU needed to justify the decision. However, once the decision was made to move an application to the cloud, the Stratus team took a blunt approach of "fail and fail fast." The team encouraged the BPU to simply move the application to the cloud. In many cases, BPUs chose to move applications in development first. If the application didn't work in the cloud, the team worked to understand why the application failed and how to fix the issue. If the problem could not be resolved, the application would remain in the datacenter.

At Microsoft, applications typically have a plan of record, which is a review of the application lifecycle. A plan of record is constantly changing, based on new successes and challenges. The Stratus team reviewed the plan of record for an application with the BPUs during the cloud adoption process.

Delivery models

If a BPU develops a new application, the application should run in platform as a service, PaaS, a pure cloud environment. If an existing application is moved to the cloud, the application should be re-architected to run in PaaS or re-hosted to run in IaaS, infrastructure as a service.

Delivery Models
SaaS. In this model, the client pays a monthly fee to use a prepackaged program—software that belongs to the hosting organization. Examples are Microsoft Office 365, Microsoft Dynamics Online, Microsoft Intune, Microsoft Dynamics CRM, Microsoft Exchange, and Microsoft SharePoint.

IaaS. This model shifts the responsibility for hosting away from the client to a hosting organization. Examples of IaaS are servers that are hosted in Azure—virtual servers or virtual OS images. When using IaaS, clients do not create new applications; they run the same applications on the virtual server that they would run in their private datacenter.

PaaS. This model starts with the hosting freedom of IaaS and adds prepackaged components that can be used as building blocks for modern LOB applications.

Hybrid. The hybrid model is a combination of cloud delivery models and the on-premises infrastructure.

The basic view of cloud adoption benefits by delivery model is shown in Figure 2.

Four boxes respresenting delivery models,  once axis displays Low,  Difficulty,  High,  the other Operational,  Degree of Benefits,  Strategic. Three models: Rebuild (high and strategic),  Rehost (low and operational),  replace (low and strategic).

Figure 2. Delivery models

Microsoft uses the terms "sustain" and "investment" to describe applications that will be moved to the cloud. If an application is moved to the cloud and no further investment is planned for redevelopment, it is in a "sustain" mode. These applications should be re-hosted in IaaS. If an application will either be re-architected or is a net new application, it should be developed for PaaS or SaaS, software as a service.

Applications in the cloud showing both new and existing applications.

Figure 3. Applications in the cloud

Additional approaches and business drivers were incorporated into the strategy as the migration project progressed. The team used multiple strategies to move applications to the cloud, as shown in Figure 4.

Migration strategies - Top down,  bottom up,  opportunistic,  and on the fly.

Figure 4: Migration strategies

Environment rationalization

The team ultimately decided to develop a decision framework to evaluate whether applications should be moved to IaaS, consolidated, or shut down. The decision framework was based on telemetry and the understanding that the Stratus team had of existing virtual machines and physical server environments, which had very particular characteristics based on several factors:

  • Hardware requirements

  • Software versions

  • Network and required access to internal resources

  • Security considerations

Based on those characteristics, the team built a construct that compared the on-premises environment to the IaaS delivery model in Microsoft Azure. The Stratus team also took a big-picture view of moving applications. Typically, applications require multiple servers to support an environment. Therefore, the team took a holistic view to understand the upstream and downstream relationships at the application layer. In some cases, it was possible to move one server in a hybrid model and not impact the overall health or service level agreement (SLA).

The decision framework quickly became quite sophisticated. The newly evolved framework used numerous data points and resulted in a recommendation to re-architect an application for SaaS or PaaS, or re-host in IaaS, as shown in Figure 5.

Cloud migration strategy decision framework.

Figure 5. Microsoft IT cloud migration strategy

The result of the Stratus team's efforts became the cloud adoption factory

Supporting success

A critical part of cloud adoption is increasing the knowledge base among application development teams. Microsoft IT built a comprehensive model to share information about cloud technologies and success stories about moving and re-architecting applications. The focus is two-fold: to increase the collective knowledge of IT teams and to provide a platform highlighting work that is taking place to help support the cloud adoption strategy.

This information-sharing model consists of holding regularly scheduled meetings to discuss cloud adoption projects, highlighting work and teams that are supporting the strategy, and sharing new capabilities of cloud services as they are released.

A cloud wiki provides a comprehensive store of information that helps development teams understand cloud technologies and examples of their use (Microsoft IT uses a shared Microsoft OneNote notebook to deliver this). The wiki includes information about:

Leadership directives

Cloud technology

Architecture patterns

Key considerations

The cloud strategy at a consumable level for application teams

Description of features and components consolidated into a section

Examples of successful cloud architecture used for internal applications

Resiliency design

Appropriate uses for different components and guidance on design


Security requirements

People, skills, and Microsoft IT

Microsoft IT has seen a shift in the roles and skills that are required to manage Azure platforms; the emphasis in Azure on agile development, automation, and self-service technologies has caused a dramatic change:

  • Fewer business project managers

  • Near-elimination of the development/testing role as the position transitions to development/operations

  • Fewer solution deliverers

  • More project managers with agile and cloud skills

  • More developers and support engineers with development skills

Lessons Learned

The cloud adoption factory project began as an opportunity to use the advantages of the cloud. By modernizing the Microsoft application portfolio, Microsoft IT is realizing those potential benefits.

Microsoft IT learned that a team dedicated to driving cloud adoption is critical to success. Specifically, the team is important because:

  • The Stratus team constantly analyzed evolving cloud capabilities and server and application requirements. When the required capabilities were available in the cloud, the Stratus team used the decision framework and worked with the BPUs to find the best fit and move an application to the cloud.

  • The Stratus team proved the value of reporting. By sharing reporting data across BPUs, the team could not only measure the progress of the project but could also promote accountability across BPUs.

Best Practices

The "everything runs in the cloud" strategy was key in the Microsoft move to the cloud. Enterprises prioritizing on-premises asset reduction and following the operating expense model may find it helpful to embrace "lift and shift" to the IaaS process. This is also an opportunity to revisit existing environments and aggressively right-size them for the cloud, turn off unused environments, and potentially realize cost savings. Other recommendations are:

  • Drive cloud adoption through both the technical expertise of IT departments and through chief information officers (CIOs) providing training and support.

  • Create a team dedicated to driving cloud adoption because this is critical to success.

  • Use a business problem that you are trying to solve as the core of every cloud services decision. But be sure to balance business and technical factors in making that decision.

  • Remember that one size does not fit all. Each organization should determine how to grow cloud services.

  • Use the cloud as an opportunity to downsize, right-size, and optimize to combat server sprawl.

  • Use the scalability and capabilities of PaaS when developing or re-architecting applications for the cloud.

  • Consider a hybrid strategy when moving multi-tier applications to the cloud.

  • Keep applications in the cloud modular to take advantage of cloud resiliency.

  • Aggressively suspend or eliminate underused and abandoned servers.

  • Realize that cloud adoption will change the IT roles in any organization. Agile development skills will become increasingly important. Prepare staff for the skill sets that are required to manage a hybrid infrastructure.

For more information

For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Order Centre at (800) 933-4750. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:

© 2019 Microsoft Corporation. All rights reserved. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

You might also be interested in

Azure Monitor alerts help Microsoft pay billions of dollars of bills on time
July 25, 2019

Azure Monitor alerts help Microsoft pay billions of dollars of bills on time

Read blog
End-to-end telemetry for SAP on Azure
July 24, 2019

End-to-end telemetry for SAP on Azure

Read case study
IT expert roundtable: Successfully migrating and managing SAP Systems in Azure
July 09, 2019

IT expert roundtable: Successfully migrating and managing SAP Systems in Azure

Watch webinar
Key SOX control at Microsoft is transformed through AI
June 26, 2019

Key SOX control at Microsoft is transformed through AI

Read blog