AUDITÓRIO 1 
DESENVOLVIMENTO 
Por que o Cloud 
Services do Azure é o 
melhor dos mundos? 
Palestrante 
Fabrício Lopes Sanchez 
CIO na Conio Soluções em Tecnologia & ASP.NET/IIS MVP 
Twitter: @SanchezFabricio 
Blog: http://fabriciosanchez.com.br
Agenda 
• Do que estamos falando? 
• Roles != Websites 
• Cloud Services 
• Roles (web e worker) 
• Stateless 
• Deployment 
• Gerenciamento 
• Alguns cuidados no desenvolvimento 
• Por que é o melhor dos mundos? 
• Perguntas e respostas
Do que estamos falando? 
IaaS PaaS SaaS 
Cloud Services 
SQL Azure 
Azure Websites 
Armazenamento 
Mobile Services 
Media Services 
APIs 
{ ... }
Do que estamos falando? 
Cloud Services 
Web Roles 
Worker Roles
Do que estamos falando? 
Serviço de hospedagem 
Roles 
Instâncias 
Aplicação 
Web Worker 
Instância 1 Instância 2 Instância 1 Instância 2 Instância 3
Web Roles != Websites 
Azure Websites 
PaaS 100% fechado. 
Sites e aplicações pequenas. 
Web Roles 
PaaS flexível. 
Aplicações de maior escala. !=
Cloud Services. Worker Roles 
Worker Roles 
1 
Servidores virtuais com 
Windows Server sem IIS 
2 
Servidores otimizados para 
tarefas assíncronas 
3 
Operações rodam em 
background 
4 
Escolha da dimensão e a 
quantidade das máquinas
Cloud Services. Worker Roles 
Um exemplo clássico: 
Uma aplicação de envio de e-mails 
1. Página web exibe as mensagens e dispara novas 
2. Uma tabela de mensagens para serem enviadas 
3. Armazenamento de anexos e mensagens HTML 
Página web 
Gerencia listas e mensagens 
Tabelas 
Blobs 
Pilha 
Worker A 
1.Ouve mensagens. 
2. Para enviar 
mensagem, cria um 
ítem na lista para 
cada destinatário. 
Worker B 
1.Empilha os ítens. 
2. Empilha ítens 
enviados. 
3. Remove ítem da 
pilha.
Cloud Services. Web Roles 
Web Roles 
1 
Versão de servidor 
com IIS habilitado 
2 
Customizações 
possíveis 
3 
Stateless 
(não esqueça) 
4 
Múltiplos 
servidores 
5 
Gestão: portal, 
PoweShell e ASMA 
6 
2 opções de 
deployment
Cloud Services. Web Roles 
Um exemplo clássico: 
Aplicação “Cadê meu médico” 
1. Cadastro de médicos, cidades e especialidades 
2. Consulta por nome, especialidade e cidade 
Cliente 
Aplicação web (MVC) 
Instância0 Instância1 Instância2 
Serviços BD 
Web Role
Stateless 
• Web Roles possuem instâncias 
• Instâncias são servidores e possuem discos de armazenamento virtuais 
• Os servidores são stateless (quando possível) 
• Discos virtuais das VM Roles são stateless e isso pode acontecer a 
qualquer momento. Principais motivos: 
Be carefull! 
;-) 
• Recovery para uma falha de hardware 
• Desfragmentação do datacenter 
• Reorganização da farm de armazenamento 
• Dentre outros.
Deployment 
Existem basicamente, 2 formas: 
Visual Studio Deployment Tool 
Web Deploy 
Apenas incremental 
Status report bem detalhado 
Configurações via ferramenta gráfica 
Portal do Microsoft Azure 
Independe do ambiente 
Upload simplificado 
Só depende do browser e da internet 
Configurações diretamente no XML
Deployment 
Visual Studio Deployment Tool Portal do Microsoft Azure
Deployment 
Visual Studio Deployment Tool Portal do Microsoft Azure 
*.cspkg 
Armazena configurações básicas 
da aplicação em questão como: 
configurações de acesso a 
serviços, banco de dados, etc. 
*.cscfg 
Armazena informações sobre o 
ambiente de execução, como: 
número de instâncias, pontos de 
entrada, etc.
Gerenciamento 
É possível gerenciar cloud services basicamente, através de 3 maneiras: 
1. Windows PowerShell 2. Portal Web
Demos. E mais demos. 
Iiiiiiiiiiiit’s time... 
1 
Visão do portal administrativo 
2 
Worker Role no 
emulador 
3 
Web Role no 
emulador 
4 
Worker Role na 
produção 
5 
Web Role na 
produção
Algumas dicas de quem já apanhou muito 
• Servidores e armazenamento são stateless 
• Sessions? Então... Cuidado. 
• Ajax? Então... Cuidado. 
• SLA 99,95 apenas para 2 instâncias ou mais 
• CDN ajuda (e muito) 
• Cache ajuda (e muito) 
• Blobs ajudam (e muito) 
• SQL Azure ajuda (e muito) 
• Abuse de startup tasks
Por que é o melhor dos mundos? 
Você vai concordar... 
1 
Foco apenas na 
aplicação 
2 
Custo mais baixo 
que uma VM 
3 
Personalizações 
possíveis 
4 
Escala infinita 
(+performance) 
5 
Deployment 
simplificado 
6 
Sim limitação de 
banda de net
Perguntas? 
Se eu não souber, 
Ele sabe!
Obrigado por sua 
presença.

Por que Cloud Services é o melhor dos mundos?

  • 2.
    AUDITÓRIO 1 DESENVOLVIMENTO Por que o Cloud Services do Azure é o melhor dos mundos? Palestrante Fabrício Lopes Sanchez CIO na Conio Soluções em Tecnologia & ASP.NET/IIS MVP Twitter: @SanchezFabricio Blog: http://fabriciosanchez.com.br
  • 3.
    Agenda • Doque estamos falando? • Roles != Websites • Cloud Services • Roles (web e worker) • Stateless • Deployment • Gerenciamento • Alguns cuidados no desenvolvimento • Por que é o melhor dos mundos? • Perguntas e respostas
  • 4.
    Do que estamosfalando? IaaS PaaS SaaS Cloud Services SQL Azure Azure Websites Armazenamento Mobile Services Media Services APIs { ... }
  • 5.
    Do que estamosfalando? Cloud Services Web Roles Worker Roles
  • 6.
    Do que estamosfalando? Serviço de hospedagem Roles Instâncias Aplicação Web Worker Instância 1 Instância 2 Instância 1 Instância 2 Instância 3
  • 7.
    Web Roles !=Websites Azure Websites PaaS 100% fechado. Sites e aplicações pequenas. Web Roles PaaS flexível. Aplicações de maior escala. !=
  • 8.
    Cloud Services. WorkerRoles Worker Roles 1 Servidores virtuais com Windows Server sem IIS 2 Servidores otimizados para tarefas assíncronas 3 Operações rodam em background 4 Escolha da dimensão e a quantidade das máquinas
  • 9.
    Cloud Services. WorkerRoles Um exemplo clássico: Uma aplicação de envio de e-mails 1. Página web exibe as mensagens e dispara novas 2. Uma tabela de mensagens para serem enviadas 3. Armazenamento de anexos e mensagens HTML Página web Gerencia listas e mensagens Tabelas Blobs Pilha Worker A 1.Ouve mensagens. 2. Para enviar mensagem, cria um ítem na lista para cada destinatário. Worker B 1.Empilha os ítens. 2. Empilha ítens enviados. 3. Remove ítem da pilha.
  • 10.
    Cloud Services. WebRoles Web Roles 1 Versão de servidor com IIS habilitado 2 Customizações possíveis 3 Stateless (não esqueça) 4 Múltiplos servidores 5 Gestão: portal, PoweShell e ASMA 6 2 opções de deployment
  • 11.
    Cloud Services. WebRoles Um exemplo clássico: Aplicação “Cadê meu médico” 1. Cadastro de médicos, cidades e especialidades 2. Consulta por nome, especialidade e cidade Cliente Aplicação web (MVC) Instância0 Instância1 Instância2 Serviços BD Web Role
  • 12.
    Stateless • WebRoles possuem instâncias • Instâncias são servidores e possuem discos de armazenamento virtuais • Os servidores são stateless (quando possível) • Discos virtuais das VM Roles são stateless e isso pode acontecer a qualquer momento. Principais motivos: Be carefull! ;-) • Recovery para uma falha de hardware • Desfragmentação do datacenter • Reorganização da farm de armazenamento • Dentre outros.
  • 13.
    Deployment Existem basicamente,2 formas: Visual Studio Deployment Tool Web Deploy Apenas incremental Status report bem detalhado Configurações via ferramenta gráfica Portal do Microsoft Azure Independe do ambiente Upload simplificado Só depende do browser e da internet Configurações diretamente no XML
  • 14.
    Deployment Visual StudioDeployment Tool Portal do Microsoft Azure
  • 15.
    Deployment Visual StudioDeployment Tool Portal do Microsoft Azure *.cspkg Armazena configurações básicas da aplicação em questão como: configurações de acesso a serviços, banco de dados, etc. *.cscfg Armazena informações sobre o ambiente de execução, como: número de instâncias, pontos de entrada, etc.
  • 16.
    Gerenciamento É possívelgerenciar cloud services basicamente, através de 3 maneiras: 1. Windows PowerShell 2. Portal Web
  • 17.
    Demos. E maisdemos. Iiiiiiiiiiiit’s time... 1 Visão do portal administrativo 2 Worker Role no emulador 3 Web Role no emulador 4 Worker Role na produção 5 Web Role na produção
  • 18.
    Algumas dicas dequem já apanhou muito • Servidores e armazenamento são stateless • Sessions? Então... Cuidado. • Ajax? Então... Cuidado. • SLA 99,95 apenas para 2 instâncias ou mais • CDN ajuda (e muito) • Cache ajuda (e muito) • Blobs ajudam (e muito) • SQL Azure ajuda (e muito) • Abuse de startup tasks
  • 19.
    Por que éo melhor dos mundos? Você vai concordar... 1 Foco apenas na aplicação 2 Custo mais baixo que uma VM 3 Personalizações possíveis 4 Escala infinita (+performance) 5 Deployment simplificado 6 Sim limitação de banda de net
  • 20.
    Perguntas? Se eunão souber, Ele sabe!
  • 21.
    Obrigado por sua presença.