arquitectura para windows azure: pienso, luego existo by fernando machado

Post on 07-Jul-2015

161 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Arquitectura para Windows Azure: Pienso, luego existo Fernando Machado .NET Conf UY 2014 http://netconf.uy

TRANSCRIPT

Windows Azure ArchitectureI think, therefore I am

Fernando Machado PírizEnterprise Architect, Microsoft

@netconfuy@fmachadopiriz

Fortune 500 using Azure

>57% >250kActive websites

Greater than

1,000,000SQL Databases in Azure

>20TRILLIONstorageobjects >300 MILLION

AD users

>13 BILLIONauthentication/wk>2

MILLIONrequests/sec >1

MILLIONDevelopers

registered with

Visual Studio

Online

t

Co

mp

ute

t

Co

mp

ute

t

Co

mp

ute Inactivity period

t

Co

mp

ute

t

Co

mp

ute

t

Co

mp

ute

Cheaper

Elasticity

Pay as you go

Cloud attributes

Metered

New scenarios

Pooled and shared resources

Traditional World New, Innovative World

Cheaper Cheaper

Elasticity

Pay as you go

Pooled and shared resources

Metered

Pooled and shared resources

Metered

New scenarios

Traditional World New, Innovative World

Many features

Development lifecycle

Mean time to failure

Unknown consumption habits

On time, on budget

Slow update pace

Reliability and agility over features

Continuous development

Mean time to resolution

Detailed usage patterns

Up and running at appropriate costs

Continuous updates

Agility over features

Continuous development

Mean time to resolution

Up and running at appropriate costs

Continuous updates

Run

DeployTestBuild

Continuous integration

Continuous deployment

Automation

Source control

PowerShellAPI

Visual Studio Git support

Team FoundationServer

Visual Studio Online

Reliability over features

Mean time to resolution

Detailed usage patterns

Up and running at appropriate costs

Run

DeployTestBuild

Telemetry

Instrumentation

AppDynamics

New Relic MetricsHub

DynatraceMicrosoft System Center

Microsoft Application Insights for Visual Studio Online

Reliability over features

Up and running at appropriate costs

Health check

Health Endpoint Monitoring

Storage

Database

StorageDatabaseService AService B…

Application

CDN|

CDNApplication…

Agent

On-premises, cloud-hosted, or

third_party service

Response time: 50msStorage: 5msDatabase: 20ms…

200 (Ok)

Port 80 (http) or 443 (https)

endpoint

Stateless web servers

No session state; or distributed caching

Reliability over features

Mean time to resolution

Up and running at appropriate costs

Continuous updates

Content distribution networks

Default to async

Web development

CDNWebsites Virtual Machines

Reliability over features

Up and running at appropriate costs

Continuous updates

Caching

MemcachedCloud

Managed Cache Service

RedisCache

In−Role Cache

24 GB Distributed Cache

12 GB 12 GB

Web roles, worker roles, virtual machines

Reliability over features

Up and running at appropriate costs

Relational Key/Value Colum Family Document Graph

Azure SQL Database

SQL ServerOracleMySQL

SQL Compact

SQLitePostgres

Azure Blob Storage

Azure TableStorage

Azure CacheRedisMemcachedRiak

CassandraHBase

DocumentDBMongoDBRavenDBCouchDB

Neo4J

IaaS (virtual machines)

Storage

ACID vs BASE

AzureCache

AzureTable

Azure SQL Database

Azure Blob Storage

HDInsight(Hadoop)

PaaS (managed services)

DocumentDB

Reliability over features

Up and running at appropriate costs

Retry

Resiliency

Application Hosted service

1

2

3

500

500

200

Reliability over features

Up and running at appropriate costs

Resiliency

Circuit breaker

Closedentry / reset failuredo / if operation succeeds

return resultelse

increment failure countreturn failure

Half-openentry / reset success counterdo / if operation succeeds

increment success counterreturn result

elsereturn failure

Openentry / start timeout timerdo / return failure

Failure thresholdreached

Success countthreshold reached

Timeouttimer expired

Operationfailed

Reliability over features

Up and running at appropriate costs

Throttling

Resiliency

Feature C

Feature B

Feature A

Re

sou

rce

uti

liza

tio

n

Soft limit ofresource utilization

Time

Maximum capacity

Feature B is suspended to allow sufficient resources for applications to

use Feature A and C

T1 T2

Re

sou

rce

uti

liza

tio

n

All applications

Autoscaling starts at this point

Throttling is relaxed when autoscaling

completes

Maximum capacity after autoscaling

Maximum capacity before autoscaling

Soft limit ofresource utilization

System is throttled while autoscaling

occurs

TimeT1 T2

Reliability over features

Up and running at appropriate costs

Resiliency

Throttling

Compensating transactions

Book seat on flight 1

Book seat on flight 2

Book seat on flight 3

Reserve room at hotel 1

Reserve room at hotel 2

Compensating logic

Compensating logic

Compensating logic

Compensating logic

Compensating logic

Cancel seat on flight 1

Cancel seat on flight 1

Cancel seat on flight 1

Cancel room on hotel 1

Reliability over features

Up and running at appropriate costs

Resiliency

private async Task MyTaskAsync(SomeType param){

var result = await object.ProcessMessagesAsync(param);}

Reliability over features

Up and running at appropriate costs

Default to async

Asynchronous Messaging Primer

Reliability over features

Up and running at appropriate costs

Default to async

Sender Receiver

Message queue

Storage Queue

Service Bus Relay

Service Bus Queue

Service Bus Topic

BizTalk Services

Service Bus

Asynchronous Messaging Primer

Reliability over features

Up and running at appropriate costs

Default to async

Senders Receivers

Shared message queue

Queue-Based Load Leveling

Reliability over features

Up and running at appropriate costs

Default to async

Tasks

Service

Message queue

Messages processed at

a more constant rate

Requests received at a variable rate

Event sourcing

Reliability over features

Up and running at appropriate costs

Default to async

Presentation

Cart created

Item 1 added

Item 2 added

Item 1 added

Shipping infoadded

Event store ~~Replayed events

External systems and applications

Cart IDDate

CustomerAddress

Cart

Cart Item

Cart IDItem Key

Item NameQuantity

Materialized View

Published events

Query for current state of

entities

Questions?Thanks!

Fernando Machado PírizEnterprise Architect, Microsoft

@netconfuy@fmachadopiriz

top related