setembro, 2010 | sÃo paulo. luciano condé arquiteto de soluções microsoft [email protected]...
TRANSCRIPT
SETEMBRO, 2010 | SÃO PAULO
Luciano CondéArquiteto de SoluçõesMicrosoft
[email protected]/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
31
Client library / WCF bindings
32
Use REST+XML para montar o seu
33
Usando Service Management API
Luciano CondéArquiteto de Soluções | Microsoft
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
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
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
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
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