A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Criando aplicações prontas para nuvem APPI305

Apresentações semelhantes


Apresentação em tema: "Criando aplicações prontas para nuvem APPI305"— Transcrição da apresentação:

1

2 Criando aplicações prontas para nuvem APPI305
Regis Gimenis Arquiteto Microsoft Brasil

3 Agenda

4

5 Evolução da computação
70’s : Monolítico 80’s : Cliente-servidor 90’s : Web 00’s : SOA 10’s : TI como Serviço

6 Computação em Nuvem Utilização de processamento, memória e armazenamento em servidores compartilhados e acessados remotamente por meio da Internet

7 Características Virtualização Padronização Resiliência Elasticidade
Monitoração Automação

8 Capacidade X Demanda Modelo Tradicional
Alocação de capacidades Previsão de Carga “Falta“ de capacidades CAPACIDADE DA TI “Desperdício“ de capacidades Custo fixo das capacidades Custo Inicial Carga real TEMPO

9 Capacidade x Demanda Modelo na Nuvem
Previsão de Carga Alocação de capacidades Sem “falta“ de capacidades CAPACIDADE DA TI Redução do “excesso de TI“ É possível a redução das capacidades no caso da redução da carga Redução dos investimentos iniciais Carga real Tempo

10 Padrões de Computação 1 2 4 3 “On / Off “ “Crescimento Rápido“
Uso Computar Time Média Período de Inatividade “On / Off “ Cargas On/Off Desperdício da capacidade provisionada Time to market pode ser retardado Uso Médio Computar Tempo “Crescimento Rápido“ Serviços que precisam cresce e escalar Crescer é um desafio grande na TI Provisionamento de hardware complexo 1 2 Computar Tempo “Carga Imprevista“ Uso Médio Pico de demanda inesperada Desempenho comprometido pelo pico Difícil provisionar nos casos extremos Computar Tempo Uso Médio “Carga Sazonal“ Serviços c/ micro sazonalidades Picos devido a demandas periódicas Complexidade da TI + desperdício 4 3

11 Modelos de Nuvem IaaS Modelo de Serviços PaaS SaaS Nuvem Privado
Público Modelo de Implantação Comunidade Híbrido

12 Infrastructure Software Platform
(On-Premises) Infrastructure (as a Service) Software (as a Service) Platform (as a Service) Applications Applications Você administra Applications Applications Data Você administra Data Data Data Runtime Runtime Runtime Runtime Administrado pelo fornecedor Middleware Middleware Middleware Middleware Você administra Administrado pelo fornecedor Administrado pelo fornecedor O/S O/S O/S O/S Virtualization Virtualization Virtualization Virtualization Servers Servers Servers Servers Storage Storage Storage Storage Networking Networking Networking Networking

13 Aplicações prontas para nuvem
Decomposição funcional Decomposição lógica Topologia (web/worker) Competição por recursos Padrões de Carga -> Unidades de Escala

14 Decomposição funcional Taxonomia do Windows
COMPONENTS: Reutilizável, auto-descrito, unidade de teste, distribuição e serviço FEATURES: Bloco de construção de produto que, em combinação com outras features ou componentes, disponibiliza um conjunto de funcionalidade ROLES: Composição de features que forma uma unidade de gerenciamento (implantação, atualização) WORKLOADS: Composição de papéis relacionados que rodam juntos num servidor ou conjunto de servidores SOLUTION: Um conjunto de workloads integrados que juntos endereçam um problema para um segmento de clientes PRODUCT: Uma solução empacotada como um produto

15 Decomposição da aplicação

16 Arquitetura Software Cliente Software Aplicativo Infraestrutura
Cliente PC Browser Office Client Gadgets IM Cliente Mobile Speech SMS/IM Embedded Devices Consoles Acesso Programático RSS REST Web Services VoiceXML Apresentação Web Static Dynamic RIA Streaming Aplicação Business Logic (Worker Role) Presentation (Web Role) SMTP SMS SOAP Software Aplicativo Infraestrutura Identity & Access Messaging Storage Workflow Async Queue/Bus Peer to Peer Blob Event Based Worker Based Relational File Authentication Authorization Table Computação Physical, Dedicated Physical, Shared Virtual, Single Virtual, Scalable Fundações On Premises Hoster Cloud

17 Padrões de carga 100 usuários 200 usuários inicial Crescimento
2 web roles 1 worker role 512 cache 5 GB storage 100 usuários simultâneos 3.000 ops/ dia 2 web roles 1 worker role 512 cache 5 GB storage 4 web roles 2 worker roles 1 GB cache 10 GB storage 100 usuários inicial 200 usuários Crescimento

18 Comunicação assíncrona

19 Padrão de projeto síncrono
SQL Azure Web App Front End WA Storage Tables Queues Requisição 1 “Trabalho” 1 Worker Resposta 1 Thread Thread Resposta 1 Bloqueia Requisição 2 AppFabric Cache Esperando…

20 Padrão de projeto assíncrono
SQL Azure Web App Front End WA Storage Tables Queues Requisição 1 “Trabalho” 1 Worker Resposta 1 Resposta 1 Thread Thread AppFabric Cache Requisição 2 “Trabalho” 2 Contexto Resposta 2 Resposta 2

21 Síncrono versus Assíncrono
Projeto síncrono Projeto assíncrono

22 Síncrono versus Assíncrono

23 Exemplo padrão assíncrono
Usuário sobe arquivo grande de imagem Imagem é inserida num blob storage Mensagem é enviada para fila com BLOB URI e metadados Worker role lê mensagem da fila Worker role processa mensagem, lê imagem do BLOB storage, gera thumbnail Thumbnail e metadados são armazenados numa tabela Mensagem é apagada da fila Web Role Storage Worker Role Web Role Table Worker Role Worker Role Worker Role Blob Container LB Queue LB

24 Exemplo com falha no Worker Role
Envio de mensagem de débido de R$100 da conta Worker role lê a mensagem Saldo da conta é debitado em R$100 Worker role “cai” antes da mensagem ser apagada 3 minutos depois, mensagem reaparece na fila Worker role lê a menagem A mensagem é apagada da fila Caos é instaurado, cliente reclama ao banco… Web Role Worker Role Web Role Worker Role Worker Role Worker Role Saldo = $800 Saldo= $900 Saldo= $1000 Problema de idempotência Storage LB Queue LB

25 Solução para problema de idempotência
Envio de mensagem de débido de R$100 da conta com ID da transação Worker role lê a mensagem e verifica se ID da transação já existe Escreve ID da transação no estado ‘Iniciado’ no ‘Replay Log’ Saldo da conta é debitado em R$100 Worker role “cai” antes da mensagem ser apagada 3 minutos depois, mensagem reaparece na fila Worker role lê a mensagem. Verifica Id da transação existente no estado ‘Iniciado’. Mensagem de compensação é escrita em outra fila Mensagem é apagada da fila. Mensagem de compensação é processada. Saldo = $900 Saldo = $1000 Web Role Worker Role Web Role Storage Worker Role Table Query Query Worker Role Worker Role Queue LB Queue LB

26

27 Compatível com Windows Azure
Aplicações Projetado para Windows Azure Disponível como Serviço Compatível com Windows Azure

28 Modelo de programação para Windows Azure
Administração Disponibilidade Escalabilidade Aplicação roda sobre um ou mais roles Múltiplas instâncias de cada role Aplicação deve continuar funcionando quando qualquer instância falhar Whitepaper: The Windows Azure Programming Model

29 Modelo típico de aplicação
Queue Table Web Role Worker Role

30 Windows Azure Platform
Plataforma Windows Azure Windows Azure Platform

31 Desenvolvimento Visual Studio 2010 Windows Azure SDK AppFabric SDK
Ferramentas / emuladores

32 Gerenciamento de ciclo de vida
Moving Application to the Cloud

33 Empacotamento e configuração
Windows Azure Services são descritos por dois importantes artefatos: Service Definition (*.csdef) Service Configuration (*.cscfg) O código é compactado e empacotado juntamente com a definição num *.cspkg Encrypted(Zipped(Code + *.csdef)) == *.cspkg Windows Azure consome apenas (*.cspkg + *.cscfg)

34 Atualização da aplicação
VIP Swap: Ambientes Staging e Production. Permite a troca rápida de ambientes. Production: v1  Staging: v2, após a troca Production: v2  Staging: v1. In-Place Upgrade Executa uma atualização sem interrupção no serviço. Todo serviço ou apenas um Role Manual ou Automático

35 Monitoramento Instrumente sua aplicação usando Trace, Debug
DiagnosticMonitorTraceListener Use Diagnostics API para configurar e coletar Logs de eventos Contadores de performance Informação de Trace e Debug Logs do IIS Crash Dumps Monitore os SLA pela combinação dos SLA’s de aplicação e plataforma. Lembre-se monitoramento e diagnóstico não são livres de cobrança: espaço de armazenamento, transferência,

36 Armazenamento Local Windows Azure Storage Windows Azure Drives
Blob Queue Tables Windows Azure Drives SQL Azure

37 Armazenamento local Instâncias Role tem espaço em disco disponível
Utilizar elemento LocalStorage na definição de serviço Name CleanOnRoleRecycle Size Persistente porém sem duração garantida Bom para recursos cacheados Windows Azure Storage Drives fornece um armazenamento durável garantido

38 Windows Azure Storage Armazenamento na Nuvem
Escalável, durável e disponível Em qualquer lugar em qualquer hora Pague somente pelo uso Exposto via RESTful Web Services Vários tipos de abstração: Tables, Blobs, Queues, Drives

39 SQL Azure Banco de dados Relatórios Sincronização de dados

40 Conectividade Windows Azure Connect Windows Azure Traffic Manager
Windows Azure AppFabric Service Bus

41 Windows Azure Connect Overview of Windows Azure Connect

42 Windows Azure Traffic Manager
Windows Azure Traffic Manager Help

43 Performance Content Delivery Network (CDN) AppFabric Caching

44 Content Delivery Network (CDN)
Melhorar desempenho e experiência do usuário Escala para aumento de tráfego e carga da aplicação.

45

46 Windows Azure AppFabric
Service Bus AppFabric Caching AppFabric Access Control

47 AppFabric: Modelo de Composição
TechReady12 4/12/2017 AppFabric: Modelo de Composição Applications AppFabric Developer Tools Workflows Web Services Custom Code Access Control Caching Service Bus Integration Composition Model AppFabric App Manager Web Tier Data Tier AppFabric Services Windows Server Windows Azure AppFabric Container SQL Server SQL Azure Server Cloud © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

48 AppFabric Service Bus

49 AppFabric Service Bus Fornece serviço de mensagens seguro e conectividade através de diferentes topologias de rede. Permite a construção de aplicações híbridas que estendem entre cloud e on-premises. Permite diferentes protocolos e padrões de comunicação para construir mensageria confiável

50 Exchange messages between loosely coupled, composite applications.
AppFabric Service Bus Text XML Graphics Binary Data Streaming Receive Receive Firewall Send Send Exchange messages between loosely coupled, composite applications. Direct Connection facilitated by Service Bus if that is best connection mechanism. Application #1 Application #2

51 AppFabric Caching

52 AppFabric Caching Cache de aplicações em memória, distribuído, para aplicações Windows Azure Usos: Session State para aplicações Windows Azure Camada de cache para aplicações Windows Azure com armazenamento em SQL Azure ou Windows Azure Storage Fornecido como serviço Provisionar, configurar e utilizar Sem instalação ou gerenciamento de máquinas ou instâncias Aumento ou redução de tamanho conforme necessidade Mesmo modelo de programação para cloud e on-premises Segurança via Access Control Faz cache de qualquer objeto .NET

53 Windows Azure AppFabric Caching
4/12/ :51 PM Windows Azure AppFabric Caching demo © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

54 Access Control

55 AppFabric Access Control Service
Simplifica e automatiza requisições de autorização Abstração para autenticação baseada em claims Relacionamento seguro Aplicações e dados Aplicações ou usuários

56 Windows Azure AppFabric Access Control Service
4/12/ :51 PM Windows Azure AppFabric Access Control Service demo © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

57 Palestras Relacionadas
Tech Ed North America 2010 4/12/ :51 PM Palestras Relacionadas APPI 301 Arquitetura de Referência na Plataforma Microsoft e Windows Azure COS301 Como utilizar o Windows Azure Storage nas suas aplicações COS302 Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windows Azure COS304 Novidades do Windows Azure AppFabric COS305 Migrando uma aplicação para Windows Azure © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

58 Recursos para Desenvolvedores
Tech Ed North America 2010 4/12/ :51 PM Recursos Recursos para IT Pros Recursos para Desenvolvedores © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

59 Não esqueça de preencher sua avaliação online
Tech Ed North America 2010 4/12/ :51 PM Não esqueça de preencher sua avaliação online © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

60 4/12/ :51 PM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Carregar ppt "Criando aplicações prontas para nuvem APPI305"

Apresentações semelhantes


Anúncios Google