SETEMBRO, 2010 | SÃO PAULO. Otavio Pecego Coelho Arquiteto Chefe Microsoft Brasil Projetando Aplicativos.

Slides:



Advertisements
Apresentações semelhantes
Passo a passo: Configuração de Login no ASP.NET
Advertisements

Encontro Computação em Nuvem
INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Implantação e implementação de recursos do SQL Server 2005 Publicado em: dezembro de 2005 Migração para o SQL Server 2005 na Microsoft.
Banco de Dados I Aula 20.
Personalização Objecto Profile. 1 O objecto Profile O objecto Profile permite armazenar informação única de um utilizador. Quando o utilizador visita.
Conhecendo o VS2008: Windows Forms X Web Forms X Web Services
BD em.NET: Passo a passo conexão com SQL Server 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Curso Técnico de Informática
Motor de Armazenamento
Banco de Dados Oracle AESO.
Daniel Paulo SQL Server 2008 Módulo III Daniel Paulo
Módulo 4: Gerenciando o acesso aos recursos
DOCUMENTO CONFIDENCIAL DA MICROSOFT Set 2009 | Página 1 | Apresentação para BDMs.
Presenter: Adedeji S. Adekoya (Dj). As soluções de gerenciamento das VMs. Hyper-V console. Power Shell : CMDlets System Center Virtual Machine Manager.
SETEMBRO, 2010 | SÃO PAULO. Utilizando o AppLocker para proteger seu ambiente da execução de aplicações não autorizadas C Ó DIGO DA SESS Ã O: CLI307 Rodrigo.
Rodrigo Cristiano Silva
Mongo db Base de dados NoSQL - Nuno Peralta - João Proença GUGA
Introdução ao Windows Azure
Microsoft® Lync™ 2010 Treinamento do Representante
Microsoft® Lync™ 2010 Treinamento do Aplicativo de Grupo de Resposta
Ú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.
Arquitetura e Configuração do Windows Server AppFabric
Módulo 2. Compute Storage Management Connectivity Access control Flexible APIs Information Marketplace Reporting Relational data Management Data Sync.
Sistemas Distribuídos
Auditoria de um ambiente SQL Server 2008 R2
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
As 10 coisas mais importantes que você deve saber sobre o Windows legítimo Aviso legal As informações contidas neste documento representam o ponto de vista.
MapReduce Conceitos e Aplicações
SQL Server 2012 Integridade de Dados
MVP Virtual Conference 2013
XIV Jornada de Cursos .NET com C# Antônio Júnior Bruno Inojosa.
Banco de dados.
SETEMBRO, 2010 | SÃO PAULO. Instruções gerais (hidden slide): Título: Nível Técnico: Audiência foco: Objetivos (quais são as três principais mensagens.
Sistemas Operacionais
Microsoft Azure Apresentação de visão geral para parceiros
SISTEMAS OPERACIONAIS I
Segurança para a Internet no trabalho Proteja a empresa, os clientes e seus dados online.
O primeiro passo para a nuvem
Academia de Ensino Superior 2007 O Ciclo de Dados.
@daibert Solutions Architect Hewlett-Packard Brasil
Sistemas Operacionais
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.
SQLite Banco de Dados II.
Concurrent Versions System (CVS) Alexandre Monteiro.
Infra-Estrutura de Software
SETEMBRO, 2010 | SÃO PAULO. Luciano Condé Arquiteto de Soluções Microsoft blog.msdn.com/conde twitter.com/luconde Trace, Log, Provisionamento.
Migrando uma aplicação para Windows Azure COS305 Rogerio Cordeiro Developer Evangelist Microsoft Brasil.
SETEMBRO, 2010 | SÃO PAULO. Instruções gerais (hidden slide): Título: Nível Técnico: Audiência foco: Objetivos (quais são as três principais mensagens.
SETEMBRO, 2010 | SÃO PAULO 14/07/2010 4:47 PM
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.
Windows Server Versões Sistema de Arquivos Características Domínio
Distributed Data-Parallel Computing Using a High-Level Programming Language TL1 Programação com Objetos Distribuídos Claiton Luiz Vieira Lisboa.
Conhecendo e Migrando para SQL Azure DBP 202 Diego Nogare MVP SQL Marcondes Alexandre MVP
Microsoft Students to Business
Exemplo de LSMW com Batch-Input
Microsoft SQL Server Instruções para instalação/ recuperação de bancos de dados no SQL Server.
INTRODUÇÃO AO MIRRORING Artur Santos
AMAZON WEB SERVICES AULA DEMONSTRATIVA. AMAZON WEB SERVICES Começou a atuar no ramo de computação em nuvem em Provê serviços de infraestrutura de.
Students to Business – 2011/1 Fase 2. aGENDA O que é um banco de dados? Onde aplicamos o banco de dados? Laboratório: Navegando no SQL Server Management.
Computação em Nuvem Felipe Carvalho UFES 2009/2 Windows Azure.
Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.
Ferramentas e Suporte Multiplataforma Cliente Servidor ComputadorTelefoneTV Nuvem.
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Encontro SQL BH April 2016 Melhores Práticas para Utilizar as Policies no SQL Server 2014.
Integrando Big Data ao OLTP com Polybase. Hadoop Cluster.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
1 Arquitetura e JSF Gustavo Wagner
SETEMBRO, 2010 | SÃO PAULO. Israel Aece Desenvolvedor.NET Microsoft MVP, MCP, MCAD, MCTS, MCPD e MCT Site:
SETEMBRO, 2010 | SÃO PAULO. Israel Aece Desenvolvedor.NET Microsoft MVP, MCP, MCAD, MCTS, MCPD e MCT Site:
Transcrição da apresentação:

SETEMBRO, 2010 | SÃO PAULO

Otavio Pecego Coelho Arquiteto Chefe Microsoft Brasil Projetando Aplicativos para a Escalabilidade - Tirando o melhor da Plataforma Windows Azure C Ó DIGO DA SESS Ã O: COS304

Agenda Provisionamento Dinâmico Armazenamento de Estados Upgrade de Versões Sharding SaaS: Personalização e Isolamento de Dados Cache Distância Código-Storage Filas Continuações Monitoração Grid Computing Pequenos Patterns Práticas para a Diminuição de Custos

Provisionamento Dinâmico

Via Portal Via Visual Studio csmanage /view-deployment /hosted- service:dpe_demos /slot:staging /view- deployment /name:dpe_demos Build automático: 09/09/29/deploying-to-the-cloud-as-part-of- your-daily-build.aspx

Provisionamento via csmanage.exe

Armazenando Estados A A B B A?

Armazenando Estados

P1P2

Armazenando Estados s s s s s s

2) Table (Table Session Size: 64K Max) 1) Table Storage (Table + Blob) 3) SQL Azure

Resumo (serve para Membership, Role, Profile, Session State) CapacidadeAzure TableSQL Azure ElasticidadeSim.Limitado pelos 50GBs PreçoVariável: Transação + Armazenamento Custo fixo ao mês Remoção quando a sessão termina Não. Implementar um WorkerRole para a limpeza DesempenhoMelhor que SQL quando muitos usuários oncorrentes Melhor que SQL quando poucos usuários oncorrentes EscalabilidadeMaior escalabilidadeEscalabilidade via particionamento Referênciashttp://blogs.msdn.com/b/jnak/ archive/2009/11/19/using-the- sample-windows-azure-asp-net- providers.aspx ure/archive/2010/08/04/ aspx

Upgrades de Versões

Utilizando o Upgrade Domain (UD) Passo 1: Upgrade dos roles que entendem ambas as versões Step 2: Instale a nova versão UD0UD1UD2UD0UD1UD2

Mudança de Esquema – Upgrade p/ Cliente V1.5 Cliente V1.5 Tem a classe com a nova propriedade Se a entidade está na versão V1 Guarda o valor default na nova propriedade Não faça upgrade da versão da entidade Cliente V1 Ignora a nova propriedade, uma vez que está usando “IgnoreMissingProperties” Partition Key Row Key Version…..Property N PK1RK11 PK2RK21 …… Cliente V1 Cliente V1 Cliente V1 Cliente V1 Cliente V1.5 Cliente V1.5 Nova Property Default Cliente V1.5 Cliente V1.5

Schema Change – Upgrade to V2 Cliente Cliente V2 Faz update das linhas p/ V2 (no seu primeiro uso) e começa a colocar valores reais nas novas propriedades Cliente V1.5 Se a entidade está na versão V1 Guarda o valor default na nova propriedade e não muda a versão Se a entidade está na versão V2 Usa o novo valor e faz o seu update Partition Key Row Key Version…..Property N PK1RK11 PK2RK21 …… Cliente V1 Cliente V1 Cliente V1 Cliente V1 Cliente V1.5 Cliente V1.5 Cliente V1.5 Cliente V1.5 Nova Property Default 2 Valor1 Cliente V2 Cliente V2 Cliente V2 Cliente V2 Default Valor2

Sharding P1P2P3

Sharding

Multi-Inquilino – Isolamento de Dados Cliente ACliente BCliente C CREATE DATABASE ClienteX AS COPY OF [source_server_name.] DBTemplate Open Cliente(X)

Multi-Inquilinos - Personalização TenantID Inquilino int TenantName nvarchar EmployeeId Employee int FirstName nvarchar LastName nvarchar CustomizationID Customization int Value nvarchar TypeID Type int Name nvarchar CLRType nvarchar 1 * * 1 * 1 * *

Multi-Inquilinos - Personalização TenantID Inquilino 1 TenantName Brazil EmployeeId Employee 1 FirstName Luis LastName Lula CustomizationID Customization 1 Value TypeID Type 1 Name CLRType string 1 * * 1 * 1 * * CodPostal

Multi-Inquilinos - Personalização TenantID Inquilino 2 TenantName USA EmployeeId Employee 1 FirstName Barak LastName Obama CustomizationID Customization 2 Value TypeID Type 2 Name CLRType string 1 * * 1 * 1 * * ZipCode Esquema Fixo Se aplica a Todos Inquilinos Customizável Por Inquilino Pode ser p/ ambos inquilinos

Personalização

Cache Ready Only Windows Azure Drives Windows Azure Content Delivery Network ReadWrite: hed/Release/ProjectReleases.aspx?ReleaseId=3551 Futuro: AppFabric Cache

Lease Snapshot Windows Azure Drives

Windows Azure Content Delivery Network Windows Azure Blob Service Windows Azure Blob Service pic1.jpg Content Delivery Network Content Delivery Network Localização do CDN Para habilitar o CDN:  Registre CDN via Dev Portal  Container público  pic1.jpg Não disponível! pic1.jpg TTL

Distância Código & Dados – Code Far

Distância Código & Dados – Code Near

Filas e Processamento em Background

Melhores Práticas para Filas ISerializable Idempotência Mensagens Envenenadas

OBS: Nem sempre precisamos de Work Roles

Escalando a Vazão das Filas Junte itens de trabalho em Blobs agrupe vários itens de trabalho num Blob Enfilere uma mensagem que aponta para o Blob OU Use Múltiplas Filas Job Manager Responsável por adicionar e remover filas Workers Precisam determinar que filas usar Escolha aleatória via uma Lista de Filas Ou escolha centralizada no Job Manager

Continuação para itens que rodam durante muito tempo Diminuir retrabalho em falhas Algoritmo Quebre o item de trabalho em pedaços menores e repetitivos Guarde o progresso depois de cada passo indexando pelo item de trabalho Em caso de erro, procure o último passo daquele item de trabalho na tabela Recomece a partir do ponto de falha Cuidado c/ erros persistentes

Continuação para itens que rodam durante muito tempo Diminuir retrabalho em falhas Algoritmo Quebre o item de trabalho em pedaços menores e repetitivos Guarde o progresso depois de cada passo indexando pelo item de trabalho Em caso de erro, procure o último passo daquele item de trabalho na tabela Recomece a partir do ponto de falha Cuidado c/ erros persistentes

Monitoração e WatchDog

Cenário Grid Computing

Master Cliente Data Worker “Map” M Quantas letras ”e”’encontramos na frase “The quick brown fox jumps over the lazy dog”? M

Master Cliente Result Worker “Reduce ” L 3 letras ”e” encontradas

Web Role Cliente Data Worker Data Aplicação Cliente Job/Task Scheduler Serviço Remoto Fila Req Tabela

MapReduce

Pequenos Cuidados

Boa Prática: Retry

Boa prática – Diminuindo o Polling

Batch Update // loop de inserções for (int index = 0; index < newBlogs.Length; index++) { context.AddObject(newBlogs[index]); } // loop de deleções for (int index = 0; index < deletedBlogs.Length; index++) { context.DeleteObject(deletedBlogs[index]); } // loop de updates for (int index = 0; index < updatedBlogs.Length; index++) { updatedBlogs[index].Rating++; context.UpdateObject(updatedBlogs[index]); } // Operações CUD executadas num único batch. DataServiceResponse response = context.SaveChanges( SaveChangesOptions.Batch );

Arquitetura para Diminuição de Custos Compartilhamento de CPU Compressão: CPU X Tamanho de Memória Número de Transações – Batch Update

Resumo A Plataforma Azure provê alta escalabilidade e disponibilidade Existem um conjunto de Patterns de Design e Operação suportados pela Plataforma Azure Aplique os Patterns apresentados de acordo com o que o seu aplicativo necessita. Cuidado com a Falta de Arquitetura ! Cuidado com o Excesso de Arquitetura !

Capacidades da plataforma Windows Azure Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network COS302 | SQL Azure - Cenários de Uso, Migraçao e Operaçao COS401 | Trace, Log, Provisionamento e Monitoraçao no Azure COS201 | Plataforma Azure AppFabric - utilizando o Service Bus e o Access Control Services COS303 | Movendo Aplicativos para a Nuvem COS304 | Projetando Aplicativos para a Escalabilidade - Tirando o melhor da Plataforma Windows Azure SIA305 | Segurança no Desenvolvimento para Windows Azure DBP308 | Sincronizando dados com a nuvem através do SQL Azure Data Sync e Sync Framework 2.0 INT303 | Integrando Moodle com plataforma Microsoft COS301 | Desenvolvendo para o Azure

© 2008 Microsoft Corporation. Todos os direitos reservados. Microsoft, Windows, Windows Vista e outros nomes de produtos s ã o ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros pa í ses. Este documento é meramente informativo e representa a vis ã o atual da Microsoft Corporation a partir da data desta apresenta çã o. Como a Microsoft deve atender a condi çõ es de mercado em constante altera çã o, este documento n ã o deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft n ã o pode garantir a precis ã o de qualquer informa çã o fornecida ap ó s a data desta apresenta çã o. A MICROSOFT N Ã O D Á QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPL Í CITA OU ESTATUT Á RIA, REFERENTE À S INFORMA ÇÕ ES DESTA APRESENTA ÇÃ O.

Por favor preencha a avaliação