SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

MVP ShowCast 2013
Deploy de aplicações ASP.NET para a nuvem:
além do...
SESSÃO: DESENVOLVIMENTO

Agenda
♦Introdução
♦Preparando seu site para Windows Azure
Ferramentas
Tipos de projetos
Configur...
SESSÃO: DESENVOLVIMENTO

Introdução

Windows Azure

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio d...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Visão geral do Windows Azure

x

© 2013, MVP ShowCast. Evento organi...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Começando...

Preparando sua aplicação para o
Windows Azure

© 2013,...
SESSÃO: DESENVOLVIMENTO

Preparando o Visual Studio
♦

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoi...
SESSÃO: DESENVOLVIMENTO

Preparando o Visual Studio
♦

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoi...
SESSÃO: DESENVOLVIMENTO

Criando...

Criando aplicações para cada
ambiente

© 2013, MVP ShowCast. Evento organizado por MV...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

A primeira coisa a ter em mente…
Existem 3 grandes ambientes para de...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Web Roles
Web Role
Um container para executar aplicações web no mode...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Web Sites (WAWS)
Windows Azure Web Sites
Um container para executar ...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Virtual Machines
Windows Azure Virtual Machines
Um servidor virtual ...
SESSÃO: DESENVOLVIMENTO

Criando novos projetos (web roles)

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil co...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Criando novos projetos (web roles)
Novo projeto

Novas referências

...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Criando novos projetos (web sites)
♦ Um projeto para ser executado n...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Criando novos projetos (web sites)
♦Se quiséssemos, por exemplo, vis...
SESSÃO: DESENVOLVIMENTO

Criando novos projetos (VM’s)

Neste caso, para que as aplicações
funcionem corretamente, elas de...
SESSÃO: DESENVOLVIMENTO

Demo

Uma aplicação ASP.NET MVC
rodando no Windows Azure
Web Sites, Web Roles e Servidores Virtua...
SESSÃO: DESENVOLVIMENTO

Evoluindo...

Considerações sobre “estados”

© 2013, MVP ShowCast. Evento organizado por MVPs do ...
SESSÃO: DESENVOLVIMENTO

Considerações sobre “estados”

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apo...
SESSÃO: DESENVOLVIMENTO

Considerações sobre “estados”
Se ambiente de host para a aplicação
for uma “web role”, atente par...
SESSÃO: DESENVOLVIMENTO

Considerações sobre AJAX
As requisições do cliente podem não ser
direcionadas para a mesma instân...
SESSÃO: DESENVOLVIMENTO

Considerações sobre “sessões”

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apo...
SESSÃO: DESENVOLVIMENTO

Considerações sobre “sessões”

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apo...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Considerações sobre “sessões”

Utilize Windows Azure Caching
Utilize...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Considerações sobre “sessões”
Opção 1: SQL Azure “depósito” de sessõ...
SESSÃO: DESENVOLVIMENTO

Considerações sobre “sessões”

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apo...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Considerações sobre “sessões”
♦Serialize e criptografe o conteúdo da...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Demo

Um esquema de login baseado em
cookie para uma app ASP.NET MVC...
SESSÃO: DESENVOLVIMENTO

Aprofundando...

Tópicos avançados

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil co...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

DNS de alta performance
www.suaapp.com

© 2013, MVP ShowCast. Evento...
SESSÃO: DESENVOLVIMENTO

Multi-tenancy

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft....
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Considerações sobre uploads
♦Ao utilizar web roles, você deverá preo...
SESSÃO: DESENVOLVIMENTO

TRILHA: DESENVOLVIMENTO WEB

Considerações sobre bancos de dados
♦Existem basicamente duas aborda...
SESSÃO: DESENVOLVIMENTO

Perguntas & Respostas

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Mi...
Próximos SlideShares
Carregando em…5
×

Deploy de aplicações ASP.NET para a nuvem: além dos livros e blogs [MVP ShowCast 2013 - DEV - Desenvolvimento Web]

1.667 visualizações

Publicada em

Palestra: Deploy de aplicações ASP.NET para a nuvem: além dos livros e blogs
Palestrante: Fabrício Lopes Sanchez (MVP ASP.NET/IIS)
Realização: 13/11/2013 12h
Trilha: Desenvolvimento Web
Sessão: Desenvolvimento
Evento: MVP ShowCast 2013
Site: http://mvpshowcast.azurewebsites.net

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.667
No SlideShare
0
A partir de incorporações
0
Número de incorporações
564
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Deploy de aplicações ASP.NET para a nuvem: além dos livros e blogs [MVP ShowCast 2013 - DEV - Desenvolvimento Web]

  1. 1. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB MVP ShowCast 2013 Deploy de aplicações ASP.NET para a nuvem: além dos livros e blogs Fabrício Lopes Sanchez ASP.NET/IIS Chief Executive Officer (CEO) – Conio Soluções em Tecnologia @SanchezFabricio © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  2. 2. SESSÃO: DESENVOLVIMENTO Agenda ♦Introdução ♦Preparando seu site para Windows Azure Ferramentas Tipos de projetos Configurações ♦Considerações sobre “estados” Statelessness AJAX Gerenciamento de seções no Windows Azure ♦Tópicos avançados DNS Upload de arquivos © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  3. 3. SESSÃO: DESENVOLVIMENTO Introdução Windows Azure © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  4. 4. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Visão geral do Windows Azure x © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. x
  5. 5. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Começando... Preparando sua aplicação para o Windows Azure © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  6. 6. SESSÃO: DESENVOLVIMENTO Preparando o Visual Studio ♦ © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  7. 7. SESSÃO: DESENVOLVIMENTO Preparando o Visual Studio ♦ © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  8. 8. SESSÃO: DESENVOLVIMENTO Criando... Criando aplicações para cada ambiente © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  9. 9. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB A primeira coisa a ter em mente… Existem 3 grandes ambientes para deployment de aplicações no Windows Azure. Ao criar um projeto, isto deve estar claro para o desenvolvedor/arquiteto. Roles (Web & Worker) (PaaS flexível) Windows Azure Websites (PaaS) Estes ambientes podem facilmente integrar-se © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. Virtual Machines (IaaS)
  10. 10. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Web Roles Web Role Um container para executar aplicações web no modelo PaaS que suporta personalizações de ambiente (startup tasks). Suas principais características: ♦ SLA de 99,9% (desde que hajam no mínimo 2 servidores) ♦ Balanceamento de carga automático ♦ Reclicagem automática de servidores ♦ Suporta personalizações no ambiente ♦ Escala “infinita” ♦ Cada publish é um publish completo isto é, não é incremental/diferencial. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  11. 11. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Web Sites (WAWS) Windows Azure Web Sites Um container para executar aplicações web no modelo PaaS que não suporta personalizações de ambiente. Funciona como um host tradicional. Suas principais características: ♦ Modelos de host: gratuito, compartilhado e padrão. ♦ Suporta auto escala. ♦ Suporta: ASP, ASP.NET e PHP com SQL Server ou MySQL. ♦ Publish via Web Deploy (incremental/diferencial) ou FTP. ♦ Não há reciclagem de servidores. ♦ SLA de 99,9%. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  12. 12. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Virtual Machines Windows Azure Virtual Machines Um servidor virtual (com Windows ou Linux) que pode ser 100% configurado de acordo com as demandas exigidas pela aplicação. Características: ♦ Atualização, licenciamento e manutenção do ambiente fica por conta do cliente. ♦ Ambiente 100% personalizável via RDC. ♦ Templates prontos (Linux e Windows). ♦ Publish via Web Deploy ou FTP (depende da configuração). ♦ SLA neste caso se aplica a VM e aos servidos de rede. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  13. 13. SESSÃO: DESENVOLVIMENTO Criando novos projetos (web roles) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  14. 14. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Criando novos projetos (web roles) Novo projeto Novas referências Adição do trace no web.config © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  15. 15. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Criando novos projetos (web sites) ♦ Um projeto para ser executado no Windows Azure Web Sites não possui requisitos prévios, como para as web roles. ♦ Basta criar seu projeto ASP.NET e realizar a publicação. ♦ Note as diferenças entre as abordagens: © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  16. 16. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Criando novos projetos (web sites) ♦Se quiséssemos, por exemplo, visualizar as diferentes configurações, bastaria fazer: © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  17. 17. SESSÃO: DESENVOLVIMENTO Criando novos projetos (VM’s) Neste caso, para que as aplicações funcionem corretamente, elas devem seguir as especificações do servidor virtual. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  18. 18. SESSÃO: DESENVOLVIMENTO Demo Uma aplicação ASP.NET MVC rodando no Windows Azure Web Sites, Web Roles e Servidores Virtuais (VM’s) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  19. 19. SESSÃO: DESENVOLVIMENTO Evoluindo... Considerações sobre “estados” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  20. 20. SESSÃO: DESENVOLVIMENTO Considerações sobre “estados” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  21. 21. SESSÃO: DESENVOLVIMENTO Considerações sobre “estados” Se ambiente de host para a aplicação for uma “web role”, atente para as dicas: Não existe armazenamento de estado em instâncias individuais. Pedidos em sequência não cairão na mesma instância. Não se esqueça que tudo é gerado dinamicamente pela view, inclusive imagens. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  22. 22. SESSÃO: DESENVOLVIMENTO Considerações sobre AJAX As requisições do cliente podem não ser direcionadas para a mesma instância de onde partiu a chamada inicial. Portanto, não gere um conteúdo e deixe no servidor para recuperar com AJAX mais tarde. Utilize os “MachineKey” junto com ViewStates, já que todas as instâncias possuem a mesma chave de máquina. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  23. 23. SESSÃO: DESENVOLVIMENTO Considerações sobre “sessões” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  24. 24. SESSÃO: DESENVOLVIMENTO Considerações sobre “sessões” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  25. 25. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Considerações sobre “sessões” Utilize Windows Azure Caching Utilize SQL Azure © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. Utilize cookies
  26. 26. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Considerações sobre “sessões” Opção 1: SQL Azure “depósito” de sessões (SQL Server Session State) Aplicação viaja até o banco de dados a cada requisição ♦ Efetua leitura quando a requisição é iniciada ♦ Grava a atualização quando a requisição termina Você pode ainda habilitar a compressão de sessões e escalar ao longo de múltiplos bancos de dados (storage partition). A grande vantage aqui é o baixo custo do SQL Azure. A desvantagem é o baixo desempenho. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  27. 27. SESSÃO: DESENVOLVIMENTO Considerações sobre “sessões” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  28. 28. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Considerações sobre “sessões” ♦Serialize e criptografe o conteúdo das sessões em Cookies. ♦Atualmente Cookies podem atuar como excelentes provedores de estado de sessões. ♦Cookies permitem incrementar consideravalmente performance. ♦Os Cookies podem ser consultados a cada nova requisição. ♦Imagens devem ser servidas à aplicação de outras formas não voláteis (Azure Blobs, por exemplo). © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  29. 29. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Demo Um esquema de login baseado em cookie para uma app ASP.NET MVC Aplicação “Cadê meu medico?” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  30. 30. SESSÃO: DESENVOLVIMENTO Aprofundando... Tópicos avançados © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  31. 31. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB DNS de alta performance www.suaapp.com © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  32. 32. SESSÃO: DESENVOLVIMENTO Multi-tenancy © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
  33. 33. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Considerações sobre uploads ♦Ao utilizar web roles, você deverá preocupar-se sempre com upload de arquivos. Seguem algumas dicas: ♦ Busque sempre a opção de armazenamento não volátil. ♦ Criar blobs com containers de nomes sugestivos. ♦ Faça o upload para estes containers e consuma em sua aplicação. ♦ Nunca realize upload no mesmo servidor de aplicação (lembre-se, ele deixará de existir a qualquer momento). ♦ Opte sempre que possível, pela geo-replicação. ♦ Procure utilizar HTTPS sempre. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  34. 34. SESSÃO: DESENVOLVIMENTO TRILHA: DESENVOLVIMENTO WEB Considerações sobre bancos de dados ♦Existem basicamente duas abordagens em relação a migração de bancos de dados como serviço (PaaS): ♦ Migração via ferramenta específica (SQL Database Migration, por exemplo) ♦ Migração manual, rodando o script gerado pelo Management Studio do SQL Server. ♦Para situações mais complexas, a segunda opção mostra-se mais eficiente. © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  35. 35. SESSÃO: DESENVOLVIMENTO Perguntas & Respostas © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB

×