0% found this document useful (0 votes)
26 views

Modernising Web Applications and Data Content New

Microsoft hosted a virtual training day focused on modernizing web applications and migrating them to Azure. The agenda included migrating web applications to Azure, different compute options on Azure like IaaS, PaaS and serverless, and moving a company's database to Azure options like SQL Database. The presentation demonstrated migrating the web tier of an e-commerce site called Tailwind Traders to Azure Virtual Machines. It also discussed enhancing applications with Azure Cognitive Services and serverless functions.

Uploaded by

Tao Ling
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Modernising Web Applications and Data Content New

Microsoft hosted a virtual training day focused on modernizing web applications and migrating them to Azure. The agenda included migrating web applications to Azure, different compute options on Azure like IaaS, PaaS and serverless, and moving a company's database to Azure options like SQL Database. The presentation demonstrated migrating the web tier of an e-commerce site called Tailwind Traders to Azure Virtual Machines. It also discussed enhancing applications with Azure Cognitive Services and serverless functions.

Uploaded by

Tao Ling
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 109

Microsoft Azure Virtual

Training Day:
Modernising Web
Applications and Data
AGENDA
Migrating web applications to Azure
Simon Waight
[email protected]
@simonwaight
Why Migrate?

Migration
drivers
Maybe this sounds familiar…
Microsoft wants to help!

https://azure.microsoft.com/migration/
Migrate and modernise

Refactor – minor changes, but application mostly unchanged

Rearchitect – modernise your application where required

Rebuild – build application to be “cloud native”

https://docs.microsoft.com/azure/architecture/guide/technology-choices/compute-decision-tree
Infrastructure as a Service (IaaS)

Replace physical hardware with


virtualised components
The difficult operational work… virtualised
IaaS doesn’t mean no innovation though!

Reliably deploy and update at large scale

Scale automatically using Azure Monitor metrics

Simplify networking

Support hyperscale workloads


https://azure.microsoft.com/pricing/calculator/
Less rack
and stack.

More
point,
click and
type.
Platform as a Service (PaaS)

IaaS
+
No need to manage virtualised
hardware config, Operating System
or app frameworks
Azure App Service
Today’s demo scenario
THE DAILY NEWS
theuselessweb.com THE WORLD’S MOST MEH NEWSPAPER - Since 5 seconds ago

Tailwind Traders Acquires Northwind


REDMOND, WA - Tailwind for all involved and will help
Traders, Inc announced that to bring our food products to
it has agreed to acquire a whole new sector of the
Northwind Traders, the market" stated Nancy
venerable "old guard" Daviolo, Executive Vice
international foods company, President of Operations.
in an effort to bolster its "We really couldn't be
virtual hardware offerings happier with the
with some international arrangement". The recently-
culinary flare. Tailwind promoted Daviolo will join
agreed to acquire Northwind the Tailwind executive team
for an undisclosed sum and along with two of her close
is assuming control of all of associates, Margaret
Northwind's virtual assets, Peacock and Michael
not excluding the company's Suyama. Daviolo took over
flagship product: Aniseed Northwind’s company sales
Syrup. operations in 2012 after
Andrew Fuller was
"This is a profoundly
wonderful development for
Continued on page 8
http://www.tailwindtraders.com/
Tailwind’s web architecture
Tailwind’s web frontend is using React

App.js

import React, { Component, Fragment } from "react";


import { Route, Router, Redirect } from "react-router-dom";
import { connect } from 'react-redux';
import { CartService } from './services';
import { ConfigService } from './services'
Tailwind’s web API is using .NET Core 2.1

Tailwind.Traders.Web.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
Deployment is with… bash?!

deploy.sh

#!/bin/bash
sudo su
git clone https://github.com/twt/TailwindTraders-Website.git
/tailwind
cd /tailwind
git checkout monolith

Let’s move the web app tier to Azure VMs
Recap of this module

Reviewed the various reasons for migrating to Azure

Looked at compute options – IaaS, PaaS, Cloud Native and Serverless

Covered Azure Virtual Machines (IaaS) and Azure App Service (PaaS)

Performed migration of Tailwind Traders web tier to Azure Virtual Machines


Moving your database to Azure
Simon Waight
[email protected]
@simonwaight
Why Migrate?

Migration
drivers
Cloud migration process overview
Azure Database Migration Service
Relational data with
Azure SQL Database
Azure SQL Database stats

5.8 million 70 PB 550K


databases total size subscriptions

3 trillion 37K 100 million


batch requests per day databases migrated via queries analysed per
Database Migration Service hour
SQL Managed Instance (MI)
SQL Database
Enables migration of (PaaS)
SQL Server workloads to
a fully-managed service
Managed Single Elastic
Instance database Pool

Fully-managed SQL Server Full isolation and


Purchasing options
service compatibility security

• Built on the same • Fully-fledged SQL • Contained within • Transparent


infrastructure as instance with nearly your VNet • Frictionless
SQL Database 100% compatibility • Private IP addresses • Competitive
• Provides the same with on-premises • ExpressRoute &
benefits (PaaS) VPN connectivity
Azure Database for
MySQL, PostgreSQL
& MariaDB
Azure Database for open source engines

Fully managed services Simple and Automatic backups,


without changing your flexible pricing patching with built-in
applications monitoring and security
PostgreSQL
The world’s most advanced open source relational database

DBMS of the Year


NoSQL with
Azure Cosmos DB
SQL mongoDB

Azure Cosmos DB … more coming soon

Key-Value Column-family Documents Graph

Global distribution Elastic scale out Guaranteed low latency Five consistency models Comprehensive SLAs

A globally-distributed, multi-model database service


Azure Cosmos DB
Globally distributed database service
Non-DB Data? Use Azure Data Box

Provides additional Migrate large Create a link between


data migration amounts of data your premises and
options quickly and securely Azure storage
Recap: Azure Database Migration Service
Enhancing web applications with
Azure Cloud Intelligence
Simon Waight
[email protected]
@simonwaight
Agenda
Introduction to Serverless
What is Serverless?

$
Azure serverless platform components

</> IDE support

Integrated
DevOps

Local
development

Monitoring

Visual debug
history
Introducing Azure Functions
Functions secret sauce: triggers and bindings
Serverless scenarios
Serverless scenarios

Cr
Event-driven solutions with Event Grid
Event Grid Concepts
Event-driven scenarios
But wait…what about?

Event Grid
• Business logic
• Push, not poll
• Handlers
• Guaranteed delivery
Enterprise Integration with Azure Logic Apps
Introducing Azure Logic Apps
Cloud Intelligence with Azure Cognitive Services
Custom Vision

Custom Vision Custom Speech

Custom Voice

Custom Translator

Bing Custom Search


In Summary
Debugging and interacting with
production applications
Simon Waight
[email protected]
@simonwaight
Why is debugging production apps difficult?

Challenges in Issues caused by Acquiring and


obtaining logs and distributed nature of configuring the
debugging data config, data and tools for
app components troubleshooting
In this session …
Azure Monitor
Azure Monitor
Full observability for your infrastructure, app and network

Metrics Log

Common Store

Unified Monitoring Data Driven Insights Workflow Integrations

A common platform Advanced diagnostics and Rich ecosystem of popular


for all metrics, logs and analytics powered by DevOps, issue management,
other monitoring machine learning SIEM, and ITSM tools
telemetry capabilities
Unified Azure Monitor

Monitoring Insights
Application Container VM Monitoring
Solutions

Application
Visualise
Operating System Metrics Dashboards Views Power BI Workbooks

Azure Resources
Analyse
Azure Subscription Metrics Explorer Log Analytics
Logs
Azure Tenant
Respond
Alerts Autoscale
Custom Sources

Integrate
Event Hubs Logic Apps Ingest &
Export APIs
Application Insights
Application Monitoring and Analytics

Visibility Insights Optimisation

Get the big picture Find & fix problems Build, measure, learn
Azure
Application
Insights

Visibility – Insights – Optimisation –


Get the big picture Find & fix problems Build, measure, learn
Application Insights Overview Get a 360° view of the
application including
availability, performance
Telemetry is collected at and usage patterns
each tier: mobile app,
server app and browser

Telemetry arrives in the


Application Insights service
where it is processed and
stored
Intelligent Application Performance Monitoring (APM)
Instant Analytics
Integrations with DevOps Tools
App Map to help identify problems
Correlated tracing across app components and servers
Log Analytics
Azure Monitor Logs

Log Analytics advanced query


experience in Azure Portal
Run analytics queries for
investigations, statistics, and
root cause + trend analysis

Utilise ML for clustering and


anomaly detection
Using Log Analytics to dig deeper
In review …
Managing delivery of your
app using DevOps
Simon Waight
[email protected]
@simonwaight
Agenda
What is DevOps?
DevOps Accelerates Delivery

“ people
process products


High performance DevOps companies achieve…

Source: 2019 Accelerate State of DevOps Report by DORA and Google Cloud DevOps & SRE
People
Process
Products
Azure Boards

Azure Repos

Azure Pipelines

Azure Artifacts

Azure Test Plans


Azure Boards

Azure Repos

Azure Pipelines
Connecting ideas to releases

Scrum ready to help your teams run sprints,


Azure Artifacts stand-ups, and plan work

Integrated with GitHub commits and pull requests


Azure Test Plans Insights into project status and health
Azure Boards

Azure Repos

Azure Pipelines
Private Git and TFVC repos for your teams

Code review via branch pull requests


Azure Artifacts
Branch policies and build validation

Easy migration path to / from GitHub


Azure Test Plans
Azure Boards

Azure Repos

Azure Pipelines Deploy to on-premises, ANY cloud or hybrid


from Linux, Mac and Windows

Staged environment releases


Azure Artifacts
Deployment approvals including automated
options
Azure Test Plans Native support for containers and Kubernetes
Azure Boards

Azure Repos

Azure Pipelines
Manage all package types

Add packages to any pipeline


Azure Artifacts
Share code efficiently

Create private and public package feeds


Azure Test Plans
Azure Boards

Azure Repos

Azure Pipelines
Run tests and log defects from your browser

Track and assess quality throughout your lifecycle


Azure Artifacts
Capture rich data for reproducibility

Create tests directly from exploratory sessions


Azure Test Plans
GitHub brings the premier social
Azure Boards
coding workflows to your team,
breaking down silos and enabling
Azure Repos Inner Source through:

Azure Pipelines • Expertise sharing


• Cross-team collaboration
Azure Artifacts • Improved code reuse
• Increased velocity
Azure Test Plans
Azure DevOps
Integrated with GitHub
via Extensions
Rich integration with Azure
Pipelines and Azure Boards
Azure App Service Deployment Slots
What is a Deployment Slot?
What is a Deployment Slot?
Use a Deployment Slot to…
Review

You might also like