SETEMBRO, 2010 | SÃO PAULO. Luciano Condé Arquiteto de Soluções Microsoft luconde@microsoft.com...

Preview:

Citation preview

SETEMBRO, 2010 | SÃO PAULO

Luciano CondéArquiteto de SoluçõesMicrosoft

luconde@microsoft.comblog.msdn.com/condetwitter.com/luconde

Trace, Log, Provisionamento e Monitoração no Azure

CÓDIGO DA SESSÃO: COS401

3

Ciclo de vida

Portal Hospe-dagem

Armaze-namento

SDK

Desenvolvimento Provisionar Executar

4

Quatro perguntas

5

Perguntas

Como gerencio os meus serviços na nuvem ?Como atualizo meus serviços na nuvem ?Como instrumento os meus serviços ?Como depuro os meus serviços ?

6

<1>

7

Outubro 2008

8

9

10

?

11

WINDOWS AZURE SERVICE MANAGEMENT API

12

Funcionalidades importantes do portal

13

14

15

Protocolo

16

Protocolo

REST + XML

17

Protocolo

Tudo sobre HTTPS

18

POST https://management.core.windows.net/<subscription-id>/services/hostedservices/<service-name>/deploymentslots/<slot-name>

19

POST https://management.core.windows.net/<subscription-id>/services/hostedservices/<service-name>/deploymentslots/<slot-name>

<?xml version="1.0" encoding="utf-8"?><Deployment xmlns=”http://schemas.microsoft.com/windowsazure”>

<Name>deployment-name</Name><PackageUrl>package-url-in-blob-storage</

PackageUrl><Configuration>base64-encoded-configuration-

file</Configuration><Label>base64-encoded-deployment-label</Label>

</Deployment>

20

Protocolo

21

Auth

Protocolo

22

X509 certs

23

Qualquer certificado válido

Múltiplos certificados

Adicionar/revogar a qualquer hora

24

Auth

Protocolo

25

Operações

Auth

Protocolo

26

Operações suportadas

27

C/R/U/D deployments

Role status

Change config (no. of VMs, settings, etc)

Upgrade

Storage keys

Muito mais…

28

Operações

Auth

Protocol

29

Como podemos usar?

30

csmanage.exe

32

Use REST+XML para montar o seu

33

Usando Service Management API

Luciano CondéArquiteto de Soluções | Microsoft

luconde@microsoft.com

34

Preço?

35

36

O que você pode fazer?

37http://www.flickr.com/photos/ejpphoto/2314610838/

38http://www.flickr.com/photos/balakov/3082423010/

39

40

Integrar com ferramentas e dashboards

Builds

Sistemas de monitoramento

41

</1>

42

4 de dezembro, 1996

43

44

45

46

Oh Oh!

47

48

49

50

<2>

51

Atualizar, às vezes, é muito díficil

52

3

53

+

54

2

55

Stage Deployment Production Deployment

56

Stage Deployment Production Deployment

57

1

58

Production Deployment

59

Production Deployment

(new bits)

60

Upgrade Domain

61

Production Deployment

62

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

63

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

upgradeDomainCount=“2”

64

Automatic vs Manual

65

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

upgradeDomainCount=“2”

66

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

upgradeDomainCount=“3”

67

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

upgradeDomainCount=“1”

68

Atualização em cima de uma role específica

69

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

70

Exemplo

71

Atualizando o protocolo Passo 1: Atualize as roles para que entenda ambos protocolosPasso 2: Dispare o uso da nova versão

Web Role

Cache Role

UD0

Web Role

Cache Role

UD1

Web Role

Cache Role

UD2

Web Role

Cache Role

UD0

Web Role

Cache Role

UD1

Web Role

Cache Role

UD2

Web Role

Web Role

Web Role

Código

Versão 1

Versão 1.5

Versão 2

ProtocoloVersão 1

Versão 2

Cache Role

Cache Role

Cache Role

72

Opções de in-place upgrade e swap staging e deployment

Luciano CondéArquiteto de Soluções | Microsoft

luconde@microsoft.com

73

</2>

76

Hoje, como você instrumentaa sua aplicação em produção?

78

Ambiente estáticoInstâncias bem conhecidasTransações são rastreáveis

Tenho acesso físico ao servidoresTerminal servicesDados e ferramentas juntosAlterações in-place

79

<3>

Faço da mesma maneira na nuvem?

NÃO

Porque?

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Web

Worker

Múltiplas instâncias

Não tenho acesso as máquinas

Virtualmente distribuído

86

Então como eu faço?

87

Usa o próprio Azure (APIs Standard)

SDK

Cloud-Friendly

Escalável

Developer no controle

88

Role

Role Instance

Diagnostic Monitor

Configuration

Quota enforcement

Local directory storage

Data collection(traces, logs, crash dumps)

Windows Data Sources

IIS Logs & Failed Request LogsPerf Counters

Windows Event Logs

89

Role

Role Instance

Diagnostic Monitor

Local directory storage

Request upload

Windows Azure

Storage

Scheduled or on-demand upload

Windows Data Sources

90

Quais os dados que posso pegar?

91

Usando Diagnostics API

Luciano CondéArquiteto de Soluções | Microsoft

luconde@microsoft.com

Data Source Default Configuration Como configurar Formato

Trace logsEnabled, stored locally

Diag API, Trace listener Table

Performance Counters Disabled Diag API Table

Windows Event Logs Disabled Diag API Table

Infrastructure LogsEnabled, stored locally Diag API Table

IIS LogsEnabled, stored locally

Diag API, Web.config Blob

IIS Failed Request Logs DisabledDiag API, Web.config Blob

Application Crash Dumps Disabled Diag API, Crash API Blob

Arbitrary Logs & Files Disabled Diag API Blob

93

E com o Visual Studio ?

94

Usando o Intellitrace

Luciano CondéArquiteto de Soluções | Microsoft

luconde@microsoft.com

95

</3>

96

97

98

99

100

<4>

101

Auto scaling

102

App

Diag.API

Controle

103

General Session

Luciano CondéArquiteto de Soluções | Microsoft

luconde@microsoft.com

Microsoft Data Centers

Azure Services Platform

Application Web Role

User Interface

Business Logic

Azure Storage

Table StorageVideo Metadata

Blob StorageRaw Video

Blob StorageEncoded

QueueProcess

Communication

Application Worker Role

Encoding Process

Microsoft Data Centers

Azure Services Platform

Application Web Role

User Interface

Business Logic

Azure Storage

Table StorageVideo Metadata

Blob StorageRaw Video

Blob StorageEncoded

QueueProcess

Communication

Application Worker Role

Encoding Process

106

</4>

107

Conclusões

108

Conclusões

Como gerencio os meus serviços na nuvem ?Service Management APIPortal do Windows Azure

Como atualizo meus serviços na nuvem ?Start/StopSwitchIn-place

Como instrumento os meus serviços ?Diagnostics API

Como depuro os meus serviços ?Intellitrace

Desafio: HelloCloudMinha primeira aplicação na nuvem

• Construa e publique sua aplicação no Windows Azure• Mostre sua aplicação no estande Windows Azure• Preencha o formulário• Concorra a 10 assinaturas MSDN Premium

Visite o estande de Windows Azure e saiba

todos os detalhes deste Desafio!

110

111

Capacidades da plataforma Windows Azure

Compute

Storage

Data SQL Azure Data Sync

Connectivity

Project “Sydney”

Security “Geneva”

Application ServicesFrameworks

“Dublin” “Velocity”

Service Bus

Access Control

Table Storage

Blob Storage Queue Drive

Content Delivery Network

COS302 | SQL Azure - Cenários de Uso, Migraçao e Operaçao

COS401 | Trace, Log, Provisionamento e Monitoraçao

no Azure

COS201 | Plataforma Azure AppFabric - utilizando o Service Bus e o Access Control Services

COS303 | Movendo Aplicativos para a Nuvem

COS304 | Projetando Aplicativos para a Escalabilidade - Tirando o melhor da

Plataforma Windows Azure

SIA305 | Segurança no Desenvolvimento para

Windows Azure

DBP308 | Sincronizando dados com a nuvem através

do SQL Azure Data Sync e Sync Framework 2.0

INT303 | Integrando Moodle com plataforma Microsoft

COS301 | Desenvolvendo para o Azure

112

Referências

Diagnostics API - http://msdn.microsoft.com/en-us/library/ee758705.aspx

Service Management API - http://msdn.microsoft.com/en-us/library/ee517250.aspx

Meu canal no Channel 9 - http://channel9.msdn.com/niners/luconde

Windows Azure Platform Training Kit - http://bit.ly/dgvMv0

© 2008 Microsoft Corporation. Todos os direitos reservados. Microsoft, Windows, Windows Vista e outros nomes de produtos são ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros países.Este documento é meramente informativo e representa a visão atual da Microsoft Corporation a partir da data desta apresentação. Como a Microsoft deve atender a condições de mercado em constante alteração, este

documento não deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft não pode garantir a precisão de qualquer informação fornecida após a data desta apresentação. A MICROSOFT NÃO DÁ QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, REFERENTE ÀS INFORMAÇÕES DESTA APRESENTAÇÃO.

Por favor preencha a avaliação

Recommended