Migrating Applications to Windows Azure Virtual Machines Michael Washam Senior Technical Evangelist...

Preview:

Citation preview

Migrating Applications to Windows Azure Virtual Machines

Michael WashamSenior Technical EvangelistMicrosoft Corporation

Migrating to Virtual Machines

Getting Started

Application Migration

Imaging Virtual Machines

Deploying Enterprise Apps

Connecting Cloud Services

Getting Started

Cloud First ProvisioningGetting Started

Management Portal

>_Scripting

(Windows, Linux and Mac)

REST API

Select Image and VM Size

Windows Server

Linux

Extra Small

Small

Medium

Large

X-Large

New Disk Persisted in Storage

Cloud

Boot VM from New Disk

BlobStorage

Cloud

BlobStorage

Bring Your Own Server/VHDOn-Premises

On Premises Virtual Server

Provision VM from Image or Disk using portal, script or API

Use Cases• Forklift Migration of VMs

• Sys Prepped Images

VHD Must Be Fixed Disk * CSUpload Can Convert on Upload

MyApp.vhd

Portal Experience

Creating a Virtual Machine

Application Migration

Migration Approaches

Build Virtual Machine in the CloudLowers upload time and dependency riskRequires upload and installation of application and data

Migrating an Existing Virtual MachineApplication, Configuration and Data in an installed Working State Requires uploading a large amount of data and a higher risk of drivers or other hardware dependencies on VM not available in the cloud

Migrating a Multi-VM ApplicationCloud Service Acts as a Networking BoundaryAll VMs in the same service can communicate directlyName resolution between VMs is automatic with Windows Azure provided DNSCloud Service

Name: myapp1.cloudapp.net

Virtual MachineVM Name: iisvm110.1.5.6

Virtual MachineVM Name: iisvm210.1.5.7

DIP

Virtual MachineVM Name: sqlvm110.1.5.8

DIP DIP

Load BalancerPublic IP

Migrating a Web Farm

Virtual Machine Migration

Windows Azure Supports VHD File FormatOther formats will have to be converted or migrated before upload

Upload Existing VHDs using CSUpload.exeSupports Resuming Failed Transfers Converting from Dynamic to Fixed Disk on UploadEfficient Upload – does not send empty bytes

Things to Do Before Uploading OS DiskEnable Remote Access

Migrating a Simple Virtual Machine

On-Premises Virtual MachineMachine Name: APPSRV1Memory: 8 GB Cores: 4Ports: 80/443 for http/https

Guest: C:\Host: C:\VMs\APP-OS.vhd

Guest: D:\Host: D:\VMs\APP-Data.vhd

Guest: E:\Host: E:\VMs\APP-Logs.vhd

Cloud ServiceName: myapp1.cloudapp.net

Virtual MachineRole Name: appsrv14 Cores 7 GB Ram Windows

AzureStorageGuest: C:\

WAStorage\VMs\APP-OS.vhd

Guest: E:\WAStorage\VMs\APP-Data.vhdGuest: F:\WAStorageVMs\APP-Logs.vhd

DeploymentSlot Production

Migration Steps1) Upload VHDs CSUpload or other Tools

2) Create VM OS Disk=APP-OS.vhd

3) Configure Data Disks Data Disk 1 = APP-Data.vhd Data Disk 2 = App-Logs.vhd

4) Adjust App for Drive Letters

5) Add Endpoint(s) 80, TCP, http 443, TCP, https

TCP Endpoints 80 and 443

Using CSUpload

Imaging Virtual Machines

BlobStorage

Imaging VMs in the CloudCloud

Identical/similar deployment instances using common OS image

as start

Capture VM Saves Customized Image to Your Image Library

BlobStorage

Base.VHD

Custom Images

Deploying Enterprise Applications

Windows Azure Virtual Network

Persistent IP Address RequirementsVirtual Machines deployed into a virtual network have an infinite DHCP lease.

Hybrid On-Premises Cloud AppsRequirement for connectivity between your data center and the public cloud.

Connectivity between cloud services. Deploying Active Directory in the Cloud or connecting a PaaS to IaaS Service.

Corpnet

Windows Azure

Domain Controller in the Cloud

The Virtual Networkin Windows Azure

Gateway

SQL ServersIIS Servers

Load BalancerPublic IP

AD Replication+

On Premises Resources

AD / DNS

AD Auth

Site to Site VPN Tunnel

Contoso.com Active Directory

Contoso Corp Network

IIS Servers

AD / DNS

SQL Servers

Exchange

S2S VPN Device

Contoso.com Active Directory

Cloud Services Configuration for ADDeploy DC in Separate Cloud Service

Cloud Service for AD ClientsName: app-cloudservice.cloudapp.netAffinity Group: ADAG

DeploymentVirtual Network: MyVNETDNS Ips: 192.168.1.4

Virtual MachineRole Name: advm1Subnet: AppSubnetIP Address: 192.168.2.4

Cloud Service for AD DomainsName: ad-cloudservice.cloudapp.netAffinity Group: ADAG

DeploymentVirtual Network: ADVNETDNS Ips: (On-Premise AD IP)

Virtual MachineRole Name: ad-dcSubnet: ADSubnetIP Address: 192.168.1.4

DIP

ADVNET

Demo

Deploying with AD

Managing VMs

Managing Windows Azure VMs

Windows Azure Virtual Machines are not “different”Existing Monitoring and Management Applications will continue to work

Connectivity Will Be KeyUsing Windows Azure Virtual Networks to bridge the connectivity divideManagement Applications may have more streamlined solutions such as the System Center Gateway Service

For Azure Specific Automation Tasks Use PowerShell

Scripting CapabilitiesFull Support for IaaS• Windows Azure PowerShell Cmdlets• Cross Platform Scripting Built on node.js

Capabilities• Provisioning, Removal• Reboot, Start• Import and Export VM settings• Support for Windows and Linux VMs• Domain Join at Provision for Windows• Fully Customize VM with Data Disks

and Endpoint Configuration• Automate Virtual Network Settings

Scaling Up or Down

Connecting Cloud Services

Connecting Cloud Services with VNETStrengthsMore Secure

Low Latency

Cloud Service Autonomy

VIP Swap (stateless roles)

Advanced Connectivity Requirements

WeaknessesVNET Complexity

No Windows Azure provided DNS

Direct Access

via VNET

APPSUBNET(10.1.0.0/16)

SQLSubnet (10.2.0.0/16)

Load Balancer

80

WA Web Role

Cloud Service1

Cloud Service 2

SQL Server

ContosoVNet (10.0.0.0/8)

Connecting Cloud Services

Summary

Getting Started

Application Migration

Imaging Virtual Machines

Deploying Enterprise Apps

Connecting Cloud Services

Thank you!

Blog: michaelwasham.comTwitter: @MWashamMS

Windows Azure Training Kithttp://bit.ly/WATKJune2012Cloud Cover http://channel9.msdn.com/Shows/Cloud+Cover

Resources

Connect. Share. Discuss.

http://europe.msteched.com

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Resources for Developers

http://microsoft.com/msdn

Evaluations

http://europe.msteched.com/sessions

Submit your evals online