Professional Documents
Culture Documents
Expedition Cloud
Inside Microsoft’s
cloud migration
and application
development journey
May Table of Contents
2018
© 2018 Microsoft Corporation. All rights reserved. This document is provided “as is.” Information and views expressed in this document, including URL and other internet website references,
may change without notice. You bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use
this document for your internal, reference purposes.
May Digital transformation fuels today’s enterprise growth 3
2018
Digital transformation
fuels today’s enterprise
growth
May Digital transformation fuels today’s enterprise growth 4
2018
questions 02 /
Which applications can be “lifted and shifted”
directly to the cloud?
03 /
Which applications need to be transformed or
rearchitected leveraging cloud technologies?
04 /
Which applications can be built from the ground
up using cloud-native technologies?
05 /
Which applications can be outsourced by using
commercial solutions like software as a service?
May Cloud migration and application development 6
2018 accelerate your speed of innovation
application is unique,
still others may need a complete redesign to is to minimally alter application code or provider’s PaaS platform. With rebuilding, you
make them cloud-ready. Choosing the right configuration changes necessary to connect the completely build your application to make
2. Gartner, Devise an Effective Cloud Computing Strategy by Answering Five Key Questions” June 2017.
May Choosing your cloud migration approach 10
2018
Expedition Cloud:
Microsoft’s cloud
strategy
May Expedition Cloud: Microsoft’s cloud strategy 12
2018
Engineering and
that it sounds good on paper but seems cloud”—and, indeed, Microsoft is on a rapid traditional datacenters for the near future
overwhelming to implement. At first, it was journey to adopt cloud computing throughout meant that some components would be run
Operations
no different with Microsoft, despite its large the entire company. As a part of its cloud in Azure and some in the datacenters. This
scale and multinational resources. But since adoption strategy, Microsoft plans to move resulted in a hybrid cloud configuration—a
2011, teams at Microsoft have actively—and approximately 2,100 line-of-business (LOB) blend of on-premises (private) cloud and off-
(CSEO), formerly successfully—pursued cloud adoption to applications to the cloud. These applications are premises (public) cloud. Orchestration between
benefit from platform efficiencies, development spread across eight datacenters worldwide and the two allows mobility of workloads
Microsoft IT, is the agility, and rapid deployment capabilities. comprise more than 40,000 distinct operating
system instances. With a deep understanding
between locations, depending on need,
cost, and flexibility.
organization within CSEO builds and manages the critical products,
of the application portfolio, the CSEO team
is identifying and optimizing applications to
processes, and services that run Microsoft.
Microsoft driving They boldly pursue big ideas that power
better align to business functions and
reduce waste.
transformational advances for their customers,
modernization and while helping internal Microsoft teams work
smarter, faster, and more securely every day.
From the start, the CSEO team understood that
CSEO always chooses the public cloud first To drive cloud adoption, CSEO provided Guidance and training Complex and customized LOB applications
because it offers maximum agility and critical functions, including: Consulted with Business Process Units (BPUs) make up 50 percent of the application portfolio.
scalability. In addition, they rely on SaaS for to provide guidance and training for enabling a Within that, most have been identified as “first
commoditized services, such as Microsoft Cloud adoption strategy cloud-first IT organization. to move.” These are basic web applications
Dynamics CRM Online, SharePoint, and email. Developed a strategy for a cloud adoption or rearchitected solutions. The remainder
Existing applications with planned investments journey that meets the vision of “everything Reporting are identified as candidates that are “next to
use Azure PaaS, reducing lead time between runs in the cloud” and takes advantage of Developed reporting to share accountability move” aggressively to IaaS. A small portion is
strategy and service. If no further investment cloud-enabled cost savings as well as agile across BPUs. identified as “hard or costly to move,” and less
will be made in an existing, sustaining development and than 5 percent of applications will
application but it still fulfills a service, the deployment capabilities. These functions provided a deep and thorough remain on-premises.
application will move to Azure IaaS. In addition, evaluation, revealing how the vast portfolio
all preproduction environments will be moved Cloud adoption analysis is categorized and slated for adoption. To With this cloud adoption journey, CSEO is
to Azure. Analyzed business-critical applications and start,nearly 30 percent of the application realizing multiple positive outcomes, including
their underlying platform requirements portfolio could be retired, right-sized, or a simplified application portfolio, more time to
When CSEO began selecting applications
and dependencies; also assessed the cloud eliminated. Various functionalities could be focus on high-value activities, greater emphasis
to move to the cloud, they made simple
capabilities required to enable the adoption of consolidated into a single application or service on delivering customer capabilities, and the
classifications to determine when an application
cloud technologies. line, resulting in the elimination of thousands ability to respond more quickly to business changes.
should be targeted for migration. They created
of physical servers and virtual machines (VMs).
an application portfolio based on two major
Cloud readiness assessment Approximately 15 percent of the application
factors—technical complexity and business
Assessed LOB applications for cloud portfolio was replaced by SaaS solutions, such
impact—and started with the least technically
compatibility and developed a decision as Microsoft Office 365, SharePoint Online, and
complex applications that had the least impact
framework for where— some third-party offerings, as they became
on business. This approach let them build new
or if—an application would live in the cloud. available.
architecture models and enhance the skills of
engineering teams to fully take advantage of
new capabilities without great risk.
May Expedition Cloud: Microsoft’s cloud strategy 14
2018
Learn more
Microsoft’s cloud adoption strategy use cases:
Expedition Cloud:
inside Microsoft’s cloud
migration and application
development journey
May Expedition Cloud: inside Microsoft’s cloud migration 16
2018 and application development journey
shift quickly
Rehosting your legacy application by migrating Rehost your legacy application to Azure by
to the cloud can help to overcome on-premises using services like Azure Migrate and Data
challenges like application downtime due to Migration Assistant to assess application
hardware failure, isolated management of IT workloads and databases. Then use Azure
infrastructure, expensive and time-intensive Site Recovery and Azure Database Migration
procurement processes, inefficient disaster Service to perform actual migration to the
recovery, and inconsistent archiving. Rehosting cloud. From there, you can deploy workloads
can be considered a first step toward cloud using Azure Virtual Machines, Azure Storage,
adoption and is the fastest way to migrate and Azure Network. Plus, you can use Microsoft
because it doesn’t require any code changes Operations Management Suite (OMS) to
to your app. Moving to the cloud enables monitor application performance and forecast,
better scalability, reliability, and security of the track, and optimize your spend once the
underlying application infrastructure; it also workload is migrated to Azure. In addition, you
significantly reduces capital investments and can adopt PaaS capabilities to modernize your
overall operational cost. application to be future-ready.
18
Case study 1 /
Migration to Azure IaaS was an ideal solution to significant opportunities to build a better,
immediately benefit from hosting the Treasury more functional, and more unified Treasury
environment in Azure and provide time to application environment.
properly plan for migrating into Azure PaaS. Lift
and shift provided a simple migration method Business impact
to get Treasury infrastructure onto the Azure Azure has changed the way the Microsoft
platform quickly, which immediately reduced Treasury IT infrastructure operates. Using
datacenter needs. a combination of Azure IaaS and PaaS
components, CSEO was able to quickly migrate
Once applications were transitioned into all on-premises applications to Azure. By doing
Azure IaaS, the team began analyzing them so, they have created a single infrastructure
to determine which were suitable for moving cost—Azure subscription. Now they can
to Azure PaaS. The migration approach was succinctly quantify infrastructure spending
business-focused, so the team first established and use those numbers to further reduce costs
business objectives for the PaaS migration. and gain efficiency. Scalability for application
Proceeding to assess first-party applications for resources is now just matter of minutes or
migration, they realized that most applications hours, compared to days, weeks, or potentially
identified as PaaS candidates would require months. By reengineering the application
some level of redesign. Development teams portfolio for Azure PaaS, CSEO could revisit
saw this as a chance to recreate the same the Treasury experience and approach it as an
functionality set in each application and to entire solution, rather than a combination of
reconsider how the application could be more individual apps. The overall Treasury experience
functional, more streamlined, or even combined has become more reliable and business-
with another app. This analysis provided oriented as a result of migration to Azure.
May Expedition Cloud: inside Microsoft’s cloud migration 20
2018 and application development journey
footprint was
Microsoft Treasury team identified several Microsoft Treasury. When migrating Treasury
“Lessons learned” that can help shape their applications to Azure, the team considered all Migrating business-critical
reduced by 61%
solution going forward: compliance and data security aspects of hosting Treasury apps to Microsoft Azure
data in the public cloud.
Using a phased approach to achieve a
from 54 servers smooth transition Understanding suitability and migration
Commonly used services
servers. to the modern application stack. data safety and security can be a complex issue,
the team worked with the stakeholders and
data owners for each application to capture all
corporate and legal compliance needs.
May Expedition Cloud: inside Microsoft’s cloud migration 21
2018 and application development journey
Refactor: make
Add cloud-enabled capabilities to your With Azure, you can build, deploy, and run
application while retaining your existing container-based applications in the cloud or on-
business logic and application code. premises with a choice of leading open source
minimal changes
tools and technologies, including Kubernetes,
Transforming your legacy application by Docker Swarm, and DC/OS—all supported
modernizing your application deployment by Azure. Azure provides multiple options
architecture lets you retain your existing for your containerization strategy, including
application code and business logic. With this Azure Kubernetes Services (for containers as a
approach, you can add cloud-enabled and service) and Web Application for Containers (for
innovation capabilities to your application deploying containerized web apps). You also
with minimal code changes and leverage the can directly deploy Azure Container Instances
benefits of cloud PaaS services. For example, without having to provision any VMs. To build,
you can move your existing apps to App debug, and deploy your containerized apps,
Service (Platform as a Service) or Azure you can rely on Microsoft Visual Studio tools.
Kubernetes Service (AKS). You can also refactor Plus, you can use Azure Container Registry
your SQL database into Azure SQL Database services to store and manage images for all
Managed Instance. types of container deployments.
Container is one of the popular ways to
refactor thanks to its portability, scalability
and compatibility with PaaS. Package your
legacy application using container services
that combine the required configuration and
dependencies as a single container image,
which is abstracted from the environment and
underlying infrastructure.
22
Case study 2 /
Web Apps
for Container
Feature Switches VSTS – CI/CD, Monitoring Azure Container Registry
Admin
Admin
https://hub.docker.com/r/wekanteam/wekan/
Node.js / Meteor .Net Core / Node.js
Installer https://github.com/wekan/wekan
assessments
deployment, the team used a combination of Global Enterprise Services team identified
Azure Kubernetes Services and a VSTS DevOps several “Lessons learned” that can help shape Optimizing Microsoft IT legacy
Refactor:
Redesign your application to be modern, With its innovative services, Azure is the perfect
transform it with a modular architecture. partner for redesigning your application
to make it cloud-ready. You can build your
Rearchitecting is to modify or extend the
get modular
application into modules and use different
existing application’s code base to optimize
Azure services for each of them. For example,
it for cloud platform and better scalability.
your application front and logic layers can use
Rearchitecting is a good time to break apart
Azure Containers, Microservices, and Web Apps,
a monolithic application into a set of loosely
while your database requirements can use Azure
coupled modules or functions that integrate to
SQL Database, Azure Cosmos DB, MySQL, and
build a complete app. With this approach, you
SQL Data Warehouse. You can also use Azure
can group different application functionalities
Databricks, , and Spark Processing for advanced
into modules that can then be scaled up or
analytics on big data, machine learning, and
down and tested, deployed, and managed
business intelligence requirements.
independently. If any code breaks, only that
module or function is affected; the rest of the
application remains available. And when a
module or function no longer meets current
business requirements, you can swap it out for
a better option.
26
Case study 3 /
hosting in Azure. Lift and shift provides a low After analyzing these possibilities, CSEO
risk factor, but ultimately would force Microsoft decided that the big data option would meet
Sales to maintain the same structure that was the maximum requirements. With Azure,
built 20 years ago. they could rethink data distribution and
consumption, along with what the data flow
Microservices: Establishing microservices looks like. Azure big data services provide a
would involve a significant redesign to greater level of granularity and native support
Microsoft Sales, using Azure capabilities for data manipulation, leading to more parallel
and functionality as the default for solution processes and quicker data delivery to end
architecture. Breaking Microsoft Sales into users.
microservices could establish a denser
compute structure and optimize data flow and The data flow components in the final
generation capabilities. Individual microservices Microsoft Sales solution may include Azure
could be treated as atomic units that can be Databricks for Apache Spark based analytics
added, removed, or modified. processing, Azure Event Hubs, Azure SQL
Database, and Azure SQL Data Warehouse.
Big data: CSEO understood that the robust data After the redesign is complete, Microsoft
processing capabilities of Azure could be highly Sales can anticipate increased processing and
beneficial to Microsoft Sales. The inherent reporting capabilities—and an explosion in
parallelism in Azure could drive scale, while also transaction size and data up to ten-fold, which
reducing risk. With an array of Azure big data will account for the different ways they plan to
solutions, including Spark and Azure Data Lake ingest, process, and distribute data.
Store, the team could use different pieces of
technology to complete the overall Microsoft
Sales puzzle.
May Expedition Cloud: inside Microsoft’s cloud migration 28
2018 and application development journey
gone from a 24- has gone from a 24-hour window to less than
45 minutes—an improvement of more than 95
With a more agile and flexible solution based in
Azure, development and DevOps understand Rearchitecting for the cloud with Robert
Rebuild: go cloud
Accelerate your development and In addition, Serverless architecture, a popular
deployment with cloud native services. choice for cloud native applications, includes:
native
When building greenfield applications in
to explicitly provision or manage
this Rebuild phase, consider cloud native
infrastructure—with Azure Functions
technologies to leverage the high productivity
with PaaS along with rapid application
• Globally distributed, multi-model databases
development. IoT (Internet of Things) and
with Azure Cosmos DB.
Blockchain are great examples of born-in-the-
cloud applications.
• Use Azure Functions and Azure Cosmos DB
to build scalable, serverless applications.
Azure offers a comprehensive set of cloud
platform services that make it easy to navigate
• Highly available and redundant storage
architectural approaches and design patterns
with Azure Storage.
for building modern apps. It delivers numerous
options for application development and • More than 200 out-of-the-box connectors
deployment like Azure App Service, Azure using Logic Apps to integrate apps, data,
Kubernetes Service, Service Fabric and more. systems, and services.
30
Case study 4 /
Genealogy
Shipment
and MDSC has end-to-end control and visibility. Cosmos DB helps contribute to an event
and test data
Currently, they’re expanding this transformation driven application with change feeds, making
Ful illment
by exploring technologies like Blockchain, it a plug & play component of this Serverless
Logistics
Internet of Things, and cognitive bots. These architecture. The service can be easily
Online marketplace
Sales
order/ updates
Manufacturing
investments give Microsoft a competitive edge integrated into Azure functions & Logic Apps
Service
and customers order/ updates
Exchange in the devices supply chain and bring maximum with “zero” code. A 100% hassle-free way to
Repair Center
All events Order management
Repair/Return Center
value to partners and customers. build world class application in no time.
Elimination of trivial infrastructure
Shipment/ Events Ful illment Order
Importantly, to offer plug-and-play partner maintenance has also enabled the team to
integration and create a manageable end- transition towards DevOps culture with ease.
Business critical applications and enterprise
HDInsight Event Hubs
SAP
Data Labs/CEP
services
to-end solution, MDSC had to change the
way partners fit into the supply chain. Plug- Business Impact
Supply chain DW Data Sources
Supply chain architecture, overview
and-play strategy was a significant driver A plug-and-play provisioning platform
of the architecture design. CSEO added five benefits both Microsoft and its partners. With
integration layers for supply chain components, a streamlined, trustworthy, and repeatable
including partners, marketplace, services onboarding process, partners enjoy a more
edge, ERP and processing, and data warehouse modular way of engaging with Microsoft. The
and analytics. All integrations use REST API new solution reduces on-boarding for new
standards that help Microsoft and its partners vendors and partners from weeks to minutes.
connect to endpoints and exchange data as The new supply chain platform built on PaaS
effortlessly and securely as possible. Likewise, architecture and microservices reduces
all APIs are implemented with Azure API Apps, management overhead, as there are no servers
Azure Functions, and Logic Apps based on the to patch and manage. It also allows CSEO to
capability needed, latency, and throughput change small parts of the solution without
requirements. To create a truly modular, impacting the entire app. In addition, the team
microservices-based architecture, the team can use infrastructure as code to quickly
used several practical design patterns that provision and manage new resources, and the
helped keep integration both efficient and native scaling capability of Azure PaaS can
secure handle volumes that the previous solution
simply could not.
business innovations Azure-powered intelligent cloud. Understood design patterns to get truly
modular
Azure Logic Apps
Azure SQL Database
scalability, instead partners—one that is instantly accessible practical design patterns to help keep Cognitive Services
through a resilient, global presence. integration both efficient and secure.
Replace: use
Use managed yet configurable applications to You can mobilize your workforce with these
replace your legacy apps—without building managed apps, which can be accessed from
or customizing application code. any internet-connected endpoint or mobile
business software
device—all without the need to make code
Legacy applications based on traditional changes or develop different applications for
models and older technologies usually require different device platforms.
upgrading, along with new investment to
as a service
enhance features and capabilities. SaaS cloud Microsoft managed enterprise applications
applications provide a better alternative include:
to replacing legacy apps, helping your
organization go to market more quickly and Dynamics 365 for ERP and CRM, powered by
eliminate the need to build or customize data and intelligence to capture new business
application code. opportunities.
Microsoft provides managed yet configurable Office 365 for messaging, collaboration, and
applications to replace your legacy applications other productivity tools.
for modernization. You don’t need to purchase,
install, update, or maintain any hardware, Power BI for business analytics requirements,
middleware, or software—just subscribe to the with interactive visualizations and business
complete software solution on a intelligence.
pay-as-you-go basis.
PowerApps for building custom business
applications that connect to your data and
work—without the time and expense of custom
software development.
34
Case study 5 /
evolving business and data management needs. scalability. Dynamics CRM Online runs more Integrated
Integration
Reporting (Dashboards, charts,
Extensible Application:
The platform uses an Azure service bus to users on a single instance and immediately Applications Form and client side events, Ribbon, Sitemap, Excel and SRS)
Web Resources, JS Libraries
receive messages from Dynamics CRM Online scales to facilitate large sets of data—yet this
and leverages queues to ensure that messages system is significantly faster than the legacy
are not dropped. At peak times, autoscaling system. The capability for bulk data import is Back-end
integration
initiates to rapidly process queued messages. much faster now, requiring only days to create Server-to-server Web Services
Security
Process
of the box, bugs are routed directly to the
latency doesn’t generate data inconsistencies.
Dynamics CRM product development group for Data Access Components
In addition, because Microsoft used out-of-the-
resolution, and the product group applies fixes
box features of Dynamics CRM Online, CSEO Data Access Platforms
to get services up and running. Today, more
than 25,000 sellers and sales operations staff
use the system in more than 100 countries. Data Access Platforms
Metadata Data
May Expedition Cloud: inside Microsoft’s cloud migration 36
2018 and application development journey
is now a software service provider and acts as Implemented data hygiene Partnered with business teams Learn more about application rearchitecting
a liaison between the business group and the This activity involves proactively executing CSEO learned to move quickly with a small team by exploring these resources:
product development group. Manual fixes are premigration, data audits, and cleansing to at first. They created a base platform, and then
no longer necessary due to the lack of custom improve data hygiene before migration. For engaged business stakeholders about what Microsoft simplifies its sales platform and
code. Plus, the modular nature of the Windows Microsoft, strong data hygiene improved data the system was trying to achieve. The team deploys Microsoft Dynamics CRM Online
App Portal for Sales allows teams to work in relevance to sellers after migration. also obtained sponsorship at the executive and
parallel and produce more. While requests local levels. Finally, they set aside time to talk Commonly used services
in the original system would be queued for Applied parallelism through changes with local teams and focus on
long periods, applications now can be rapidly For major subsidiaries, parallelism reduced user-centered design, finding that it’s easier to Azure Functions
developed and plugged into the portal. the time required for data migration from get adoption if people are already in agreement Azure Logic Apps
what would have been weeks to a three- with the design. Azure Cosmos DB Azure
Lessons learned day weekend. Eight million US records were Bot Service Azure
While moving toward modernization, Microsoft processed in 13 hours. Cognitive Services
teams identified several “Lessons learned” that
can help shape the solution going forward: Ensured sufficient bandwidth
While importing large amounts of data to CRM,
Simplified process and business rules first the CSEO team learned to ensure sufficient
CSEO took the time to partner across the bandwidth, as sometimes CRM services may
enterprise and deeply understand business throttle the data import to prevent a denial of
requirements and processes. The team then service attack.
reduced hundreds of business rules down to
a handful and greatly simplified the sales Migrated organizations
process across the company. The team migrated entire units of sales
organizations simultaneously instead of
subcomponents of a specific sales organization.
May Summary 37
2018
We meet you
Application modernization is a journey to Find inspiration, tools and guidance on how to lead
digitally transform your business applications your business though its digital transformation.
to make them future-ready. Modernizing your Download the free e-book, Designed to Disrupt at
Azure, cloud
can you.
Assess your application portfolio, categorize
the applications properly, have a strategic
for all.
plan, and start your journey to the cloud.
The journey includes selecting from among
five tested migration and modernization
approaches—Rearchitect, Rebuild, Rehost,
Refactor, and Replace—and combining them
in a way that makes the most sense for your
business requirements. Azure provides robust
cloud offerings that deliver an end-to-end
solution—from strategy and planning through
deployment, migration, and ongoing support.