Criando aplicações prontas para nuvem APPI305

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas Distribuídos Web Services
Advertisements

Paulo Pedrosa Tiago Nogueira
Governança de TI Marcos Rodrigues Gerente Regional de TI
Conceitos Básicos de Computação O ABC da Computação.
Sistemas Operacionais
Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Marcos José
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Preço IBM Service Manager for Smart Business em torno de R$6.000,00 por usuário o preco so é mantido para empresas MidMarket / por usuário Preço referência.
Infra- Estrutura de Acesso
Performance em aplicações web – Parte I
Gerenciamento proativo de aplicações
Cloud Empresarial para o SAP
CLOUD COMPUTING IDEIA-Inst. Desenv. Educ. “Inovando o Aprendizado”
Fernando Seabra Chirigati
Computação em Nuvem.
DOCUMENTO CONFIDENCIAL DA MICROSOFT Set 2009 | Página 1 | Apresentação para BDMs.
Cleber da Paixão Rojas Rafael Xavier
Cloud Computing Universidade Federal do Rio de Janeiro
Introdução ao Windows Azure
TI para uma Instituição de Ensino Dinâmica
Jason Leznek Gerente de Grupo de Produto Cliente Windows
Última atualização: 21 de outubro de AGENDA Qual é a diferença entre serviços na nuvem e de hospedagem? Que cargas de trabalho devem ficar.
Entendendo Conceitos e Desafios Saber a importância de proteger os recursos on-premise Entender os riscos de não endereçar alguns cenários Preparar-se.
Sistemas Distribuídos
Configurando DirectAccess em 30min QS31 Rodrigo Immaginario, CISSP MVP:Enterprise Security
Instituto Superior de Engenharia de Lisboa Engenharia Informática e dos Computadores Projecto e Seminário 2009/2010 CLOUD COMPUTING Nuno Sousa
Soluções de TI seguras, integradas e continuadas H igh P erformance C omputing.
Otimizando sua TI, maximizando seus negócios
Aproveitando o diagnóstico no sequenciamento Demo Diagnósticos Linkando Pacotes com o Dynamic Suite Composition Demo Fácil de usar Aceleradores de Pacote.
Private Cloud + Public Cloud Fernando Andreazi MVP Office 365 Rodrigo Lopes Microsoft Certified Trainer
Gerenciamento de conteúdo e automação de processos de trabalho com o novo 2007 Microsoft Office system.
Sample Fill Slide for Showing Developer’s Software Code.
Microsoft Azure Apresentação de visão geral para parceiros
11 13/01/10 CLOUD COMPUTING O QUE É COMPUTAÇÃO EM NUVEM ?
Private Cloud na Prática VIR302
Intercloud Cauê R P Moresi.
Parceria Estratégica. 1.Mandic, Soluções e Parceria. 2.O que é Computação em Nuvem? 3.A Oportunidade. 4.Como se diferenciar com o modelo de negócio na.
GeneXus 9.0: SOA e Mobilidade
O primeiro passo para a nuvem
Além do Remote Desktop Services VIR 309
Processos.
Revisar casos e documentação Revisar casos e documentação Adicione e verifique os domínios SMTP Administração do DNS Configure On Premise.
Conceitos da arquitetura
@daibert Solutions Architect Hewlett-Packard Brasil
2015 International TechNet Wiki Summit 2015 DevOps: Desenvolvimento e Operações Juntos! Alan do Nascimento Carlos.
Network Virtualization: Breaking the Performance Barrier Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE Rafael.
Desenvolver Server Apps é fácil, certo? Web Server Database Web Server Web Server Auction Web App Auction Service Items and Bids Items and Bids Cache.
Infra-estrutura da tecnologia de informação
32 Bits IIS 5 e 6 32 Bits IIS 5 e 6 ASP.NET 1.1 e 2.0 ASP Clássico e COM+
Planificação de implementação É parte da estratégia Planificação de implementação É parte da estratégia Híbrido Características de compartilhame nto.
Serviço Nuvem Implantação Fabric Hyper-V Bare Metal Provisioning Hyper-V, VMware, Citrix XenServer Network Management Storage Management Update.
Migrando uma aplicação para Windows Azure COS305 Rogerio Cordeiro Developer Evangelist Microsoft Brasil.
Automação Comercial Faculdade Estácio Radial Prof. Paulo Alipio Alves de Oliveira 2010.
WINDOWS SMALL BUSINESS SERVER 2011 VISÃO GERAL. Agenda Visão Geral SBS 2011 Versões do SBS 2011 O que há de novo – Essentials O que há de novo – Standard.
Web Role SQL Azure (50 GB) SQL Azure (50 GB) É melhor ter 50 bancos de 1GB do que 1 banco de 50GB!
Gerenciando e protegendo estações de trabalho com Windows Intune WCL302 Herleson Pontes MVP | MCT | MCITP | MCSA | MCTS | MCP | MOS
Luiz Felipe Oliveira – SUNMP/MPACL
Windows Azure: computação em nuvem no melhor estilo self-service Fabrício Lopes Sanchez.
3 Mainframe 4 Cliente / Servidor Transformações na Indústria 5 Web Cliente / Servidor.
Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil
Conhecendo e Migrando para SQL Azure DBP 202 Diego Nogare MVP SQL Marcondes Alexandre MVP
Computação em Nuvem Felipe Carvalho UFES 2009/2 Conceitos Básicos.
Microsoft Students to Business
COMUNICAÇÃO Novas Ferramentas de Gestão Palestrante: Eng. Fernando Ferreira.
Cloud computing e o novo modelo de software
Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga –
Emerson Felipe GOVERNO DO ESTADO DE PERNAMBUCO ESCOLA TÉCNICA ESTADUAL MARIA EDUARDA RAMOS DE BARROS.
Angelo Gonçalves da Luz Sérgio Luis Rodrigues.  Cloud Computing é um paradigma de computação em larga escala que possui foco em proporcionar economia.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Transcrição da apresentação:

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

Agenda

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

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

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

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

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

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

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

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

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

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

Decomposição da aplicação

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

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

Comunicação assíncrona

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…

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

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

Síncrono versus Assíncrono

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

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

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

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

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 http://go.microsoft.com/?linkid=9751501

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

Windows Azure Platform Plataforma Windows Azure Windows Azure Platform http://msdn.microsoft.com/en-us/library/dd163896.aspx

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

Gerenciamento de ciclo de vida Moving Application to the Cloud http://msdn.microsoft.com/en-us/library/ff728592.aspx

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)

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

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,

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

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

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

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

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

Windows Azure Connect Overview of Windows Azure Connect http://msdn.microsoft.com/en-us/library/gg432997.aspx

Windows Azure Traffic Manager Windows Azure Traffic Manager Help

Performance Content Delivery Network (CDN) AppFabric Caching

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

Windows Azure AppFabric Service Bus AppFabric Caching AppFabric Access Control

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.

AppFabric Service Bus

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

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

AppFabric Caching

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

Windows Azure AppFabric Caching 4/12/2017 11: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.

Access Control

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

Windows Azure AppFabric Access Control Service 4/12/2017 11: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.

Palestras Relacionadas Tech Ed North America 2010 4/12/2017 11: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.

Recursos para Desenvolvedores Tech Ed North America 2010 4/12/2017 11:51 PM Recursos Recursos para IT Pros http://technet.microsoft.com/pt-br Recursos para Desenvolvedores http://msdn.microsoft.com/pt-br © 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.

Não esqueça de preencher sua avaliação online Tech Ed North America 2010 4/12/2017 11:51 PM Não esqueça de preencher sua avaliação online www.teched.com.br/avaliacao © 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.

4/12/2017 11: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.