Inside Windows Azure Virtual Machines Vijay Rajagopalan Microsoft Corporation.

Post on 22-Dec-2015

223 views 1 download

Tags:

Transcript of Inside Windows Azure Virtual Machines Vijay Rajagopalan Microsoft Corporation.

Inside Windows Azure Virtual MachinesVijay RajagopalanMicrosoft Corporation

AgendaIntroduction & Getting StartedPatterns for running Virtual Machines

Provisioning in the CloudImage Customization Bring your own Images / Disks & Best Practices

API Surface & Platform Programmability – REST, Client Libraries PowerShell Cmdlets Cross Platform Cmdlets

Scalextreme – ISV building Cloud based Monitoring & ManagementInside Provisioning Virtual MachinesApplication Patterns:- SLA, Building for availability, IaaS + PaaSSummary Q & A

Getting Started with Virtual Machines1. Create new VMs from Platform supplied “stock images” from VM Image

Gallery

2. Customize a platform stock image and “capture” for future usage

3. Bring your own VMs from on-premises

Tools:- Azure Management Portal / APIs / PowerShell cmdlets

Tools:- Management Portal / APIs / PowerShell cmdlets

Tools:- Management Portal / APIs / PowerShell cmdlets &

New Disk Persisted in Storage

Blob Storage

Cloud

Cloud Provisioning

Select Image and VM SizeGetting Started

Management Portal

>_Scripting

(Windows, Linux and Mac)

REST API

Boot VM from New DiskServer

Imaging in the Cloud :- Customizing Stock Images in the CloudCloud

Blob Storag

e

Blob Storage

Base.VHD

Identical/similar deployment instances using common OS image

as start

Capture VM Saves Customized Image to Your Image Library

Bring Your Own Server/VHD

On-Premises

On Premises Virtual Server

MyApp.vhd

Upload VHD

Cloud

Blob Storage

Provision VM from Image or

Disk using portal, script or API

Best PracticesActivationPaging FileTime Sync

Image Mobility

On-Premises Cloud

Blob Storag

e

MyApp.vhd

Bring your own Image/disk from on-premises

Basic VHD validation

Dynamic disk to Fixed disk conversion

Multi-threaded upload

Resume functionality

Automatic Image/Disk registration

Image Patching support

We support Image & Disk based migration.

Windows Azure SDK Authoring Tools (CSUpload)

Customer’s Storage Account

Data Disk

CSUpload under the coversUploading an data disk is simple…

Windows Azure Storage API

DataDisk

PUT Blob

Customer’s Storage Account

OS Disk

CSUpload under the coversUploading an OS disk is simple…

Windows Azure Storage API

OSDisk

PUT Blob

What will work on upload…

Images

Disks

Sysprep’d Windows Server VHD on Hyper-V

(Server 2008 R2 and Windows 8 Server)

Windows Azure Image

Windows Server VHD on Hyper-V

(Server 2008 R2 and Windows 8 Server)

Windows Azure Disk

Persistent Disk Management

• C:\ = OS Disk• D:\ = Non-Persistent Cache Disk• E:\, F:\. G:\ ... Data Disks

Capability OS Disk Data Disk

Host Cache Default ReadWrite ReadOnly

Max Capacity 127 GB 1 TB

Imaging Capable Yes No

Hot UpdateCache Setting Requires Reboot

Change Cache Without Reboot, Add/Remove without Reboot.

DEMO• Image Customization &

(Capture)• Bring your VMs / Data Disks• Migration : - Bring your own

VM from on-premises using System Center App Controller

Technology Behind Launching a Virtual Machine

Portal (API)Windows Azure Hypervisor

VM

OS

Data

Cache

ISO

Image Publisher Gallery

CustomerStorage Account

BaseImage

s

Provisioning Repository

UNATTEND Add Server

Hostname Password …

CACHE.VHD

Storage API

OS Disk

Data Disk

Virtual Machine Provisioning OptionsGeneral Settings

Networking

Disk Configuration

Computer NameWindows Update (default on)Windows Domain Join Settings (Script Only)Certificate/SSH Cert Deployment

Configure TCP/UDP EndpointsSubnet Name(s)Virtual Network

Modify cache and Add Data Disks

Windows Azure Virtual Machine Architecture

Cloud ServiceLocation: North Central USName: myservice.cloudapp.net

Public IP (VIP)myservice.cloudapp.net

Load Balancer

VIP

DeploymentVirtual Network: MyVNETDNS Ips: 10.2.2.4, 10.2.2.5

Virtual MachineRole Name: srv1Subnet: sub1

Virtual MachineRole Name: srv2Subnet: sub1

DIP

Clients

Windows Azure

Storage

Virtual Machines Under the Hood

Virtual MachineRoleName: spsql1Subnet: AppSubnetInstanceStatus: ReadyRoleIP Address: 10.26.190.71

OS DiskHostCaching : ReadWriteDiskName : SPMigDemo1-spsql1-0-2012319124815MediaLink : http://spmigdemo1.core.azure-preview.com/vhds/spsql1.vhdSourceImageName : MSFT__Windows-Server-2008-R2-SP1-with-SQL-Server-2012-Eval.11-29-2011

Data DiskHostCaching : ReadOnlyDiskLabel : sqldataDiskName : SPMigDemo1-spsql1-0-2012319124817Lun : 0LogicalDiskSizeInGB : 20MediaLink : https://spmigdemo1.blob.core.azure-preview.com/vhds/sqldata.vhd

Input EndpointsEnableDirectServerReturn : FalseLocalPort : 3389Name : RDPPort : 61388Protocol : tcpVip : 65.52.249.196LoadBalancerProbe: LoadBalancedEndpointSetName:

Virtual Machine Management Remote Desktop

Windows Update

VM Customization & Software Acquisition

Fully Configured.

“On” by defaultPreferred mode for keeping your VMs up to dateNo Coordination between VMs and platform updates

Interactively with RDPWeb PIData Disk FTP ServerHybrid –SMB Server

Protocols and EndpointsUDP Traffic Supported in WA

Support for All IP-Based Protocols (VM to VM)

Custom Load Balancer Health Probes

Load-balanced incoming traffic and allows outbound traffic

Instance-to-instance communicationTCP, UDP and ICMP, Support for dynamic ports

Health check based on ProbesHTTP and TCP based probing, allowing granular control of health checks

Port Forwarded Endpoints

Direct communication to multiple VMs in the same cloud app

Service Management REST APIs- “A Bird’s eye View”

REST APIs for VM Operations

Add Role (i.e., Create Virtual Machine)

Get Role

Modify Role

Attach Disk

Detach Disk

Modify Disk Attribute

Delete Role

Shutdown/Restart Role

Deployment Level APIs

Capture Role

Download RDP file

Get/Set/List Virtual Networks

Create Virtual Machine

POST https://management.core.windows.net/<subid>/services/compute/myService/Deployments/myDeployment/Roles { “Name”:”MyWebServerFrontEndH1”, “RoleType”:”PersistentVMRole”, “InstanceSize”:”Medium”, “OSDisk”: { “SourceImageId”:”PlatformWin2k8R2Apr01” }, “DataDisks”: [{ “LogicalDiskSizeInGB”:15 }], “ConfigurationSets”: [{ “ConfigurationSetType”:”ProvisioningConfiguration”, “AdminPassword”:”ac63783093bbef82729==”, “ResetPasswordOnFirstLogon”:”true” }]}Response 202 Acceptedx-ms-requestid : 3874857458459420685695

Capture a Virtual Machine

POST https://management.core.windows.net/<subid>/services/compute/myService/Deployments/myDeployment/Roles/MyWebServerFrontEndH1/Operations?OperationType=”Capture”

{

“TargetImageName”:”MySQLServerSP3BaseImage”,

“PostCaptureAction”:”REPROVISION|DELETE”,

“ConfigurationSets”:[{

“ConfigurationType”:”ProvisioningConfiguration”,

“AdminPassword”:”baac7364384948==”,

“ResetPasswordOnLogon”:”true”,

“MachineName”:”SQLServerv11”

}]

}Response 202 Acceptedx-ms-requestid : 3874857458459420685695

IntroducingClient Libraries for Service Management

We will deliver .NET Reference Library for all the management scenarios

Prescriptive & Consistent Client Scenario Wrappers to enable Microsoft & ISV products.

Java & PHP Libraries for non-Windows scenarios.

Announcing Windows Azure PowerShell Cmdlets

Cloud Services/DeploymentsNew/Upgrade/Delete/VIP Swap

Instance ManagementAdd/Remove/Reboot/Re-Image

Diagnostics ManagementConfigure/Download/Clea

Basic Storage OperationsUpload/Download/DeleteCreate/Manage Storage AccountsStorage Analytics

Virtual Machine ManagementCreate/Managing Virtual MachinesHot Add Disks/EndpointsManage VNET Settings

Subscription Management

Scripted Deployment$vms = @()

$vms += New-AzureVM -RoleName 'vm1' -InstanceSize Small |Add-ProvisioningConfiguration -Windows -AdminPassword $pwd |Add-OSDisk -ImageName $imgname -MediaLocation $vm1storage

$vms += New-AzureVM -RoleName 'vm2' -InstanceSize Small |Add-ProvisioningConfiguration -Windows -AdminPassword $pwd |Add-OSDisk -ImageName $imgname -MediaLocation $vm2storage

New-AzureDeployment-NewCloudService -ServiceName $svcName -Location 'North Central US' -Roles $vms

DEMO

• REST API Surface area• Command Line Tools• Building Webfarm using

PowerShell• Managing Virtual Machines from

Linux/Mac

Scalextreme

ScaleXtreme OverviewCloud-based Systems Management

“Instant On”Manage existing servers or create brand-new servers – no need to use our images, you can use your ownMonitoring, Patch Management, general-purpose Job Automation, Budgets & Cost Control, etc.

Complements Azure management functionality with actual server launch and management capabilities – Windows and Linux fully supported, today

Directly integrates with Windows Azure through management API’s

Worked closely with Microsoft to ensure native integration

Super Easy

1. Create free account at http://www.scalextreme.com/free

2. Link your Azure account to ScaleXtreme

3. Put agent on existing servers or start launching new ones

4. All functionality (patch, job automation) instantly available!

Demo!

Application Patterns

SLA & Building for High Availability

Highly Available Application Pattern

SQL Mirroring for Availability

SharePoint

Designing VMs with Domain Controller

Connecting Cloud Services & VMs over VIP

Connecting Cloud Services & VMs over VNet

Mixed Mode (PaaS + IaaS working together)

4.38 hours of downtime per year

Service Level Agreements

99.95% for Virtual Machines (in Availability Set)

8.75 hours of downtime per year

99.9% for single Virtual Machine

Compute Hardware failure (disk, cpu, memory)Datacenter failures - Network failure, power failureHardware upgrades, Software maintenance – Host OS Updates

What is included

VM Container crashes, Guest OS Updates

What is not included

Availability Set Visualized

SQL Server

- Primary

SQL Server

- Primary

SQL Server

- Primary

How Does this Relate to SLA?

Availability Set

Virtual Machine

Virtual Machine

SQL Server

SQL Server

End to End Highly Available Solution

Virtual Machine

Business Components &

Entities

Persistent Disk

Virtual Machine

Business Components &

Entities

Persistent Disk

IIS Web Application

Web Role

IIS Web Application

Web Role

LB

SQ

L M

irro

ringInternet

Tips :-1. Add both VMs to

the same availability Set at every layer

2. Configure a load balanced endpoint on Port 80 for UI layer

Summary – SLA and Availability

SCENARIO WINDOWS AZURE SQL SERVERMultiple Instance Availability

Single Instance Availability

Disaster Recovery

Virtual Machine

Virtual Machine

SQL

SQL

Virtual Machine

Virtual Machine

SQL

SQL

Internet

SharePoint

Virtual Machine

Persistent Disk

Search and IndexVirtual Machine

SharePoint FrontEnd

Virtual Machine

SharePoint FrontEnd

Virtual Machine

DC DNS Local DNS

Server Accounts S

QL M

irrorin

g

LB

Open User Access

(Website)

On Premises

Virtual Machine

Persistent Disk

Search and IndexVirtual Machine

SharePoint FrontEnd

Virtual Machine

SharePoint FrontEnd

Virtual Machine

DC DNS Local DNS

Server Accounts

VNet

User Accounts

SQ

L Mirro

ring

Domain joined to On-Premises

Network

LB

DC DNS

10.8.8.x

Internet

Tips :-Configure the Virtual Network Configure Gateway to On Premise Configure your on premise routerStart the gateway

Create first VM from SQL Server. Configure databases on it.Sysprep and shut it down.Capture as an Image

Create second VM from the ImagesCreate load balanced endpointsPut both VMs in the same availability set

SQL Server

Building Complex LOB Applications with Domain Controller

Active Directory

DNS

Virtual Machine

Virtual Machine

UI Process Components

Web Tier

Business Components &

Entities

Business & Data Tier

Domain joined to Network

VNet

DEMO

• Building Complex Applications using Domain based Automation

Power of ChoiceVirtual Machines(IaaS) & Cloud Services(PaaS) Better Together

Connect Cloud Services via VIPsEasily compose services by connecting public endpoints

Direct Connectivity Using Virtual Networking

Simple, secure and highly efficient method of using IaaS and PaaS side-by-side

For advanced connectivity scenarios such as Active Directory or DCOM

Mixed Mode: Virtual Machines and Web/Worker Roles in the Same Cloud Service

Connecting Cloud Services via VIPs

StrengthsSimplicityTenant AutonomyVIP Swap (stateless roles)Easy Local Dev/TestPersistent Service is Easily Accessible (even from other services!)

WeaknessHigher LatencyLess SecureManagement/Deployment Overhead

Secure Endpoints

with Firewall

Load Balancer

80

WA Web Role

Cloud Service1

Cloud Service 2

SQL Server

Load Balancer

2001-1433

SQL Data Access Traffic Through Public Endpoint

Connecting Cloud Services with VNET

StrengthsSimplicityTenant AutonomyVIP Swap (stateless roles)Easy Local Dev/TestPersistent Service is Easily Accessible (even from other services!)

WeaknessVNET ComplexityNo iDNS – use BYOD

Direct Access

via VNET

FrontEndSubnet

(10.0.0.0/16)

SQLSubnet (10.1.0.0/16)

Load Balancer

80

WA Web Role

Cloud Service1

Cloud Service 2

AD

SQL Mirror

AD Subnet(10.2.0.0/1

6)

ContosoVNet (10.0.0.0/8)

Mixed Mode: PaaS/IaaS in the Same Cloud Service

Virtual Machine

Cloud Service

WA Web Role

Load Balancer

80

Coming in the future

StrengthsInternal DNS (iDNS)Low latency connectivitySingle deployment, update and management unit

WeaknessNo VIP Swap (coming in the future)

Resources

Connect. Share. Discuss.

http://northamerica.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

Complete an evaluation on CommNet and enter to win!

MS Tag

Scan the Tagto evaluate thissession now onmyTechEd Mobile

Required Slide *delete this box when your slide is finalized

Your MS Tag will be inserted here during the final scrub.

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS

PRESENTATION.