Nuvens híbridas: Conectando aplicações locais com a nuvem na plataforma Windows Azure COS302 @daibert Solutions Architect Hewlett-Packard Brasil Agenda Uma discussão sobre tipos de aplicações locais (on-premise) e assessment para a nuvem. Mecanismos para a integração entre aplicações locais (on-premise) e o Windows Azure. Plataforma Windows Azure Storage Compute Management Reporting Relational data Billing & Payments Management Data Sync Connectivity Access control Flexible Flexible APIs APIs Information Marketplac e Information Reporting & Marketplace BI Cenários de desenvolvimento para a nuvem Três cenários possíveis de desenvolvimento: Vamos iniciar um novo projeto, pensado para a nuvem; Vamos estender uma aplicação existente (onpremise), que terá algumas funcionalidades na nuvem; Vamos mover uma aplicação existente (on-premise) para a nuvem. Escolhendo aplicações para a nuvem Uma lista geral sobre… TIPOS DE APLICAÇÕES ON-PREMISE Grupos & tipos de aplicações Business Management Application Aplicações para Gerenciamento de Negócios Business Productivity Application Aplicações para Produtividade Core Infrastructure Application Aplicações de Infraestrutura Web Applications Aplicações Web Outras Aplicações Business Productivity Business Intelligence (BI) Workspaces Colaborativo & Portais Enterprise Content Management Enterprise Search (Busca) Unified Communications (UC) e outras aplicações para produtividade do negócio… Business Management Channel integration Customer Relationship Management (CRM) E-commerce Electronic payment E-market platform Engineering Enterprise Resource Management (ERM) Financial Office Suites Operations and Manufacturing Payroll Project and Portfolio Management Sales / Marketing Tools Simulation / Analytics Supply Chain Management (SCM) Other Business Management Application Core Infrastructure Aplicações para desenvolvimento & teste Mobilidade Segurança Storage Software / Armazenamento Sistemas de gerenciamento de redes Sistemas de monitoração de ambiente e outras Core Infrastructure Application Web Application Blog Platform E-shopping Gaming Platform Real time media streaming Social networking Stored media streaming distribution Websites, Wikis, etc. entre outras aplicações para a Web… Aspectos importantes a considerar sobre… APLICAÇÕES PARA A NUVEM Considerações para aplicações na nuvem Dados da aplicação O estado deve ser replicado diretamente pela aplicação ou através de um storage de dados. Instalação & Configuração da Applicação Configuração de passo único, em cache ; sem passos de instalação de longa duração. Escalabilidade da Aplicação A aplicação deve escalar horizontalmente (scale-out); não verticalmente (scale-up). Dependências da Aplicação A aplicação deve rodar em plataforma de nuvem sem necessidades especiais de hardware. Limites de Latências Sistemas compartilhados na nuvem podem não garantir latência baixa/uniforme entre os componentes da aplicação. Necessidade de Conectividade Necessidades de conectividade Intra / Inter aplicações devem estar claras. Sensibilidade dos Dados Nuvens públicas podem exigir o uso de criptografia de dados para cenários sensíveis. Regulamentos e Conformidades Localização e tipos de preocupações com a nuvem. ASSESSMENT GERAL DE APLICAÇÕES Uma proposta de Assessment… Algumas perguntas importantes que permitem analisar o comportamento e necessidades de sua aplicação onpremise. Assessment de aplicações para o Windows Azure – 1/2 http://blogs.msdn.com/b/wcamb/archive/2011/05/12/assessmentde-aplica-231-245-es-para-o-windows-azure-parte-1-2.aspx Assessment de aplicações para o Windows Azure – 2/2 http://blogs.msdn.com/b/wcamb/archive/2011/05/13/assessmentde-aplica-231-245-es-para-o-windows-azure-parte-2-2.aspx Confira e faça seus comentários… Qual é a melhor forma de classificar sua aplicação quanto ao grupo de aplicação? 1. Business Management Application Aplicações para Gerenciamento de Negócios 2. Business Productivity Application Aplicações para Produtividade 3. Core Infrastructure Application Aplicações de Infraestrutura 4. Web Applications Aplicações Web 5. Outras Aplicações Qual é a melhor forma de classificar sua aplicação quanto a tecnologia aplicada? 1. Aplicação legada, baseada em tecnologias antigas ASP, VB6, COM+, C/S, etc 2. Aplicação baseada em plataforma .NET .NET 2.0, 3.0, 3.5, 4.0, ASP.NET, WCF, WF, etc. 3. Aplicação baseada em plataforma não-Microsoft Java, Delphi, PHP, Python, etc 4. Aplicação baseada em solução de prateleira CRM, SCM, ERP, BI, Portal, etc. 5. Novo desenvolvimento em plataforma .NET .NET 4.0, Visual Studio 2010 Qual é a melhor forma de descrever o tamanho de sua aplicação? 1. Grande (>10 servidores / VMs) 2. Médio (4 a 10 servidores / VMs) 3. Pequeno (<4 servidores / VMs) Quanto à integração de sua aplicação com outras aplicações locais ou na nuvem, qual é a melhor descrição? 1. 2. 3. 4. Altamente integrada (10 conexões ou mais) Moderadamente integrada (de 5 a 10 conexões) Levemente integrada (de 2 a 5 conexões) Não integrada (1 conexão) Qual é a melhor descrição para o crescimento estimado de sua aplicação ao longo do tempo? “Crescimento Rápido” Período Inativo uso médio Computação Computação “On / Off” tempo tempo “Picos previsíveis” tempo Computação Computação “Picos não previsíveis” Uso médio uso médio Uso médio tempo Arquitetura de aplicações na nuvem http://wag.codeplex.com/ Calculadora do Windows Azure http://www.microsoft.com/windowsazure/pricing-calculator/ MECANISMOS DE INTEGRAÇÃO ON-PREMISE / CLOUD Mecanismos de integração Mensageria/Conectividade na Aplicação Windows Azure Connect – O que é? Conectividade de rede segura entre on-premise e nuvem Suporta protocolos IP padrão Permite que aplicações híbridas acessem servidores on-premise. Oferece a administração remota de aplicações no Windows Azure. Setup e gerenciamento simplicado Integrado com o modelo do Windows Azure Services Suporte a Web, Worker e VM Roles Enterprise Casos de Uso Aplicações Windows Azure corporativas que exigem conectividade com o SQL Server local Migração de aplicações sem necessidade de mudanças ou realocação de recursos para acessibilidade via internet. Aplicações Windows Azure participantes de domínio de um AD on-premise Controle de Acesso para aplicações Windows Azure baseadas em contas e grupos existentes no AD local. Administração remota e troubleshooting de aplicações Windows Azure Acesso PowerShell remoto para instâncias de Azure roles. Casos de Uso Casos de Uso Como funciona? Políticas de rede gerenciadas através do portal do Windows Azure Controle granular da conectividade entre WA Roles e máquinas externas. Role A Role B Role C (multiple VM’s) Relay Configuração automática do IPsec Tunnel firewalls/NAT’s through hosted SSL-based relay Network policies enforced & traffic secured via end-to-end certificate-based IPSec DNS name resolution based on endpoint machine names Máquinas Devs. Databases Enterprise Como funciona? Roadmap Windows Azure Connect CTP 1 – Nov/2010 Agente on-premise para aplicações nãoWindows Azure Suporte para Windows Server 2008, Windows 7, Windows Vista SP1, e superiores. Release futuros Permitir conectividade usando dispositivos VPN existentes no ambiente on-premise. Administração a partir do Windows Azure Management Portal. Para saber mais… Windows Azure Connect CTP http://www.microsoft.com/windowsazure/virtualnetwork/ Cloud Computing in PaaS with Windows Azure Connect (Part 1/2) – Yung Chou http://blogs.technet.com/b/yungchou/archive/2011/05/03/cloudcomputing-of-paas-with-windows-azure-connect-1-2.aspx Cloud Computing in PaaS with Windows Azure Connect (Part 2/2) – Yung Chou http://blogs.technet.com/b/yungchou/archive/2011/05/09/cloudcomputing-in-paas-with-windows-azure-connect-2-2.aspx Mecanismos de integração Mensageria/Conectividade na Aplicação Access Control Service – O que é? Um serviços para federação de identidades e controle de acesso. Windows Identity Foundation (WIF) WS-Federation, WS-Security, WS-Trust protocols. ADFS 2.0 Integração com diretórios corporativos, como o AD. Access Control Serviço de federação de identidades, integrando com Windows Live ID, Google, Yahoo! E Facebook. Access Control – O que é? Casos de Uso Criação de contas federadas, integrando com sistemas de identidades existentes on-premise, como Active Directory (AD). Usuários corporativos acessando aplicações e serviços no Windows Azure. Customização do controle de acesso sobre aplicações e serviços na nuvem, através de grupos de usuários e níveis de acesso para a aplicação. Controle de acesso e níveis de segurança para serviços e conexões publicadas no Service Bus. Como funciona? Access Control Service Para saber mais… Access Control http://www.microsoft.com/windowsazure/appfabric/accesscontrol/ Overview of AppFabric Access Control http://msdn.microsoft.com/en-us/library/dd582780.aspx Windows Identity Foundation SDK http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c1 48b2df-c7af-46bb-9162-2c9422208504&displaylang=en Identity Developer Training Kit http://www.microsoft.com/downloads/en/details.aspx?FamilyID=C3 E315FA-94E2-4028-99CB-904369F177C0 Mecanismos de integração Mensageria/Conectividade na Aplicação Service Bus – O que é? Serviço de mensageria e conexão segura entre aplicações através da nuvem. Service Bus Habilita a integração de aplicações multi-inquilino com usuário on-premise. Integra de forma segura parceiros de fora da org. Sen d Receiv e Receiv e App 1 App 2 on-premise Estende o alcance da camada de Web Services local. Sen d Service Bus – O que é? Casos de Uso Comunicação entre aplicações através de um barramento de serviços na nuvem. Publicação de web services para sistemas e clientes fora da organização, de forma segura. Comunicação entre sistemas através de diferentes protocolos e formatos de dados. Casos de Uso Custom E-Commerce (Elasticity Focus) Application Migration Scenario http://www.microsoft.com/windowsazure/Whitepapers/CustomECommerceMigration/default.aspx Como funciona? Conectividade – integração de aplicações Service Remoting estende serviços para a nuvem Cloud Eventing notificação de eventos distribuidos para listeners remotos, através da nuvem Protocol Tunneling aplicações distribuídas interconectadas que não são web services Mensageria – escalabilidade de aplicações Load Leveling fluxo de mensagens mediado entre componentes com diferentes taxas de envio/recepção (send/receive) Loosely Connected Clients buffer de mensanges para recuperação assíncrona de clientes remotos. Roadmap AppFabric Service Bus CTP 2 – Maio/2011 Buffer de mensagens durável e Listener Load Balancing Service Bus Queues CTP – Maio/2011 Novas funcionalidades chegando em 2011 Message Buffer Enhancements (Grouping, Batching, etc.) Topics (Publish/Subscribe) Router (Push Messaging) AppFabric Connect com o BizTalk Server 2010 Para saber mais… Service Bus http://www.microsoft.com/windowsazure/appfabric/servicebus/ Windows Azure AppFabric CTP http://social.msdn.microsoft.com/Forums/en-US/appfabricctp/ An Introduction to Service Bus Queues http://daveingham.typepad.com/blog/2011/05/an-introduction-toservice-bus-queues.html Mecanismos de integração Mensageria/Conectividade na Aplicação SQL Azure Data Sync – O que é? Movimento de dados SQL Azure Cloud Cloud On-premises Cloud Obtendo dados onde você precisa Sync SQL Azure instances Sync SQL Server para o SQL Azure Sync offline apps para o SQL Azure Habilita a geo-replicação de dados. Syn c Casos de Uso Mover parte da aplicação e sincronizar seus dados Mover massas de dados em estágios, preservando infraestrutura existente Obedecer conformidades e regulações sobre os dados Controle de dados sincronizados off-premise Habilitar leitura ou leitura/escrita com scale-out Múltiplas bases sincronizadas para escalabilidade Preservar dados com geo-replicação Habilitar novos cenários Expansão da org., escritórios remotos, geo-distribuição… Como funciona? On Premises Windows Azure Local Agent Data Sync Service Sync Orchestrator Sync Orchestrator HTTPS SQL Server Sync Provider SQL Server Proxy Provider SQL Server Provider TDS SQL Server SQL Azure Roadmap SQL Azure Data Sync CTP 2 – no ar! SQL Azure Database Data Sync Service For SQL Azure Sync Retail Stores On-Premises (Headquarters) Remote Offices Para saber mais… Microsoft® SQL Azure Data Sync http://www.microsoft.com/windowsazure/sqlazure/datasync/ SQL Azure Data Sync Overview http://social.technet.microsoft.com/wiki/contents/articles/sql-azuredata-sync-overview.aspx Microsoft Sync Framework 2.1 Software Development Kit (SDK) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ee 6af141-79d0-4351-a4a0-ea89bb29dcf5&displaylang=en RESUMO Nuvem Híbrida Windows Azure AppFabric My Solution Customer Web Application AppFabric Dev Tools Customer Customer Web Services Composition Model Web Services workflows Middleware Services Caching AppFabric App Manager workflows Azure Storage Service Bus Access Control SQL Azure Resumo Existem diferentes perfis de comportamento e necessidades para aplicações É importante classificar uma aplicação quanto ao seu perfil, antes de migrá-la para a nuvem. A plataforma Windows Azure oferece diversos mecanismos de integração entre aplicações onpremise e na nuvem: SQL Azure Data Sync Service Bus Service Access Control Service Windows Azure Connect Por onde começar? Primeiro, faça um assessment sobre suas aplicações on-premise; Se estiver compondo serviços de aplicações, avalie o Service Bus e o Access Control; Se estiver otimizando o acesso a dados SQL, avalie o SQL Data Sync; Se estiver criando conexões entre sistemas onpremise e a nuvem, avalie o Windows Azure Connect; Conteúdo Relacionado Breakout Sessions (session codes and titles) Interactive Sessions (session codes and titles) Hands-on Labs (session codes and titles) Product Demo Stations (demo station title and location) Related Certification Exam Find Me Later At… Palestras Relacionadas Resource 1 Resource 2 Resource 3 Resource 4 Get the free mobile app for your phone http:/ / gettag.mobi http://technet.microsoft.com/pt-br Get the free mobile app for your phone http:/ / gettag.mobi http://msdn.microsoft.com/pt-br Não esqueça de preencher sua avaliação online www.teched.com.br/avaliacao Get the free mobile app for your phone http:/ / gettag.mobi © 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.