49

Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Embed Size (px)

Citation preview

Page 1: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil
Page 2: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Arquitetura de Referência na Plataforma Microsoft e Windows AzureAPPI 301Alexandre Ricardo NardiConsultor SêniorMicrosoft Brasil

Page 3: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Arquitetura “pra” quê?The Winchester “Mystery” House

38 anos de construção – 147 operários e 0 arquitetos160 salas – 40 quartos, 6 cozinhas, 2 subsolos, 950 portas65 portas para paredes, 13 escadas abandonadas, 24 clarabóias no chãoSem sequer um rascunho de arquitetura

Page 4: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

AgendaApresentar uma visão sobre capacidades de uma plataforma de aplicações.

Apresentar uma introdução sobre computação em nuvem e o Windows Azure.

Page 5: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil
Page 6: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Serviços de Desenvolvimento

Serviços de Integração

Serviços de Hospedagem

Serviços de Armazenamento e BI

Serviços de Segurança

Serviços de Gerenciamento

Pilares da Plataforma de Aplicações

Plataforma de Aplicações

Um modelo de capacidades para a plataforma Microsoft

Page 7: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

VS2010, UML, Unit Test, Coded UI Test, .NET Framework, Share Point, SQL Server, TFS

BizTalk, ESB Toolkit, UDDI 3.0, SQL Server, SSIS, SharePoint

Windows Server AppFabric, WAS, IIS, Windows Azure, Azure AppFabric

SQL Server, Master Data Services, SSIS, StreamInsight, SQL Azure

WIF, ADFS 2.0, ForeFront, AD, SQL

System Center Suite, Opalis, AVICode

Pilares da Plataforma de Aplicações

Plataforma de AplicaçõesDesenvolvimento

Integração

Hospedagem

Armazenamento

Gerenciamento

Segurança

Um modelo de capacidades para a plataforma Microsoft

Page 8: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Bac

k-E

nd

Ser

vice

s

Mid

dle

Tier

C

lient

s

Fron

t-End

C

lient

s

Arquitetura geral de serviços

• Serviços oferecem funcionalidades para inúmeros clientes.

• Aplicações RIAs consomem serviços, por exemplo.

• Dados são acessados indiretamente através de serviços.

• Podemos trabalhar com inúmeros modelos de serviços.

Web Browser & RIA

WPF & WinForms

ASP.NET Pages

Mobile Clients

Outros Serviços

WCF Services• Implementa Entidades, Tarefas e Serviços• Provê Acesso a Dados• Exporta a Lógica da Aplicação

AJAX

Silverlight

Cal

l Dire

ctly

Page 9: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Opções de serviços

• Entre Web Services SOAP e serviços workflows, diferentes fatores devem ser avaliados na aplicação.

Bac

k-E

nd S

ervi

ces

Middle Tier Clients

Front-End Clients

WCF Services• Definido através de código• Modelos de serviços por entidades

Cal

l Dire

ctly

WCF Workflow Services• Definição visual (gráfica)• Suporte para processos de longa duração • Modelo de serviços por tarefas.

Page 10: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Windows Server AppFabricMonitoração e Hospedagem de serviços e workflows

IIS | WAS | Windows Server

AppFabric

WCF Services

WCF Workflow Services

Page 11: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

O que é WCF?Windows Communication Foundation

Serviço

WCF

Cliente

Métodos

Behaviors

Named Pipes

TCPSOAP HTTP

filasMSMQ

Transações

Web Services

Hospedagem

Outros protocolos

Page 12: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

O que é WF?Windows Workflow Foundation

WF Runtime

WCF

Cliente

TransaçõesPersistência

Named Pipes

TCPSOAP HTTP

filasMSMQ

Workflows e Processos

Page 13: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

WCF Workflow Service Application

Template WCF Workflow Service para cenários de SOA

Page 14: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Exemplo de processos no mundo real

Page 15: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Exemplo de workflow com WF4

Page 16: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Windows Server AppFabricMonitoração e Hospedagem de serviços e workflows

Page 17: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Arquitetura de Referência .NET on-premise

Arquitetura de Referência para uma aplicação .NET

on-premises (local)

Page 18: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Tipos de ArquiteturaSegundo o App Arch Guide v2.0

Web ApplicationRich Client ApplicationRich Internet ApplicationMobile ApplicationService ApplicationHosted and Cloud Services / ApplicationOffice Business ApplicationSharePoint LOB Application

http://apparchguide.codeplex.com/

Page 19: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Web Application

ASP.NET WebForms 4.0ASP.NET MVC 3ASP.NET AJAX 4.0ASP.NET Chart ControlASP.NET Dynamic Data

Page 20: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Windows Application

Rich Application:WPF 4.0WCF 4.0WF 4.0MEFManaged Extensibility Framework

Page 21: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

RIA Application

Rich Internet Application:

Silverlight 4.0WCF RIA ServicesWCF Data ServicesREST, POX, JSON, ATOM, OData, etc.

Page 22: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Orientação a Serviços

WCF 4.0WF 4.0PLINQDynamic Language RuntimeIIS 7.5/WASWindows Server AppFabric

Page 23: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Application Architecture Guide v2http://apparchguide.codeplex.com/

Page 24: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Templates prontos no Visual Studio

Page 25: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Arquitetura de Referência Corporativa

Page 26: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Diagrama Conceitual de Arquitetura de Composição

Acesso ProgramáticoRSS REST Web Services VoiceXML

Apresentação WebStatic Dynamic RIA Streaming

AplicaçãoRegras de NegócioRegras de Apresentação

SMTP SMSSOAP

Camada ClienteCliente PC

Browser Office Desktop

ComputaçãoFísico Dedicados Físico Compartilhado Virtual Simples Virtual Dinâmico

Fundações

Camada InfraestruturaIdentidade / AcessoMensageriaPersistência Workflows

Async Queue/Bus Peer to PeerBlob Human WF System WFRelacionalArq Autenticação AutorizaçãoTable

PortalPagesWeb Parts Search

Conteúdo MultimidiaImagens

Cliente MobileSpeech SMS/IM Browser Office Client

EmbeddedDevices ConsolesGadgets IM

On Premises Hoster Cloud

Integração Serviços CorporativoEIS LDAPProtocolos AdaptadoresVideos Streaming

Processos de Negócios

Gerenciam

ento / Monitoração / Q

oS

Camada Aplicação

Page 27: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Acesso ProgramáticoRSS REST Web Services VoiceXML

Apresentação WebStatic Dynamic RIA Streaming

AplicaçãoBusiness Logic (Worker Role)Presentation (Web Role)

SMTP SMSSOAP

Software Aplicativo

Software ClienteCliente PC

Browser Office Client Gadgets IMCliente Mobile

Speech SMS/IM Browser Office ClientEmbedded

Devices Consoles

On Premises Hoster Cloud

ComputaçãoPhysical, Dedicated Physical, Shared Virtual, Single Virtual, Scalable

Fundações

InfraestruturaIdentity & AccessMessagingStorage Workflow

Async Queue/Bus Peer to PeerBlob Event Based Worker BasedRelationalFile Authentication AuthorizationTable

Arquitetura de ComposiçãoUm portal hospedado na infraestrutura local

Page 28: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Acesso ProgramáticoRSS REST Web Services VoiceXML

Apresentação WebStatic Dynamic RIA Streaming

AplicaçãoBusiness Logic (Worker Role)Presentation (Web Role)

SMTP SMSSOAP

Software Aplicativo

Software ClienteCliente PC

Browser Office Client Gadgets IMCliente Mobile

Speech SMS/IM Browser Office ClientEmbedded

Devices Consoles

On Premises Hoster Cloud

ComputaçãoPhysical, Dedicated Physical, Shared Virtual, Single Virtual, Scalable

Fundações

InfraestruturaIdentity & AccessMessagingStorage Workflow

Async Queue/Bus Peer to PeerBlob Event Based Worker BasedRelationalFile Authentication AuthorizationTable

Arquitetura de ComposiçãoUma aplicação hospedada no Windows Azure

Page 29: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Pontos importantes…

Avaliar as capacidades de plataforma que são críticas para suas soluções

Trabalhar com o modelo de grupos de capacidades

Monitoração, segurança, hospedagem, BI & armazenamento, integração, desenvolvimento

Adotar arquiteturas de referências para tipos de aplicações e cenários existentes

Page 30: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Computação em Nuvem

Estendendo a arquitetura local (on-premise) para a nuvem

Page 31: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Diagrama Conceitual de Arquitetura de Composição

Acesso ProgramáticoRSS REST Web Services VoiceXML

Apresentação WebStatic Dynamic RIA Streaming

AplicaçãoRegras de NegócioRegras de Apresentação

SMTP SMSSOAP

Camada ClienteCliente PC

Browser Office Desktop

ComputaçãoFísico Dedicados Físico Compartilhado Virtual Simples Virtual Dinâmico

Fundações

Camada InfraestruturaIdentidade / AcessoMensageriaPersistência Workflows

Async Queue/Bus Peer to PeerBlob Human WF System WFRelacionalArq Autenticação AutorizaçãoTable

PortalPagesWeb Parts Search

Conteúdo MultimidiaImagens

Cliente MobileSpeech SMS/IM Browser Office Client

EmbeddedDevices ConsolesGadgets IM

On Premises Hoster Cloud

Integração Serviços CorporativoEIS LDAPProtocolos AdaptadoresVideos Streaming

Processos de Negócios

Camada Aplicação

Page 32: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

É um estilo de computação que oferece escalabilidade

massiva de recursos computacionais com tecnologias de Internet e provisionamento

dinâmico.

O que é Cloud Computing?

Page 33: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

TEMPO

CA

PAC

IDA

DE

DA

TI

Carga Atual

Alocação de capacidades

“Desperdício“ de capacidades

“Falta“ de capacidades

Custo fixo das capacidades contratadas

Previsão de Carga

Custo Inicial de Hardware

Capacidade ociosa com a redução da

carga

Custos com infraestrutura própriaOn-premise

Page 34: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Carga Atual

Alocação de capacidades

Redução dos investimentos

iniciais

Redução do “excesso de

TI“

Sem “falta“ de capacidades

Redução das capacidades nos

momentos de redução da carga

TEMPO

CA

PAC

IDA

DE

DA

TIPrevisão de

Carga

Computação como serviçoProvisionamento dinâmico

Page 35: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Tipos de Serviços

Software-as-a-Serviceconsumir

“SaaS”

Platform-as-a-Serviceconstruir“PaaS”

Infrastructure-as-a-Servicehospedar

“IaaS”

Page 36: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

O que é o Windows Azure?Uma plataforma como serviço (PaaS)

Controlador da Malha de Servidores

empresas usuários

Internet

Page 37: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Plataforma Windows Azure

Experiência do DesenvolvedorUsa as mesmas ferramentas e conhecimento atual

Compute

Storage

Management Connectivity Access controlFlexible

APIsInformation Marketplace

Reporting

Relational data

Management

Data SyncReporting &

BI

Billing & Payments

Flexible APIs

Information Marketplac

e

Page 38: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Patterns de aplicação para o Windows Azure

Page 39: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Negócio: fazer processamento batch periódico.Cenário: Análise de risco de crédito feito mensalmenteExemplo: Análise de Risco, Simulações de Monte Carlo

Negócio: demanda crescente de usuários e requisiçõesCenário: Sindicalização digital, startups, eCommerce, etc.Exemplo: Associated Press Breaking News API

uso médioCo

mpu

taçã

o

tempo

“Crescimento Rápido”

Com

puta

ção

tempo

“On / Off”

médiouso

PeríodoInativo

Patterns para a nuvem

Page 40: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Patterns para a nuvem

Negócio: tratar de forma segura picos de demanda em seu negócio.Cenário: campanhas de marketing, vendas de tickets, situações de emergência.Exemplo:

Negócio: responder a picos de uso dentro do ciclo de negócio previsto.Cenário: sistemas de eCommerce, portal interno de pagto, websites corporativos

Exemplo:

Com

puta

ção

tempo

“Carga não prevista”

Uso médio Com

puta

ção

tempo

“Carga sazonal”

Uso médio

Page 41: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Plataforma de Serviços na Nuvem

Page 42: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Plataforma Windows Azure

Experiência do DesenvolvedorUsa as mesmas ferramentas e conhecimento atual

Compute

Storage

Management Connectivity Access controlFlexible

APIsInformation Marketplace

Reporting

Relational data

Management

Data SyncReporting &

BI

Billing & Payments

Flexible APIs

Information Marketplac

e

Page 43: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

SQL Azure

Um banco de dados relacional na nuvem.Modelo de programação simétricoAcesso via ADO.NET, ODBC, TDS v7.3+Administração via SQL Server Management Studio ou pelo portal SQL Azure

Data Sync

Database Reporting

Page 44: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

SQL Azurehttps://windows.azure.com/Default.aspx

Page 45: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Windows Azure AppFabric

Conexões seguras entre serviços e publicaçãoAzure AppFabric Service Bus

Controle de acesso baseado em declaraçõesAzure AppFabric Access Control

Caching de dados para aplicações na nuvemAzure AppFabric Caching

CachingService Bus

Access Control

Page 46: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Palestras Relacionadas

APPI 302 - Hospedagem de serviços e workflows com o Windows Server AppFabric Hosting

APPI 303 - Aplicações de alto desempenho e Cache Distribuído com o Windows Server AppFabric

APPI 304 - Monitoração integrada de serviços e workflows com o Windows Server AppFabric

APPI305 - Criando aplicações prontas para nuvem

Page 47: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Recursos

Recursos para IT Pros

Recursos para Desenvolvedores

http://technet.microsoft.com/pt-br

http://msdn.microsoft.com/pt-br

Getthefreemobileappforyourphonehttp://gettag.mobi

Getthefreemobileappforyourphonehttp://gettag.mobi

Page 48: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

Não esqueça de preencher sua

avaliação onlinewww.teched.com.br/

avaliacao

Getthefreemobileappforyourphonehttp://gettag.mobi

Page 49: Arquitetura de Referência na Plataforma Microsoft e Windows Azure APPI 301 Alexandre Ricardo Nardi Consultor Sênior Microsoft Brasil

© 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.