desenvolver server apps é fácil, certo? web server database web server web server auction web app...

38

Upload: internet

Post on 22-Apr-2015

114 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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
Page 2: 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

Novidades do Windows Azure AppFabricCOS304

Evilázaro AlvesMVP – MCBMSS – MCTS – MCP - SOACPBr Soluções Integradashttp://www.evilazaro.com.br@Evilazaro

Page 3: 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

AgendaDesafios da construção de apps distribuídasWindows Azure AppFabricComo é usado?Futuro

Page 4: 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

Desenvolver Server Apps é fácil, certo?

Page 5: 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

WebServer

Database

WebServer

WebServer

WebService

WebService

WebService

Cache

Cache

Cache

Workflow

Workflow

Workflow

Identity& Access

Auction Web App

Auction Service Items and

Bids

Items and Bids

Cache

Session State

Checkout Service

Payment Provider

Seller Fulfillmen

t

Payment Provider

Payment Provider

Messaging

Routing

Transforms

Messaging

Middle-Tier

Criação e Gerenciamento de Aplicações

Middle-Tier é especialmente complexa

Page 6: 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

… coloque “Nuvem” em seu cenário …

Page 7: 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

…. talvez não tão fácil, depois disto.

Page 8: 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

Mas existe um “middleware” para ajudar com tudo isso…

Page 9: 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

… todos os tipos de middleware

Modelos de Prog.

Ferramentas

Gerenciamento

Config & Scaling

Webservices

Caches

Workflows

Access Controls

Routing, MessagesTransforms

Deployment de Sistema Operacional em ambiente físico/virtual

Modelos de Prog.

Ferramentas

Modelos de Prog.

Ferramentas

Modelos de Prog.

Ferramentas

Modelos de Prog.

Ferramentas

Gerenciamento

Config & Scaling

Gerenciamento

Config & Scaling

Gerenciamento

Config & Scaling

Gerenciamento

Config & Scaling

Page 10: 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

Gerenciamento

Gerenciamento

Gerenciamento

Gerenciamento

GerenciamentoDeploy & Gerenciamento

Modelos de Prog.

Ferramentas

Modelos de Prog.

Ferramentas

Modelos de Prog.

Ferramentas

Modelos de Prog.

Ferramentas

Modelos de Prog.

Ferramentas

Modelo & ferramenta de programação (compor Apps, simplificar a abordagem em todos os níveis)

Config & Scaling

Config & Scaling

Config & Scaling

Config & Scaling

Config & Scaling

Multi-Tenant, Elasticidade, Escalonamento Horizontal, Performance

Webservices

Caches

Workflows

Access Controls

Routing, MessagesTransforms

Deployment de Sistema Operacional em ambiente físico/virtual

Appliance Box Cloud

Integração das Capacidades

Page 11: 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

Modelo de programação & ferramentas compor Apps, simplificar a abordagem em todos os níveis

AppFabric Container

AppFabric – Middleware de Nova Geração

Deploy & Gerenciamento

Webservices

Caches

Workflows

Access Controls

Routing, MessagesTransforms

Appliance Box Cloud

Databases

Web Servers

NET +

AppFa

bri

c C

om

posi

tion M

odel &

Tools

Gere

nci

am

ento

AppFa

bri

c

Multi-Tenant, Elástico, Escalonamento Horizontal, Performance

AppFabric Services

Access Control

Cache

Workflow

Web Services

Service Bus

Integration

Page 12: 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

Windows Azure AppFabric

Access Control

Cache

Workflow

Web Services

Service Bus

Integration

Page 13: 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

Cache

• Como você escala sua aplicação e gerencia o crescimento da carga?

• Como fazer para obter melhor desempenho,latências e acesso a dados reduzido?

• Como você armazena dados “mash-ups” de vários repositórios de dados?

• Como você gerencia Session State ASP.NET e Caching?

• Como você faz tudo isso com um modelo de custo previsível?

Access Control

Workflow

Web Services

Service Bus

Integration

Page 14: 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

Windows Azure AppFabric Cache

• Um cache distribuído, em memória para aplicativos em execução no Azure:– Cache em memória localizado próximo a suas

aplicações Azure– Baseado no Windows Server AppFabric Caching

• Benefícios:– Altamente escalável com baixa latência e alta taxa

de transferência– Pode aumentar e diminuir dinamicamente, sem

implantar ou modificar seu aplicativo– Usuário não precisa se preocupar com a

configuração, implantação ou gerenciamento de sua infra-estrutura de cache

Cache

Page 15: 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

Principais recursos e benefícios

• Integra-se facilmente a aplicativos existentes

– Modelo de cache a parte– Uma API para servidor e nuvem– ASP.NET Session State Provider– ASP.NET Page Output Caching Provider

• Baixa latência com Cache Local• Armazena em cache qualquer

objeto que seja serializado do CLR– Não há custos de serialização para o

cache local

• Protegido com access control

Cache

Web Role

DB

Sessions

Reference Data

Activity Data

Resource Data

Output

Local Cache

Page 16: 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

Capacidade de Cache

• Disponível em vários tamanhos– 128 MB, 256 MB, 512 MB, 1 GB, 2 GB, 4 GB

• Use a combinação desses tamanhos ou vários destes para criar sua capacidade de cache desejado

• Aumentar/diminuir a capacidade de cache dinamicamente

• Dados preservados quando o aumento da capacidade

Cache

Page 17: 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

Cache

• Como você trata o desacoplamento entre subsistemas?

• Como você equilibra o trabalho entre serviços? • Como você transfere mensagens de forma

confiável e transacional?• Como você “alcança” sistemas on-premise que

estão protegidos por um Firewall?• Como você organiza e descobre EndPoints de

serviços?

Access Control

Workflow

Web Services

Service Bus

Integration

Page 18: 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

Windows Azure AppFabric Service Bus

• Serviços interconectados através de várias redes– Naming e Discovery– Conectividade com NAT e Firewall Traversal– Autorização integrada ao Access Control

• Middleware baseado em nuvem e orientado a mensagem– Tecnologia de Enfileiramento de mensagem de

próxima geração– Publicação/assinatura com filtragem– Integração de transação

Service Bus

Page 19: 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

QueueP C

Queues!

Armazenamento confiável e durável – até 1GB por Queue*.Queues permanecem no sistema, uma vez criado, sem limites de TTL256KB tamanho máximo de mensagens, permite o agrupamento de sessionsMensagens utilizando API, WCF, e Interfaces HTTP/REST

*Limitado a 100MB por Queue para o CTP

Page 20: 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

Topics!

TopicP S

S

S

C

C

C

Todos os recursos de Queues + Publicação/AssinaturaAté 2000 assinaturas em um tópicoCada assinatura é uma queue virtual e obtem cópias da mensagemAssinaturas podem ter filtros e ações

Page 21: 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

Service BusFornece envio seguro de mensagens e conectividade em topologias de rede diferentesPermite aplicações hibridas se comunicarem. Ex: On-premises + CloudPermite vários protocolos de comunicação e padrões para desenvolvedores enviarem mensagens confiáveis

Page 22: 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

Permite aplicações hibridasDatacenter

LOB web

service

LOB app

Partner

Mobile Device

Page 23: 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

Enabling hybrid applicationsDatacenter

LOB web

service

LOB app

Partner

Mobile Device

SB

ACS

Page 24: 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

Enabling hybrid applicationsDatacenter

LOB web

service

LOB app

Partner

Mobile Device

SB

ACS

Page 25: 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

Enabling hybrid applicationsPartner

Mobile Device

Datacenter

LOB web

service

LOB app

SB

ACS

Page 26: 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

Enabling hybrid applicationsPartner

Mobile Device

Datacenter

LOB web

service

LOB app

SB

ACS

Page 27: 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

demo

Usando o Service Bus

Page 28: 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

Cache

Access Control

Workflow

Web Services

Service Bus

Integration

• Como você protege os limites de seu sistema?• Como você autorizar usuários com base em funções ou

grupos?• Como você provê acesso federado com o Active

Directory corporativo?• Como você utiliza Facebook, Google, Live ID ou ID do

Yahoo?• Como você gerencia identidades de serviço?• Como você concede ou revoga acesso dinamicamente?• Como você obtem tokens de acesso a outros sistemas?• Como você fornece extensibilidade segura para

aplicações?

Page 29: 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

Windows Azure AppFabric Access Control

• Identidade federada e Autorização para qualquer aplicativo– Web, Desktop, Mobile– Provedores de identidade:

• Facebook, Google, Yahoo, Live ID• Active Directory Federation Services 2.0• OAuth 2, OAuth WRAP• WS-Trust 1.3

– Formatos de Tokens• OAuth WRAP SWT• SAML 1.1, SAML 2.0

• Regras de autorização

Access Control

WS-*

Google, Yahoo

OAuth 2.0

FacebookWebsites and web servicesLive ID

OAuth WRAP

Access Control ServiceOpen ID Rules

Page 30: 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

• Como você faz o deploy de suas aplicações?• Como você adiciona recursos e escala sua aplicação?• Como você gerencia a configuração ao dimensionar?• Como você lida com composições com monitoração

de Estado e sem monitoração de Estado?• Como realizar updates sem downtime?• Como você gerencia o ciclo de vida de execução do

aplicativo?• Como você torna seu aplicativo altamente

disponível?• Como monitorar o uso?• Como você isola os inquilinos?

Access Control

Workflow

Web Services

Service Bus

Integration

Cache

Page 31: 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

Gerenciador de Aplicativos do Windows Azure AppFabric

• Infra-Estrutura de Servidor de Aplicativos– Deployment– Ciclo de vida de execução– Dimensionamento– Alta disponibilidade– Isolamento– Gerenciamento de Recursos– Roteamento– Monitoramento de Uso

Workflow

Web Services

Page 32: 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

AppFabric Roadmap

H2 2011

General AvailabilityCaching

CTP RefreshApplication Manager

General AvailabilityAccess Control

ReleaseService Bus enhancements

Q2 2011

General AvailabilityCaching

CTPApplication Manager

General AvailabilityAccess Control

CTP RefreshService Bus enhancements

Q1 2011

CTP RefreshCaching

CTP RefreshAccess Control

CTPIntegration

Page 33: 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

Resumo

AppFabric é um middleware de nova geração

Blocos de construção para desenvolvimento de aplicações reaisCache, Service Bus, Access Control, “Container”Appliance, Box, e Cloud

Page 34: 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

Palestras RelacionadasAPPI303 | Aplicações de alto desempenho e Cache Distribuído com o Windows Server AppFabric

APPI304 | Monitoração integrada de serviços e workflows com o Windows Server AppFabric

APPI305 | Cenários de Integração on-premise com a nuvem

APPI302 | Hospedagem de serviços e workflows com o Windows Server AppFabric Hosting

Page 36: 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

Recursos

Recursos para IT Pros

Recursos para Desenvolvedores

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

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

Getthefreemobileappforyourphone

http://gettag.mobi

Getthefreemobileappforyourphone

http://gettag.mobi

Page 37: 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

Não esqueça de preencher sua

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

avaliacao

Getthefreemobileappforyourphone

http://gettag.mobi

Page 38: 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

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