You are on page 1of 37

Microsoft Azure e-book

Expedition Cloud
Inside Microsoft’s
cloud migration
and application
development journey
May Table of Contents
2018

03 Digital transformation fuels today’s 21 Refactor: make minimal changes


enterprise growth 22 Case study 2 / Refactoring in action:
achieving distributed deployment for
06 Cloud migration and application remote assessment apps
development accelerate your speed of 25 Rearchitect: get modular
innovation 26 Case Study 3 / Rearchitecting in action:
redesigning a revenue reporting
08 Choosing your cloud migration approach system for cloud architecture
29 Rebuild: go cloud native
11 Expedition Cloud: Microsoft’s cloud 30 Case Study 4 / Rebuilding in action:
strategy creating an integrated plug-and-play
supply chain with serverless computing
15 Expedition Cloud: inside Microsoft’s 33 Replace: use business software as a service
cloud migration and application 34 Case Study 5 / Replacing in action:
development journey simplifying the sales platform and
deploying Dynamics CRM Online
17 Rehost: lift and shift quickly
18 Case study 1 / Rehosting in action: 37 Summary
migrating business-critical Treasury
applications to Azure

© 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

In the era of digital transformation, Many of these applications were custom-built


over time to support specific processes and
The first step is to evaluate your applications to
define an application portfolio strategy. You

business applications are the


enhance productivity. However, they often were create an application portfolio by assessing the
designed using monolithic architecture and technical complexity and business impact of

backbone of any organization, driving


older technologies that are complex, expensive each application and classifying it to determine
to support, and unable to meet the changing when it should be targeted for migration. The
business demands of higher performance, application portfolio must consider both the
essential business processes and visualization, omnichannel customer needs of your business and the requirements
experiences, faster decision making, and easier of your applications to ensure your cloud
helping to engage customers. integration with modern apps. With the cloud’s
leading-edge technologies, you can modernize
migration strategy is seamless and cost effective.

your on-premises and legacy applications to


enhance their usability and make them future-ready.

When migrating to the cloud, you want to focus


on development and DevOps improvements
that increase productivity, agility, flexibility, and
operational efficiency. This does not necessarily
mean completely redesigning applications to
move to the cloud. The right migration strategy
will be based on your organization’s needs and
priorities, along with the kind of applications
being migrated.
May Digital transformation fuels today’s enterprise growth 5
2018

Start with these


01 /
Which applications can be retired or left
on-premises?

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

Cloud migration and


application development
accelerate your speed
of innovation
Transforming your workloads¹ from On-premises to IaaS 7

Your current application portfolio may include Hybrid capability


critical applications that your organization Build and deploy apps consistently across public
built over time and still uses for core business or private clouds with an integrated technology
functions. The cloud provides a comprehensive
set of services with the flexibility and security to
stack. Extend on-premises apps, databases,
and identities across the cloud to maintain a
73% 83% 63%
build, deploy, and manage applications through consistent set of user identities and apps. Gain
a global network of datacenters. Integrated immediate insight into your workloads and
tools, DevOps practices, and a marketplace that infrastructure on-premises and in the cloud
provides support as you build anything from with powerful search, queries, and analytics reduction in data center reduction in IT outsourcing increase in annual customer
simple mobile applications to internet-scale footprint and costs cost web sales
solutions—or as you deploy your legacy apps. Intelligent services
Transforming your workloads¹ from On-premises to IaaS
Create the next generation of intelligent
A good cloud provider should offer you the applications by using powerful data and artificial
following: intelligence (AI) services. Easily infuse intelligence
into your business applications without spinning

80% 50% 15%


Productivity up a team of data scientists.
Use the cloud to help developers deliver
apps faster with end-to-end development Trust
and management tools. Modernize or build Use the cloud to help ensure security, privacy,
applications using the language of your transparency, and compliance for your
choice and streamline the application lifecycle organization. The cloud adheres to a broad
across teams with integrated source control, set of international and industry-specific
improvement in IT improvement in time improvement in project or
DevOps practices with continuous integration compliance standards like ISO 27001, HIPAA,
application management per customer solution transaction revenue
and delivery (CI/CD), and built-in support for FedRAMP, SOC 1 and SOC 2, as well as country-
deployment
application monitoring, log analytics, patching, specific standards like Australia IRAP, UK
backup, and site recovery. G-Cloud, and Singapore MTCS.
1. Microsoft, The Total Economic Impact of Microsoft Azure PaaS, July 2016.
May Choosing your cloud migration approach 8
2018

Choosing your cloud


migration approach
May Choosing your cloud migration approach 9
2018

Because every Some applications are ready to modernize;


some may require minor changes in code; and
Refactor
Refactoring, often referred to as “repackage”,
Rebuild
Redevelop the application from scratch on a

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

there’s no single set


migration approach for different applications in application to a provider’s PaaS (Platform as a it cloud-ready. Although rebuilding requires
your portfolio can help you extract maximum Service) and take better advantage of cloud. losing the familiarity of existing code and
value from cloud-enabled and innovative frameworks, the advantage is that you gain
of steps to follow for technologies. Traditional enterprises, including Rearchitect access to innovative features in the provider’s
Microsoft, align and execute application Rearchitecting is to modify or extend the PaaS platform.
modernization. portfolios using the migration framework below.² existing application’s code base to optimize it
for a cloud platform and for better scalability. Replace
Rehost For example: you can decompose a monolithic With replacing, you move your existing
Rehosting is also referred to as a “lift-and- application into microservices that work application directly to a software as a service
shift” migration. In essence, the application is together and readily scale on Azure. Moreover, (SaaS) offering. With this approach,
moved into the infrastructure as a service (IaaS) you can rearchitect your SQL Server database to you can avoid mobilizing a development team
environment of a cloud provider while avoiding a full managed Azure when requirements for a business function
as many modifications to the system SQL Database. change quickly.
as possible.

2. Gartner, Devise an Effective Cloud Computing Strategy by Answering Five Key Questions” June 2017.
May Choosing your cloud migration approach 10
2018

Cloud migration & application


development

Rehost Refactor Rearchitect Rebuild Replace


May Expedition Cloud: Microsoft’s cloud strategy 11
2018

Expedition Cloud:
Microsoft’s cloud
strategy
May Expedition Cloud: Microsoft’s cloud strategy 12
2018

Core Services When organizations consider application


modernization, a common thought is often
At the start of CSEO’s cloud migration journey,
their mission was “everything runs in the
migration as soon as possible. The decision
to retain a small number of applications in

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

transformation. To shorten feature and service development


cycles and respond to internal customer
Azure is an excellent cloud platform for many
workloads; however, some applications are not
yet optimized for the cloud. Old application
needs faster, CSEO started on a journey
complexity and regulatory requirements made
to modern engineering. To become more
it challenging to immediately move a small
agile as an organization, they are adopting a
fraction of internal apps. Despite this, the vast
DevOps culture of close cooperation and joint
majority of LOB applications are targeted for
ownership of services.
May Expedition Cloud: Microsoft’s cloud strategy 13
2018

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:

Our cloud journey with Brad Wright

Microsoft IT cloud computing strategies


continue to evolve

For more information on the journey, take a


look at the following Microsoft use cases:

Cloud strategy with Mel Lowe

Driving cloud adoption in an enterprise


IT organization
May Expedition Cloud: inside Microsoft’s cloud migration 15
2018 and application development journey

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

Microsoft is using a well-planned application


portfolio to guide its journey to the cloud.
To modernize this large, complex, and
diverse portfolio, Microsoft relied on five
models like those suggested above: Rehost,
Refactor, Rearchitect, Rebuild, and Replace.

Let’s take a closer look at each model, along


with how Microsoft used it.
May Expedition Cloud: inside Microsoft’s cloud migration 17
2018 and application development journey

Rehost: lift and


Take the first step in your cloud migration Azure provides a comprehensive cloud
journey with rehosting to the cloud. migration path—from assessing your existing
application to optimizing it post-migration.

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 /

Rehosting in action: migrating business-


critial Treasury applications to Azure

Situations & challenges was required for disaster recovery and


Microsoft Treasury is responsible for managing high availability.
the financial assets of the company. The
high-level functional teams include Capital
Solution
Markets, Capital Management, and Risk and
The Microsoft CSEO team assessed the
Credit Services. These teams were facing
current Treasury environment and established
critical challenges with the existing application
high-level goals to create a specific set of
solution: Data volumes were progressively
functionalities in an Azure-based solution.
growing, nearly doubling every year, which
The primary consideration for the applications
increased the cost of maintaining storage
was suitability for migration to PaaS to take
infrastructure. In addition, numerous data
advantage of built-in resiliency, scalability,
sources were disconnected and isolated from
and manageability. It was known that the
one another. Plus, because financial business
PaaS adoption would stretch out over several
experiences seasonal peaks in application
months, as engineering and development
and data usage, applications that support
needed to redesign the user experience,
periodically high volumes were running on
evaluate the Treasury experience, and assess
architecture that wasn’t fully utilized for the
applications for migration.
entire year. Finally, a complex, manual process
May Expedition Cloud: inside Microsoft’s cloud migration 19
2018 and application development journey

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

The infrastructure Lessons learned


While moving toward modernization, the
Keeping security always in mind
Protecting business data is a top priority at
Learn more about application rehosting
by exploring these resources:

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

Although cloud adoption was a high-level efforts


to 21, along with goal, Microsoft Treasury wanted to take
advantage of the built-in resiliency, scalability,
Before moving to IaaS migration, the team
focused on understanding the complexity of
Azure Site Recovery
Azure Cost Management

the storage space


Azure Migrate
and manageability of PaaS solutions for the application infrastructure, the size of each
Azure Database Migration Service Azure
their business apps. To move forward, they application and related databases (in terms
Virtual Machines
and network worked with CSEO to first identify and migrate
applications best suited to the lift and shift
of velocity, volume, and variety), and the
requirements for seasonal elasticity.

infrastructure process. They then analyzed the applications to


determine their fit for moving to Azure PaaS. Capturing all application and data legal

required by those For non-suitable apps, the team defined what


types of redesign were required to move them
requirements
Because complying with legal requirements for

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 /

Refactoring in action: achieving distributed


deployment for remote assessment apps
Situations & challenges solution to a local Docker environment, Azure
The Microsoft Global Enterprise Services team Kubernetes Service, or Azure App Services. It
provides quick responses to customer requests also gave them the freedom to have personal
for assessing their business problems and and team deployments that can be scaled to
mapping them to cloud solutions. With 1,100 the wider organization.
architects and consultants, the team wanted
to more efficiently scale their highly skilled In moving to the cloud, the team built a
experts to global customers. To achieve this, distributed application architecture that
they needed a high degree of automation delivers real-time data updates and a
to augment their existing Microsoft Teams deployment model that allows features to
document-based assessment solution. be enabled at runtime. As the first step to
application modernization, they migrated their
Solution existing .NET Framework applications to .NET
With the help of open source technologies, the Core. This step allowed them to standardize on
Global Enterprise Services team migrated their a mix of public and private Linux containers to
existing .NET Framework document automation run the required application workloads using
applications to a container-based solution. Node.js and .NET Core. The minimal code
This approach allowed the team to deploy the changes gave them the portability to deploy
23

Web Apps
for Container
Feature Switches VSTS – CI/CD, Monitoring Azure Container Registry

Azure DevOps / Automation


Subscription
azure-cli
Assessment
Assessment

Admin
Admin
https://hub.docker.com/r/wekanteam/wekan/
Node.js / Meteor .Net Core / Node.js
Installer https://github.com/wekan/wekan

Local Docker Cosmos DB API for MongoDB

Target Data Sources


May Expedition Cloud: inside Microsoft’s cloud migration 24
2018 and application development journey

Augmented on local Docker installations and on Azure.


For scalability and distributed application
Lessons learned
While moving toward modernization, the
Learn more about application refactoring by
exploring these resources:

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

mean moving from


pipeline to generate containers and their solution going forward: apps with containers
package changes.
Automation is essential Five tips for moving virtual
four days of in- Business Impact Automation must be implemented to allow machine-based apps to Windows Server
With this solution, the Global Enterprise seamless deployment locally and into Azure. Containers
person discussions Services team has dramatically improved their
assessment capabilities—moving from four Open source tools enable innovation Commonly used services
to a set of four days of in-person discussions to a set of four
one-hour remote Skype calls that can be scaled
Migrating to Linux containers and .NET Core
allowed the team to reuse open source tools Azure App Service

one-hour interactive and conducted globally. With distributed


application deployment on Azure, architects
and existing assets to quickly innovate. Azure Kubernetes Service
Azure Container Instance

Skype calls. and consultants can interact with any number


of customers in real time, without worrying
Flexible hosting is best achieved with Azure
Kubernetes Service
Azure Container Registry
Azure SQL Database Managed Instance
about managing the back-end infrastructure. Azure Kubernetes Services provided the best Azure Service Fabric
This reduces the solution’s management hosting option for the multiple container Azure SQL Database
overhead, which allows the team to focus on services that make up the solution.
their growing global demands. By refactoring
the platform using Azure services and a DevOps
pipeline, they can quickly validate and deploy
builds to live applications and experiment with
new features.
May Expedition Cloud: inside Microsoft’s cloud migration 25
2018 and application development journey

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 /

Rearchitecting in action: redesigning a revenue


reporting system for cloud architecture
Situations & challenges Solution
The Microsoft Sales team manages Microsoft The Microsoft CSEO team planned to transition
data related to product and service sales the Microsoft Sales revenue reporting platform
and gives a consistent view of Microsoft from on-premises datacenters to Azure. This
businesses and production revenue. The team transition was an opportunity to reimagine
was struggling to manage the growth rate of and redesign the way Microsoft Sales functions
transaction volume as customers shifted to in terms of infrastructure components and
online services. Existing hardware was quickly business benefits. Working with Microsoft
approaching its transaction-handling capacity design teams and the Azure Customer
and was expensive to upgrade. In addition, Advisory team, CSEO devised three options for
business intelligence requirements were application modernization:
beyond what existing solutions could provide.
New complexity around transactions and offers Lift and shift: Lift and shift involves moving an
did not fit cleanly into existing business rules existing on-premises environment into Azure
and reporting constructs. as VMs. Essentially, this means maintaining the
same structure and workload distribution, but
May Expedition Cloud: inside Microsoft’s cloud migration 27
2018 and application development journey

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

Microsoft Sales has modernization has drastically reduced end-to-


end latency in the sales process: Microsoft Sales
Workers who are better tooled for future
investment
Learn more about application rearchitecting
by exploring these resources

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

hour window to less


percent. modern engineering principles, are familiar Venable
with Azure development processes, and are
Lessons learned better equipped to move the organization Redesigning our revenue reporting system for
than 45 minutes— While moving toward modernization, Microsoft forward—from both the engineering and cloud architecture
Sales identified several “Lessons learned” that business perspectives.
an improvement of can help shape their solution going forward:
Benefits of using big data for financial and Commonly used services

more than 95% Understanding of the distributed nature of


Azure functionality
structured data
By testing and examining the Azure Azure App Service
Functionality doesn’t have to be restricted environment and available solutions, Microsoft Azure Kubernetes Service
to the feature set of a single platform. Azure Sales was able to conclude that Azure can help Azure Functions
Business Impact enables flexibility for adopting the right to solve the unique and complex problems Azure API Management
Although Microsoft Sales is still migrating, the solution for the task at hand. presented by financial data. Azure Logic Apps
new platform has already produced several Azure SQL Database
benefits. Microsoft Sales can handle larger Natural movement toward modern Ability to create the rules management Azure Databricks
transaction volumes with a sublinear correlation engineering principles and practices process as a discrete component Azure Analysis Services
in end-to-end time. The team has moved Examining Azure has refocused the developer As a discrete component, the rules
away from the monolithic nature of the earlier mindset toward modern engineering principles, management process is much simpler. Rule
code base; they now incorporate modern moving from online analytical processing to changes can be made and deployed in
engineering practices into development, big data. This affects how code is written and production with zero downtime.
allowing them to add new features quickly how solutions are targeted and planned. It also
and redefine their processes to fit business presents an exciting learning opportunity for
demands rather than technical limitations. This team members’ professional growth.
May Expedition Cloud: inside Microsoft’s cloud migration 29
2018 and application development journey

Rebuild: go cloud
Accelerate your development and In addition, Serverless architecture, a popular
deployment with cloud native services. choice for cloud native applications, includes:

• Event-driven functions—without the need

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 /

Rebuilding in action: creating an integrated plug-


and-play supply chain with serverless computing

Situations & challenges was limited by the ability to collect telemetry


The Microsoft supply chain engages with data from partner systems that were either
hundreds of vendors that manufacture and inadequate or unreliable.
distribute Microsoft products around the world.
Partners must be integrated into the Microsoft
Solution
network and communication stream to create a
The Microsoft CSEO team decided to build
properly functioning supply chain. The original
a completely new solution to enable digital
solution for integrating partners into the
transformation. They developed a short list of
Microsoft Devices Supply Chain (MDSC) team
goals for the new supply chain solution and
was built on an infrastructure that included
set about creating the core design principles
approximately 200 on‑premises servers
for an integrated supply chain platform. CSEO
handling more than 3 million transactions per
used microservices and serverless computing in
day. Adding a new partner to the supply chain
Azure to build the new solution, which allowed
was a time- and labor-intensive process, as new
the MDSC team to create a simpler, faster,
code needed to be developed for each partner
and more dynamic supply chain management
integration. The costs to run infrastructure,
process. Now it’s easier for partners to onboard,
upgrades, and maintenance were too high.
interact, and conduct business with Microsoft,
Plus, visibility into the supply chain process
May Expedition Cloud: inside Microsoft’s cloud migration 31
2018 and application development journey
Manufacturer Warehouse Logistics Retail / Enterprise

Ful ill order Sales order/ updates

Shipment and tracking

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.

Supply chain, serverless computing


May Expedition Cloud: inside Microsoft’s cloud migration 32
2018 and application development journey

Supply chain is a low margin business Lessons learned


requiring a high order of agility to integrate While moving toward modernization, the
with new partners and is extremely sensitive to MDSC team identified several “Lessons
data visibility needed for operational learned” that can help shape their solution
going forward:
The solution performance. Learn more about application
rearchitecting by exploring these
Azure Serverless compute and storage options Shifted paradigm to a plug-and-play model
reduces onboarding
resources:
like Functions, Logic Apps and Cosmos DB This transformation has helped to shift the
have provided the fastest way to connect, MDSC paradigm from a monolithic application
for vendors and
Creating an integrated plug-and-play
integrate and execute business processes with model to a plug-and-play model that results supply chain with serverless computing
minimal cost and seamless implementation. in a dynamic and demand-driven supply chain.
partners from weeks Generated ideas as a team to drive changes
Commonly used services
Data streaming solutions like Event Hubs,
to minutes—helping Stream Analytics along with data analytics
services like HDInsight and Data Lake helps
Routine design whiteboard sessions provided
opportunities for discussing new ideas around
App Service
Azure Kubernetes Service
them focus on provide real-time visibility allowing the team
to make informed business decisions using an
improving business processes. Azure Functions
Azure API Management

business innovations Azure-powered intelligent cloud. Understood design patterns to get truly
modular
Azure Logic Apps
Azure SQL Database

to gain speed and By migrating supply chain services to the


cloud, MDSC is delivering a better solution to
To create a truly modular, microservices-based
architecture, the CSEO team used several
Azure Cosmos DB
Azure Bot Service

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.

of managing servers Identified opportunities for further


transformation
and infrastructure. The MDSC team is considering technologies
like Blockchain, Internet of Things, and
cognitive bots to further transform their
solution and deliver maximum value to
partners and customers.
May Expedition Cloud: inside Microsoft’s cloud migration 33
2018 and application development journey

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 /

Replacing in action: simplifying the sales


platform and deploying Dynamics CRM Online

Situations & challenges a four-hour SLA. It took months to update


CRM systems at Microsoft are a critical apps, yet they still included little automation for
component of the overall business, managing testing processes or deployment tools.
almost 50 percent ($40B annually) of total
Microsoft revenue. Microsoft wanted to Solution
simplify its direct sales platform across the Based on critical feedback and lagging sales
globe because existing sales processes were productivity, Microsoft chose to both simplify
overly complex, the customized CRM system the sales process itself and deploy a new CRM
was high maintenance, and related tools and system to support the process. First, Microsoft
technologies were disjointed. Instead of fully radically simplified its direct sales process.
focusing on connecting with customers, sellers Then, it mapped the process to features of
were spending as many as 1.5 days per week Dynamics CRM Online and enabled native
completing administrative processes and Office 365 apps and collaboration tools.
tasks. Integration and changes made across Microsoft built and deployed a cloud-first,
multiple systems slowed bi-directional data mobile-first platform that supports seller-
synchronization across all CRM instances and specific customer relationship management
associated tools, and synchronization required (Dynamics CRM Online), business intelligence,
May Expedition Cloud: inside Microsoft’s cloud migration 35
2018 and application development journey

and connected seller tools (using Windows App Business Impact


Portal for Sales). Native features of Dynamics The new sales platform and process deliver
CRM Online helped to create a framework with notable advantages to Microsoft teams,
built-in agility and speed to support continually including better cost, productivity, and Front-end
Web Outlook Mobile

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

a new template and import the enterprise data


The CRM platform deployment was phased
management capability (instead of months
and automated as much as possible, and the Pre-event Plug-ins Post-event Plug-ins Custom Workflow
with the legacy system). The legacy customized (.NET Assemblies) (.NET Assemblies) .NET Assemblies)
solution rolled out globally in nine months, with
method cost $1 million; the new system costs
multiple sprints. The rollout of Dynamics CRM
one-tenth as much. Because data is now
Online has fundamentally changed the support
immediately synchronized between Dynamics Synchronous and Asynchronous Business Logic
relationship between CSEO and the business
CRM Online and the Azure ODS, there’s a
group. Because the system is largely built out Business Entity Components
single version of data across the system, and

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

where you are.


legacy applications through proven DevOps http://aka.ms/disruptebook
practices leads to teams that are equipped
for better productivity, agility, flexibility, and
operational efficiency. Microsoft did it, so

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.

Get help with your cloud migration. Contact


an Azure specialist at aka.ms/azurespecialist

You might also like