20120620 moving to windows azure

Preview:

DESCRIPTION

From the A

Citation preview

Migrating to Azure Luis Alves Martins Solution Architect | Microsoft Services WE HQ

luis.martins@microsoft.com

how to go to the cloud?

Packaged

Software

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

Yo

u m

an

ag

e

Infrastructure (as a Service)

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

Man

ag

ed

by v

en

do

r

Yo

u m

an

ag

e

Platform (as a Service)

Man

ag

ed

by v

en

do

r

Yo

u m

an

ag

e

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Software (as a Service)

Man

ag

ed

by v

en

do

r

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

efficiency

control maturity

Clie

nt

Laye

r

(on-p

rem

ise)

PC Games Console Phone Tablet Browser

On-premise Service

On-premise Database

Office Add-in

Ap

plic

atio

n

Laye

r

Inte

gra

tio

n

Laye

r

Connect CDN Traffic Manager

Access Control Service Bus

Cloud Services

Data Sync

Data

Laye

r

Caching Drive Queues Tables Blobs SQL Azure Reporting Database Storage

Virtual Machines Web Sites Hadoop

Virtual Network

Media Services

EAI / EDI

Cloud Services

Cloud Services

Compute

what changes?

compliance

“my app

is 18!”

?

compliance

scalability

“scalability =

scaling out”

elasticity “Scalability is an

architecture feature,

elasticity is a

platform feature” – Luis Calado

compliance

scalability

performance

compliance

scalability

performance

security

Infrastructure (as a Service)

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime M

an

ag

ed

by v

en

do

r

Yo

u m

an

ag

e

Platform (as a Service)

Man

ag

ed

by v

en

do

r

Yo

u m

an

ag

e

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

compliance

scalability

performance

security

operations

Infrastructure (as a Service)

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime M

an

ag

ed

by v

en

do

r

Yo

u m

an

ag

e

Platform (as a Service)

Man

ag

ed

by v

en

do

r

Yo

u m

an

ag

e

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

The 5 R’s

http://www.gartner.com/id=1485116

IaaS

Batch at Scale

Using the CDN

Using Table Storage

Storing PCI data in a Partner cloud

moved to partner cloud

with new development to extend it

in public cloud

Java to C#

new SaaS solution

REHOST

REFACTOR

REVISE

REBUILD

REPLACE

Change the host

Change it

Take advantage

of the cloud

Do it again

Buy new solution

Time Internal Cost Integration Your Choice?

Fill

according

to your

company,

culture,

priorities

and money

Low

H

igh

no application

is an island

John Donne

(1572-1631)

“No man is an island” No man is an island, Entire of itself. Each is a piece of the continent, A part of the main. If a clod be washed away by the sea, Europe is the less. As well as if a promontory were. As well as if a manor of thine own Or of thine friend's were. Each man's death diminishes me, For I am involved in mankind. Therefore, send not to know For whom the bell tolls, It tolls for thee.

Bring entire application and all dependencies

Bring portion of application to the cloud while some resources stay on-premises

Latency? Security? “Chattiness”?

scenario to avoid(most of the times)

Two-way sync

One-way sync to cloud One-way sync from cloud

safer solution

Disaster Recovery Consolidation scenarios

Using the cloud for internet and mobile availability

Windows Azure Virtual Network

Hybrid Public/Private Cloud Enterprise app in Windows Azure requiring connectivity to on-premise resources

Manage identity and access control with on-premise resources (on-premises Active Directory)

Remote monitoring and trouble-shooting of resources running in Windows Azure

Cloud deployments requiring persistent IP addresses and direct connectivity across services

common scenarios

Branch A Branch B Multiple office/branch locations Share data between locations Aggregate data in the cloud

Branch A Geographic located applications - Use with Azure Traffic Manager Disaster Recovery

Scaling out the application Separating workloads, Reporting, Analytics

migrating...

Connect Cloud Apps via VIPs • Easily compose services by connecting public endpoints

• For advanced connectivity scenarios such as Active Directory or DCOM

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

• Do not use write caching

• Avoid using OS drive for large databases

• Consider putting database and transaction log files on separate drives

• Consider putting tempdb on the non-persistent cache disk (D:\)

• Consider using database page compression to reduce I/O

• Consider latency between primary and replica when choosing sync mode

• See “Windows Azure Accelerator for Web Roles”

http://sqlazuremw.codeplex.com/

• Size (actual max:150Gb) – SQL Azure Federations

• All tables require clustered indexes – solution: refactor

• No Full-Text Search – Use FAST or Lucene.net or do-it yourself

• No Cross Database Joins available (or Linked Servers) – Use schemas, refactor

• No SQL-CLR – Refactor, please

• Performance SQL Azure info: http://msdn.microsoft.com/en-us/library/ee336279.aspx

Tables, indexes and views

Stored Procedures

Functions

Cursors

Triggers

Constraints

Table variables, session temp tables (#t)

Spatial types

HierarchyId

Sparse Columns

Throw statement

Change Data Capture

Cross Database Joins

Data Auditing

Data Compression

Database file placement

Database mirroring

External Key Management / Extensible Key Management

FILESTREAM Data

Full-text Search / Indexes

Global temporary tables

Performance Data Collection (Data Collector)

Policy-Based Management

Resource Governor

SQL-CLR

SQL Server Replication

Transparent Data Encryption

Table Partitions

• Logs

• Static Data

• Cached tables

• Performance counters

• Azure storage analytics

Cloud Ready

(Paas)

Configuration

Storage

Session

Database

Azure On premises Both

Check if running in Azure

and use accordingly

Blob: File handling class Table: Interface to SQL Server

Queues: Abstraction layer

(always with a configuration

switch)

Configure at web.config

level

web.config

app.config

Blob: File Storage

Table: SQL Server

Queues: MSMQ

Memory, SQL Server,

Cache

SQL Server

ServiceConfiguration

.csdef and .cscfg

Azure Storage

Memory, SQL Azure,

Azure Storage, Cache

SQL Azure

Use the common

subset of functionality.

Isolate other features

SAL?

wrap up

Many Applications could benefit from migrating to a mixed deployment. Migrating to web/worker roles or taking advantage of other Windows Azure services (storage, cache etc..)

Simplified Deployment and Configuration Health Model Easy High Availability Instance Scalability OS Patching Automatic Firewall Configuration Simple Certificate Deployment Many others

Use Virtual Machines and VNET for Forklift Migration

(more)Q&A

Luis Alves Martins luis.martins@microsoft.com

thank

Recommended