how to scale windows azure applicationdownload.microsoft.com/documents/hk/technet/techdays2013...how...

45

Upload: others

Post on 11-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 2: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

How to scale Windows Azure Application

Edwin Cheung

Principal Program Manager

China Cloud Innovation Centre

Customer Advisory Team

Microsoft Asia-Pacific Research

and Development Group

Page 3: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 4: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

4 |

Page 5: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

CONTROL

CO

ST

-E

FFIC

IEN

CY

(On-premise)

Value Prop:

Value Prop:

Roll-your-own HA/DR/scale

(IaaS)

Value Prop:

(PaaS)

Page 6: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

6 |

DISPERSED USERS &

DATA ELASTIC DEMAND SCALE OUT

Page 7: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 8: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 9: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Fabric ControllerWindows Azure

Networking

“Red Dog” Front End (RDFE)

Page 10: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 11: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

• Workload driven design

• Fan-out the application tier to support the workload

• Loosely couple: asynchronous, but keep close and process fast

• Use cache for data and content

• Batch together storage/database operations if possible

• Partition Azure storage objects across multiple storage accounts if necessary

• Size appropriate (instance size and number of instances)

Page 12: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

•Read-only data separated from read-write data

•Affinitize application and database as scale unit

Page 13: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Compute

Instance

CPU (GHz) Memory Storage Bandwidth

XSmall 1 768mb 20GB 5 Mbps

Small 1.6 1.7GB 225GB 100 Mbps

Medium 2 x 1.6 3.5GB 490GB 200 Mbps

Large 4 x 1.6 7GB 1000GB 400 Mbps

XLarge 8 x 1.6 14Gb 2040GB 800 Mbps

Page 14: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 15: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Key Concepts - Indexes

• Object Key partitioning key

, Snapshot Time

RowKey

Message Visibility Time, Message Id

Page 16: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Key Concepts – How are objects stored?

Account

Name

Container

Name

Blob Name

user1 logs 20120612-1030-001.log

user1 logs 20120612-1030-002.log

… … …

user1 logs 20120612-1030-999.log

user1 logs 20120612-1031-001.log

… … …

user2 logs 20120612-1030-001.log

Account

Name

Container

Name

Blob Name

user1 logs 001-20120612-1030.log

user1 logs 001-20120612-1031.log

… … …

user1 logs 999-20120612-1030.log

user1 logs 999-20120612-1031.log

… … …

user2 logs 001-20120612-1030.log

Page 17: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Key Concepts – How does storage scale?

A

A B

CA

Page 18: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Key Concepts – Scalability Targets

Page 19: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Storage Accounts Best Practices

Page 20: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Common Design & Scalability

Page 21: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Account

Name

Container

Name

Blob Name

User1 logs 20120612-1030-001.log

user1 logs 20120612-1030-002.log

… … …

user1 logs 20120612-1030-999.log

user1 logs 20120612-1031-001.log

… … …

user1 logs 20120612-1032-999.log

Common Design & Scalability

Page 22: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Blob Design & Scalability

Page 23: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Table Design & Scalability

Page 24: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Queue Design & Scalability

Page 25: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

http://nuget.org/packages/Microsoft.Experience.CloudFx2

6

Page 26: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

http://code.msdn.microsoft.com/CloudFx-Samples-60c3a852

Page 27: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Asure

Storage

Page 28: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 29: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Relational Database as a Service for the Windows Azure Platform

Focus on combining the best features of SQL Server

running at scale with low friction

Page 30: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

• SQL Server as core DB engine

• Shared infrastructure at SQL database and below• Request routing, security and isolation

• Scalable HA technology provides the glue• Automatic replication and failover

• Provisioning, metering and billing infrastructure

Provisioning (databases, accounts, roles, …), Metering, and Billing

Machine 5

SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

Machine 6

SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

Machine 4

SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

Scalability and Availability: Fabric, Failover, Replication, and Load balancing

Page 31: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

Application

Internet

Azure

Cloud

LB

TDS (tcp)

TDS (tcp)

TDS (tcp)

Applications use standard SQL

client libraries: ODBC,

ADO.Net, PHP, JDBC.

Load balancer forwards

‘sticky’ sessions to TDS

protocol tier

Security Boundary

SQL SQL SQL SQL SQLSQL

Gateway Gateway Gateway Gateway Gateway Gateway

Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to CloudDB

Scalability and Availability: Fabric, Failover, Replication, and Load balancing

Topology

Page 32: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

• Each account has zero or more servers– Azure wide, provisioned in a common portal

– Billing instrument

• Each server has one or more databases– Contains metadata about the databases and

usage

– Unit of authentication

– Unit of Geo-location

– Generated DNS based name

– Logical grouping of databases

• Each database has standard SQL objects– Unit of consistency

– Unit of multi-tenancy

– Contains Users, Tables, Views, Indices, etc.

– Most granular unit of billing

Account

Server

Database

Page 33: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 34: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 35: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 36: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 37: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 38: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 39: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China

A distributed, in-memory, flexible cache for all data types that can be used to speed up Windows Azure applications and reduce database load

Basically, caching helps your app become faster.

Page 40: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 41: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 42: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 43: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 44: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China
Page 45: How to scale Windows Azure Applicationdownload.microsoft.com/documents/hk/technet/techdays2013...How to scale Windows Azure Application Edwin Cheung Principal Program Manager China