• Like
  • Save
Deploy de aplicações ASP.NET para a nuvem: além dos livros e blogs [MVP ShowCast 2013 - DEV - Desenvolvimento Web]
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,327 views

Palestra: Deploy de aplicações ASP.NET para a nuvem: além dos livros e blogs ...

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

Statistics

Views

Total Views
1,327
Views on SlideShare
866
Embed Views
461

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 461

http://fabriciosanchez.com.br 461

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 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.
    • 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
    • SESSÃO: DESENVOLVIMENTO Introdução Windows Azure © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • 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
    • 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.
    • SESSÃO: DESENVOLVIMENTO Preparando o Visual Studio ♦ © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • SESSÃO: DESENVOLVIMENTO Preparando o Visual Studio ♦ © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • 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
    • 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)
    • 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.
    • 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.
    • 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.
    • SESSÃO: DESENVOLVIMENTO Criando novos projetos (web roles) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • 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.
    • 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.
    • 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.
    • 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
    • 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
    • SESSÃO: DESENVOLVIMENTO Evoluindo... Considerações sobre “estados” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • SESSÃO: DESENVOLVIMENTO Considerações sobre “estados” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • 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
    • 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
    • SESSÃO: DESENVOLVIMENTO Considerações sobre “sessões” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • SESSÃO: DESENVOLVIMENTO Considerações sobre “sessões” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • 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
    • 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.
    • SESSÃO: DESENVOLVIMENTO Considerações sobre “sessões” © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • 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.
    • 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.
    • SESSÃO: DESENVOLVIMENTO Aprofundando... Tópicos avançados © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • 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.
    • SESSÃO: DESENVOLVIMENTO Multi-tenancy © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB
    • 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.
    • 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.
    • SESSÃO: DESENVOLVIMENTO Perguntas & Respostas © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. TRILHA: DESENVOLVIMENTO WEB