Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

30
Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick Claus [email protected] @RicksterCDN

description

© ITEdgeintersection. All rights reserved. Agenda  Meet the Family  Azure Resource Templates (ARM)  Availability Sets  Effectively Using Drives  Azure Scale Units

Transcript of Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Page 1: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Tweak Performance and Improve Availability of your

Microsoft Azure VMsRick Claus

[email protected]@RicksterCDN

Page 2: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

How to connect with Rick?

http://about.me/rickclausTwitter: @[email protected]://regularITguy.com

Page 3: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

© ITEdgeintersection. All rights reserved.http://www.ITEdgeintersection.com

Agenda

Meet the Family

Azure Resource Templates (ARM)

Availability Sets

Effectively Using Drives

Azure Scale Units

Page 4: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

>80,000 IOPsPremium Storage

GPU-enabled virtual machines

N

New generationof D family VMs

DV2

SSD Storage Fast CPUs

D

Scale-up options

Largest virtual machinesFastest storage in the public cloud

35% faster than DIntel E5-2673 v3

CPUs

NVIDIA GPUsRemote visualization Compute-intensive +

RDMA

Highest value

A

Most memory fastest CPUs

G

Highest value Largest scale-up

Page 5: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

The G familyOptimized for data workloadsUp to 32 CPU cores, 448 GB RAM6.5 TB local SSDLatest generation Intel processorUp to 64 attached disks!!

G

Page 6: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Know Your Limits – Service Manager

HierarchySubscription

Cloud Service (200)

Virtual Machine (50x200)

Virtual Network (100)

Storage Account (100)

Storage Container

Storage Blob (40x100)

Object Limit Locking

Subscription 120 Create/Add operations in 5 minute window N/A

Cloud Service 200 per subscription ~3 minutes per update

Virtual Machine 50 per cloud service2048 per Virtual Network None

Virtual Network 100 per subscription Single modification API

Storage Account 100 per subscription None

Storage Container No Limit None

Storage Blob 40 per storage account One blob per container per storage account at a time

Limits and Locking

http://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/

Page 7: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Manage resources as a single unit

Role based access and control (RBAC) on groups or resources

Billing integrated tagging on groups or resources

Resource Groups

RESOURCE GROUP

Page 8: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Know Your Limits – Resource Manager

Resource Default Limit Maximum LimitCores per subscription 201 per Region 10,000 per Region

Co-administrators Unlimited Unlimited

Storage accounts 100 1002

Resource Groups 800 800

Resource Manager API Reads 15000 per hour 15000 per hour

Resource Manager API Writes 1200 per hour 1200 per hour

Resource Manager API request size 4194304 bytes 4194304 bytes

VMs per Availability Set 100 100

IO/ps to a standard storage account 20k 20k

Page 9: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Meet the Family

Azure Resource Templates (ARM)

Availability Sets

Effectively Using Drives

Azure Scale Units

Agenda

Page 10: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

RESOURCE PROVIDER CONRACT

ADFSAAD

RESOURCE MANAGER

SERVICE MANAGEMENT API

Consistent management layer

Curated extensions

Tools

Provider rest points

Visual StudioMicrosoft Azure Command line

Cloud On-premises

Contoso

Azure Resource Manager (ARM)

DB

Page 11: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

ARM templates can: Simplify deployment Simplify roll-back Provide cross-resource

configuration and update support Be used as a learning tool to build

to suit

Azure templates are: Source file, checked-in Specifies resources and

dependencies (VMs, websites, DBs) and connections (configuration, LB sets)

Configurable parameters for input/output

Azure Resource Manager templates

Repeatable configurationConfiguration Resource Group

DEPENDS ON SQLDepends on SQL

SQL-A website[SQL CONFIG] VM (2x)

ARM template

SQL-A

DB

Website Virtual Machines

Depends on SQL

SQL configuration

Page 12: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Key Improvements: Azure Virtual Machines (v2)

Massive and parallel deployment of Virtual Machines

3 Fault Domains in Availability Sets Custom URLs for Custom Script VM

Extensions for VMs SSH-2 RSA Format Support for SSH keys for

Linux VMs

Page 13: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

JSON files—simpler than they lookSchema, content version, parameters, variables, resources, and

outputs

Page 14: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Meet the Family

Azure Resource Templates (ARM)

Availability Sets

Effectively Using Drives

Azure Scale Units

Agenda

Page 15: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Virtual Machine

Virtual Machine

Availability Sets

SQL ServerPrimary

SQL ServerSecondary

Availability set

SLA 99.95

SLA High Availability

Hardware and Software

Windows and Linux

Page 16: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Availability Sets

Physical Machines

Power UnitRack Switch

Page 17: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Availability Sets

Physical Machines

Power UnitRack Switch

Availability Set

VM1

VM1 VM2 VM2

VM2

Page 18: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Availability Set Guidance

VMs in Availability Set Must Be in Same Resource Group

Availability Set: 5 Update Domains, 3 Fault DomainsUpdate Domain – Host Maintenance Fault Domain – Isolation from component failure in rack unit

Maximum of 100 VMs in a Availability Set

Avoid Availability Sets with Single VMThis eliminates notification for host maintenance operations

https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/

Page 19: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Agenda

Meet the Family

Azure Resource Templates (ARM)

Availability Sets

Effectively Using Temporary Drives

Azure Scale Units

Page 20: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Virtual Machine Storage ArchitectureAzure Virtual Machine

C:\OS Disk

E:\, F:\, etc.Data DisksD:\

Temporary DiskDisk Cache

Azure BlobA series D: = Spinning RustD, DS, G, GS series D: = SSD with caching

Page 21: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Temporary Drive Guidance

Never Place Critical Unreplicated Data on Temp Drive!!

Use for SQL TempDB and Buffer Pool Extension on D-Series and G-Series VM Sizes Only (SSD Temp Disks)Detailed instructions: http://blogs.technet.com/b/dataplatforminsider/archive/2014/09/25/using-ssds-in-azure-vms-to-store-sql-server-tempdb-and-buffer-pool-extensions.aspx

Use Scheduled Tasks to Configure Temporary Disk

Test Scheduled Tasks via Resize VM Operation

Page 22: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Temporary Drive Performance (D-Series)

Cores VM Sizes Temp Disk Size (GB) Max IOPS Max Read

(MB/s)Max Write

(MB/s)

1 Standard_D1 50 3,000 48 24

2 Standard_D2Standard_D11 100 6,000 96 48

4 Standard_D3Standard_D12 200 12,000 192 96

8 Standard_D4Standard_D13 400 24,000 384 192

16 Standard_D14 800 48,000 768 384

http://azure.microsoft.com/blog/2014/10/06/d-series-performance-expectations/

Page 23: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Virtual Machine Storage ArchitectureAzure Virtual Machine

C:\OS Disk

E:\, F:\, etc.Data DisksD:\

Temporary DiskDisk Cache

Azure BlobA series D: = Spinning RustD, DS, G, GS series D: = SSD with caching

Page 24: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Page Blobs3 copiesVHD disks, 1 TB per disk 500 IOPs (8000 IOPS total)

Virtual machine standard storage

Page 25: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

West DCEast DC

> 400 miles

Defend against regional disasters

Geo replication

Virtual machine standard storage

Page 26: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Persistent / Data disk performance • Attach disks, make StorageSpaces / RAID

• Spinning Rust disks (Standard Storage) 500 IOps • SSD backed disk (Premium Storage) 5000 IOps

• Premium Storage disk tiers P1, P2, P3

• VM size impacts network speeds/caps to storage• Don’t forget 20,000 IO/ps per storage account = ~40 disks

Tier IOps BandwidthP1 / 128gb 500 100 Mb/secP2 / 512gb 2300 150 Mb/secP3 / 1023gb 5000 200 Mb/sec

https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/

Page 27: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Agenda

Meet the Family

Azure Resource Templates (ARM)

Availability Sets

Effectively Using Drives

Azure Scale Units

Page 28: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Azure Scale Unit (Azure Compute Cluster)

DefinitionA compute unit capable of supporting a defined range of VM sizesEach vm deployment is bound to a single Scale Unit

Impact of ResizeVMs can only be resized to a size supported on Scale Unit where the VM is deployed

Current VM Sizes Supported on Scale UnitsScale Unit 1: A0 – A4Scale Unit 2: A0 – A7Scale Unit 3: A8/A9 OnlyScale Unit 4: A0 – A7 and D1 – D14Scale Unit 5: G1 – G5

Page 29: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

Closing thoughts…

• Don’t just grab a bunch of G5 machines for perf.

• Can your workloads be broken down across multiple machines?

• Are you hitting internal governors due to subscription / RG limits?

• Are you designing for IOps against storage accounts?

Page 30: Tweak Performance and Improve Availability of your Microsoft Azure VMs Rick

© ITEdgeintersection. All rights reserved.http://www.ITEdgeintersection.com

Want Rick’s Coordinates?

http://about.me/rickclausTwitter: @[email protected]://regularITguy.com

Please use Event Board to fill out a session evaluation.

Questions?

Thank you!