52
Plataforma Windows Azure David Chou [email protected] blogs.msdn.com/dachou Tradução: Prof. Eng. Sylvio Silveira Santos http://soa4you.wordpress.com

A plataforma Azure da Microsoft

Embed Size (px)

DESCRIPTION

Descrição da Plataforma AZURE da MicrosoftEmail: David Chou [email protected]/dachou

Citation preview

Page 1: A plataforma Azure da Microsoft

Plataforma Windows Azure

David Chou

[email protected]

blogs.msdn.com/dachou

Tradução: Prof. Eng. Sylvio Silveira Santos

http://soa4you.wordpress.com

Page 2: A plataforma Azure da Microsoft

Sistemas

Privados

(On-Premise)

Infrastrutura

(Como Serviço)

Plataforma

(Como Serviço)

Tipos de Nuvens

Armazenamento

Servidor HW

Redes

Servidores

Bases de Dados

Virtualização

Runtimes

Aplicações

Segurança & Integração

Armazenamento

Servidor HW

Redes

Servidores

Bases de Dados

Virtualização

Runtimes

Aplicações

Segurança & Integração

Armazenamento

Servidor HW

Redes

Servidores

Bases de Dados

Virtualização

Runtimes

Aplicações

Segurança & Integração

Vo

cê a

dm

inis

tra

Ad

min

istrad

o p

elo

forn

ece

do

r

Ad

min

istrad

o p

elo

forn

ece

do

r V

ocê

ad

min

istr

a

Vo

cê a

dm

inis

tra

Page 3: A plataforma Azure da Microsoft

Privativas (On-Premise)

Tipos de Nuvens

Infraestrutura (Como Serviço)

Plataforma (Como Serviço)

Page 4: A plataforma Azure da Microsoft

Recursos Abstratos

Nuvem Privada

(on-premise)

Recursos Físicos

Nuvem Pública

(off-premise)

Customização Provisionamento Fácil

Alcance Global Segurança e Privacidade

Desempenho em Tempo Real Redundancia e Resiliencia

Escalabilidade & Disponibilidade Consistencia e Controle

Um Mundo Híbrido

Homogeneidade Heterogeneidade

Page 5: A plataforma Azure da Microsoft

A Nuvem da Microsoft Aproximadamente 100 Centros de Processamento de Dados Distribuídos

Globalmente

Quincy, WA Chicago, IL San Antonio, TX Dublin, Irlanda Geração 4 DCs

Page 6: A plataforma Azure da Microsoft

Platform Services

Serviços de Software

Serviços de Aplicações

Serviços de Infraestrutura

A Nuvem da Microsoft Categorias de Serviços

Page 7: A plataforma Azure da Microsoft

A Plataforma Windows Azure Escala da Internet, uma fábrica nas nuvens de elevada disponibilidade

Data Centers da Microsoft globalmente distribuidos

Certificações ISO/IEC 27001:2005 e SAS 70 – Certificação Tipo I e Tipo II

Consumo e utilização baseado em preço justo: classe empresarial SLA

Computação – auto-

provisionamento de 64-bits;

aplicações residentes em

containers em Windows

Server VMs; suporta ampla

faixa de modelos de

aplicação

Armazenamento – Tabelas

com alta disponibilidade,

blobs e filas com serviços de

armazenamento em cache

Linguagens – .NET 3.5 (C#,

VB.NET, etc.), IronRuby,

IronPython, PHP, Java, código

nativo Win32

Dados – escalabilidade

maciça e bancos de dados

relacionais altamente

consistentes; geo-replicação

e geo-localização de dados

Processamento – relacional,

queries, buscas, relatórios,

analítica em dados

estruturados, semi-

estruturados e não

estruturados

Integração – sincronização e

replicação de bases de

dados on-premise com

outras fontes de dados

Service Bus – conectividade

de aplicações on-premise;

Web Services amigáveis,

seguros, federados, através

de fire-walls e menssageria

intermediária; queues de

informações duráveis e de

fácil descobrimento

Controle de Acesso –

Identificação federada

dirigida por regras;

federação AD; autorizações

baseadas em pedidos

Workflows – orquestrações

de serviços via atividades

baseadas em REST

Page 8: A plataforma Azure da Microsoft

Preços

Computação

• $0.12 / CPU hora

Armazenagem

• $0.15 / GB / mês

• $0.01 / 10k transações / mês

Largura de Faixa

• $0.10 in / GB

• $0.15 out / GB

Ediçaõ Web (1GB)

• $9.99 / mês

Business Edition (10GB)

• $99.99 / mês

Largura de Faixa

• $0.10 in / GB

• $0.15 out / GB

Barramento de Serviços

• $0.15 / 100k mensagens

Controle de Acesso

• $0.15 / 100k tokens

Largura de Faixa

• $0.10 in / GB

• $0.15 out / GB

Virtual Machine instances

Balanceadores de carga, roteadores, etc.

Gestão de Serviços Automatizados

- Operações da Fabric Controller

(deploy/upgrade/delete/scale)

- Programação de balanceamento de

carga

Armazenamento de Blobs

Armazenamento de Tabelas

Múltiplas réplicas

Ingresso/Egresso

(to/from sòmente

Internet)

Host OS Windows Server 2008 x64 Guest OS Windows Server 2008 Enterprise x64

Hypervisor Hyper-V CPU 1.5 - 1.7 GHz x64 equivalent

Memory 1.7GB Network 100Mbps

Transient storage 250GB

Page 9: A plataforma Azure da Microsoft

Seu serviço é conectado e acessado via Web

Os papeis diversos de acesso na Internet tem conectividade externa

>99.95%

As bases de dados são conectadas ao respectivo gateway na Internet

Monitora- mento disponivel a cada 5 minutos de intervalo

Serviços de armazena- mento de facil acesso, com elevada conectividade

Seus pedidos de armazenagemserão processados de forma bem sucedida

>99.9% >99.9%

O barramento de serviços (.NET Service Bus endpoint) terá conetividade externa

Solicitações de operação de mensagem serão processadas de forma a serem bem sucedidas

>99.9%

Tudo que está rodando é monitorado continuamente

Se o aplicativo ou rotina for corrompido, nós detectamos imediatamente e tomamos medidas corretivas

Gerenciamento Automático dos

Sistemas

Garantia de Serviços

Page 10: A plataforma Azure da Microsoft

Beneficios

DEMANDAS DE

NEGÓCIOS

DEMANDAS DE

TECNOLOGIA

OFERECIMENTOS DA PLATAFORMA

WINDOWS AZURE

• Solução efetiva em custos para gestão de recursos de TI

• Menos infra-estrutura para comprar/configurar e

suportar

• TCO mais baixo

• Custos previsiveis

• Foco na disponibilidade de software eficiente

e não em gerenciar infra-estrutura

• Monetização de novas ofertas rápidamente sem

investimento para cobranças ou outras tecnologias

habilitadoras, como pagamentos.

• Velocidade de desenvolvimento

• Inter-operacionalidade

• Aproveitamento de IP existente

• Disponibilidade simplificada na Web

• Escalonamento up ou down de acordo com

necessidade do negócio

• Acesso rápido ao mercado

• Serviço exequivel

• SLAs (Service Level Agreements)

• Segurança

• Centros globais de processamento de dados

Custos Mais

Baixos

Eficiencia

Permaneça

Competitivo

Inovação

Agilidade

Geração Rápida

de Novos

Retornos

Exequibilidade Riscos

Reduzidos

Page 11: A plataforma Azure da Microsoft

Plataformas de Escolha

Page 12: A plataforma Azure da Microsoft

Registre-se no Portal de

Desenvolvedores da

Plataforma Windows

Azure

Acesso ao Windows

Azure

Ferramentas para

desenvolvedores

White papers

Amostras de aplicações

Planeje aplicações piloto,

provas de conceitos e

sessões de projetos de

arquitetura com parceiros

Windows Azure

http://www.azure.com

Page 13: A plataforma Azure da Microsoft

Arquitetura de Aplicações

Page 14: A plataforma Azure da Microsoft

Modelos de Aplicações

Hospedagem Web

Infra-estrutura em escala maciça

Gerência de estouro e overflow

Sites temporários e ad-hoc

Hospedagem de Aplicações

Extensões “on-premise”

Aplicações compostas

Agentes automaticos / jobs

Hospedagem & Processamento

Renderização CGI

Transcodificação de conteudo

Streaming de midia

Armazenamento Distribuído

Armazenamento externo e backup

Computação de Alto Desempenho

Processamento paralelo e

distribuido

Modelagem e simulação maciças

Analítica avançada

Compartilhamento de Informação

Repositorios comuns de dados

Dados referenciados

Knowledge Mgmt e descoberta

Processos Colaborativos

Integração multi-empresarial

B2B e e-commerce

Gestão de Suprimentos

Ciências da Saude e da Vida

Serviços em dominios especificos

Page 15: A plataforma Azure da Microsoft

Arquitetura de Aplicações em Escala da Internet

Projeto

Escalonamento horizontal

Composição SOA

Consistencia eventual

Tolerancia a erros (falhas esperadas)

Segurançca

Autenticação com base em pedidos e

controle de acesso

Identidade federada

Criptografia de dados e controle de chaves

Administração

Automação direcionada por políticas

Percepção de ciclo-de-vida das aplicações

Trabalho com dados dinamicos e mudanças

de configuração

Dados e Conteúdo

De-normalização

Particionamento lógico

Distribuição em cache de memória

Diversas opções de armazenamento de

dados (lida com dados persistentes e

transientes, relacionais e não estruturados,

texto e binario, leitura e escrita, etc.)

Processos

Componentes fracamente acoplados

Processamento paralelo e distribuido

Comunicação assincrona distribuida

Idempotente (lida com duplicidade)

Isolamento (separação de atributos)

Page 16: A plataforma Azure da Microsoft

Armazenamento • Dados relacionais e transacionais

• Bases de Dados federadas

• Dados não-estruturados,

de-normalizados

• Particionamento lógico

• Persistencia de arquivos e blobs

• Armazenamento criptografado

Conectividade • Enfileiramento de mensagens

• Orquestração de serviços

• Identitdade de federação

• Controle de acesso com base em solicitações

• Conectividade a serviços externos

Apresentação • ASP.NET C#, PHP, Java

• Cache distribuído in-memory

Serviços • .NET C#, Java, codigo nativo

• Cache de memória distribuído

• Processos assíncronos

• Processos paralelos distribuídos

• Armazenamento de arquivos

transientes

Arquitetura de Aplicações em Escala da Internet

SERVICE

BUS

ACCESS

CONTROL

WORK

FLOWS

Page 17: A plataforma Azure da Microsoft

Usuário

Nuvem

Privativa

Nuvem de

Serviços

Públicos

Padrões de Aplicação

Table

Storage

Service

Blob

Storage

Service

Queue

Service

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Web Svc

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Jobs

(Worker

Role)

Silverlight

Application

Web

Browser

Mobile

Browser

WPF

Application

Service Bus

Access

Control

Service

Workflow

Service

User

Data

Application

Data

Reference

Data

Aplicações Web em Nuvem

Enterprise

Data

Enterprise

Web Svc

Enterprise

Application

Data

Service

Storage

Service

Identity

Service

Application

Service

Enterprise

Identity

Page 18: A plataforma Azure da Microsoft

Usuário

Nuvem

Privativa

Serviços

Públicos

Padrões de Aplicação

Table

Storage

Service

Blob

Storage

Service

Queue

Service

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Web Svc

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Jobs

(Worker

Role)

Silverlight

Application

Web

Browser

Mobile

Browser

WPF

Application

Service Bus

Access

Control

Service

Workflow

Service

User

Data

Application

Data

Reference

Data

Aplicação de Serviços Compostos

Enterprise

Data

Enterprise

Web Svc

Enterprise

Application

Data

Service

Storage

Service

Identity

Service

Application

Service

Enterprise

Identity

Page 19: A plataforma Azure da Microsoft

Usuário

Núvem

Privativa

Serviços

Públicos

Padrões de Aplicação

Table

Storage

Service

Blob

Storage

Service

Queue

Service

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Web Svc

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Jobs

(Worker

Role)

Silverlight

Application

Web

Browser

Mobile

Browser

WPF

Application

Service Bus

Access

Control

Service

Workflow

Service

User

Data

Application

Data

Reference

Data

Aplicação em Nuvem com Auxílio de Agentes

Enterprise

Data

Enterprise

Web Svc

Enterprise

Application

Data

Service

Storage

Service

Identity

Service

Application

Service

Enterprise

Identity

Page 20: A plataforma Azure da Microsoft

Usuário

Nuvem

Privativa

Serviços

Públicos

Padrões de Aplicação

Table

Storage

Service

Blob

Storage

Service

Queue

Service

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Web Svc

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Jobs

(Worker

Role)

Silverlight

Application

Web

Browser

Mobile

Browser

WPF

Application

Service Bus

Access

Control

Service

Workflow

Service

User

Data

Application

Data

Reference

Data

Aplicação com Integração B2B

Enterprise

Data

Enterprise

Web Svc

Enterprise

Application

Data

Service

Storage

Service

Identity

Service

Application

Service

Enterprise

Identity

Page 21: A plataforma Azure da Microsoft

Usuário

Nuvem

Privativa

Serviços

Públicos

Padrões de Aplicação

Table

Storage

Service

Blob

Storage

Service

Queue

Service

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Web Svc

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Jobs

(Worker

Role)

Silverlight

Application

Web

Browser

Mobile

Browser

WPF

Application

Service Bus

Access

Control

Service

Workflow

Service

User

Data

Application

Data

Reference

Data

Aplicações em Grade / Computação Paralela

Enterprise

Data

Enterprise

Web Svc

Enterprise

Application

Data

Service

Storage

Service

Identity

Service

Application

Service

Enterprise

Identity

Page 22: A plataforma Azure da Microsoft

Usuário

Nuvem

Privativa

Serviços

Púbublicos

Padrões de Aplicação

Table

Storage

Service

Blob

Storage

Service

Queue

Service

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Web Svc

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

ASP.NET

(Web Role)

Jobs

(Worker

Role)

Silverlight

Application

Web

Browser

Mobile

Browser

WPF

Application

Service Bus

Access

Control

Service

Workflow

Service

User

Data

Application

Data

Reference

Data

Aplicações Empresariais Híbridas

Enterprise

Data

Enterprise

Web Svc

Enterprise

Application

Data

Service

Storage

Service

Identity

Service

Application

Service

Enterprise

Identity

Page 23: A plataforma Azure da Microsoft
Page 24: A plataforma Azure da Microsoft

NEGÓCIOS CONSUMIDORES

INTERNET

Arquitetura do Windows Azure

Page 25: A plataforma Azure da Microsoft

Fabric

Compute Storage

Fabric controller

O Fabric Controller comunica-se com cada servidor dentro da Fabrica. Ele gerencia o Windows Azure, monitora cada aplicação, decide onde novas aplicações deverão rodar – otimizando a utilização do hardware.

Arquitetura do Windows Azure

Page 26: A plataforma Azure da Microsoft

Computação Provê esclabilidade das aplicações. Desenvolvedores podem criar uma combinação de papeis da web e de trabalho local. Estes papeis podem ser replicados conforme necessário para escalonamento e ampliação das aplicações e poder de processamento computacional.

Serviços de Armazenamento Permitem aos clientes fazer escalonamento e armazenamento de grandes quantidades de dados – em qualquer formato – para qualquer duração no tempo, pagando apenas pelo que usam ou armazenam.

O Fabric Controller automatiza o balanceamento de carga e calcula o escalonamento de recursos

Segurança e Características de Controle incluem armazenamento de encriptação, autenticação de acesso e criptografia “over-the-wire” com uso de HTTPS. Certificação com padrões da indústria fazem parte do roadmap do Windows Azure.

Centros de Processamento de Dados geograficamente distribuídos, “estado da arte” para armazenamento de seus aplicativos e dados, accessiveis através da Internet a partir de qualquer ponto que se queira, e por meio de diferentes plataformas e sistemas, tablets e celulares.

Arquitetura do Windows Azure

Page 27: A plataforma Azure da Microsoft

Interage com um agente inteligente “Fabric Agent” em cada máquina Monitora cada VM, aplicação e instância Realização de balanceamento de carga, check pointing e recuperação

Arquitetura do Windows Azure Fabric Controller

Page 28: A plataforma Azure da Microsoft

OBJETIVO:

ESCALABILIDADE

Gerenciamento da escalabilidade por meio da replicação de instâncias de trabalho de acôrdo com as necessidades.

Permite às aplicações fazerem o escalonamento do número de usuários e processamento computacional de modo independente.

Dois tipos de instâncias: Web Role e Worker Role As aplicações em Windows Azure são construídas dentro de instâncias - instâncias de papéis na web (web role instances), de trabalho (worker role instances), ou uma combinação de ambas.

Cada instância roda em sua própria VM (virtual machine), que é replicada de acôrdo com as necessidades

Arquitetura do Windows Azure Computação

Page 29: A plataforma Azure da Microsoft

OBJETIVO:

ARMAZENAMENTO ELÁSTICO, COM DURABILIDADE

O armazenamento do Windows Azure storage é um aplicativo gerenciado pelo Fabric Controller

As aplicações Windows Azure podem usar armazenamento nativo ou o SQL Azure

O estado de uma aplicação é mantido pelos serviços de armazenamento, de modo que os papeis dos usuários podem ser replicados conforme as necessidades

Blobs: dados volumosos, não estruturados (audio, video, etc)

Tabelas: dados estruturados simples, que podem ser acessados usando serviços de dados ADO.NET

Filas (Queues): mensagens ou solicitações acessadas de modo série, permitindo interação de papeis “web-roles” e “worker-roles”

Arquitetura do Windows Azure Armazenamento

Page 30: A plataforma Azure da Microsoft

OBJETIVO:

ADMINISTRAÇÃO E CONTROLE DE APLICAÇÕES

Fabric

O Fabric Controller automatiza o gerenciamento de serviços

Arquitetura do Windows Azure Administração dos Serviços

Page 31: A plataforma Azure da Microsoft
Page 32: A plataforma Azure da Microsoft

Proposições de Valor :

• XSPs, Server Ops

• SQL CLR

• 100% de compatibilidade

Recu

rso

s

Dedicado

Compartilhado

Baixo Alto “Fricção”/Controle

Base de

Dados SQL

Azure

(RDBMS)

Hospedagem

RDBMS

SQL Server

Proposições de Valor:

• Auto HA, Tolerância a Falhas

• Escalabilidade livre de atritos

• Auto-provisionamento

• Elevada compatibilidade

• Servidor DB virtual

• Base de Dados ´logica de

usuário (LUDB)

• Governança de recursos:

governance @ LUDB

• Segurança @LUDB

• Hospedagem SQL Server

• Recursos: governance @ VM

• Security @ SQL Server/OS

Roda seu próprio HA/DR/scale

• SQL Server “on-premises”

• Recursos: governança de

máquina

• Segurança: SQL Server/OS

Roda seu próprio HA/DR/scale

Proposições de Valor :

• Controle integral h/w –

tamanho/escala

• 100% de compatibilidade

Opcções de Armazenamento de Dados

Page 33: A plataforma Azure da Microsoft

Arquitetura do SQL Azure

SQL Azure

TDS + TSQL Model

Web App

SQL Client*

Windows Azure

Aplicação

em

Browser

Aplicação

REST Cliente

REST(Astoria)

ADO.Net +EF

Aplicação

SQL Cliente*

Nuvem

HTTP

HTTP

+R

EST

TD

S

* Acesso cliente habilitado usando TDS para ODBC,

ADO.Net, OLEDB, PHP-SQL, Ruby, …

Data

Cen

ter

ODBC, OLEDB,

ADO.Net PHP,

Ruby, …

Acesso flexivel aos dados em nuvem

• Crie aplicações cliente que acessam dados

na nuvem via TDS – como se faz no SQL

Server em sua empresa

• Crie aplicações Web na nuvem em Azure

utilizando bibliotecas padronizadas

SQLClient com uso de ADO.NET

• Crie interfaces baseadas em nuvem em

Azure com uso de interfaces de dados

baseadas em REST com ADO.NET Data

Services e Entity Framework

Nivel baixo de atrito no provisionamento

destinado ao armazenamento de dados

• Interface Web para provisionamento simples

de base de dados

• Escalonamento suave de dados dentro das

necessidades

Data Center auto-gerenciável

• Manutenção automatizada

• Elevada disponibilidade e recuperação de

dados automatizada

RDBMS de armazenamento e

hospedagem simples

Page 34: A plataforma Azure da Microsoft

• Objetivo:

– Uma plataforma de

armazenamento contruida para

escalabilidade extrema e baixo

custo

• Arquitetura:

– Uma conta Azure permite

acesso ao SQL Azure

– Cada conta pode ter um ou

mais servidores lógicos

• Implementados como servidores físicos

múltiplos dentro de uma geo-localização

– Cada servidor lógico pode

conter uma ou mais base de

dados lógicas

• Implementadas como dados replicados e

particionados através de múltiplas bases

de dados físicas

Conta Alcance global Azure

Sistema de cobrança

Servidor Metadados da Database

Unidade de autorização

Unidade geo-localização

Base de Dados Unidade de Consistência

Contém Usuários, Tabelas, Vistas, etc…

Possui uma ou mais

Possui uma ou mais

Projeto na Plataforma de Dados

Page 35: A plataforma Azure da Microsoft

Escalabilidade e Disponibilidade: Fabric, Failover, Replicação e Balanceamento de Carga

• Usa infraestrutura compartilhada na base de dados SQL database e mais:

– Cada usuário da base de dados é replicado em um ou mais servidores (configuráveis segundo SLA)

– Solicitações clientes são enviadas ao “servidor primário” para operações de leitura e escrita (com base na sessão SQL)

– Segurança, bloqueio e isolamento reforçados na conexão SQL

• Tecnologia estado-da-arte: HA de elevada escalabilidade

– Detecção automática de falhas; solicitações-cliente redirecionadas para novos servidores primários em caso de falhas

– Elevado padrão de garantia SLA por meio de replicação lógica (réplicas “hot standby”)

– Gerenciamento automático, correção automática e balanceamento de carga através de um pool de recursos

compartilhados

• A Base de Dados SQL Azure dispõe de provisionamento e infra-estrutura de cálculos de custos e cobrança

Máquina 5

Instância SQL

SQL DB Usuário

DB1

Usuário

DB2

Usuário

DB3

Usuário

DB4

Base de Dados SQL Azure : Provisionamento (Bases de Dados, Contas, Atribuições, …, Medições e Cobranças)

Máquina 6

Instância SQL

SQL DB Usuário

DB1

Usuário

DB2

Usuário

DB3

Usuário

DB4

Máquina 4

Instância SQL

SQL DB Usuário

DB1

Usuário

DB2

Usuário

DB3

Usuário

DB4

Contratos relativos ao DBA podem ser alterados com fóco no gerenciamento

presente nas políticas/lógicas de administração dos sistemas

Bases de Dados Lógicas de Usuário

Page 36: A plataforma Azure da Microsoft

• Conexões usando bibliotecas de clientes comuns

– ADO.NET, OLE DB, ODBC, etc.

• Clientes podem conectar-se diretamente às bases de dados

• Ampla superfície para SQL suportada dentro dos limites da base de dados

– Trabalho futuro deverá relaxar muitas destas restrições

Segurança

Conexões

Modelos de Segurança e Conexão

• Usa o modelo tradicional de segurança do SQL

– Autenticação de logins, mapeamento de usuários e atribuições

– Autorização para usuários e atribuições em objetos SQL

• Suporte padronizado de logins SQL

– Logins são sempre username + strings de password

– O serviço é reforçado com uso de credenciais de segurança por SSL

– Suporte (futuro) para Federação tipo AD, WLID, etc., como protocolos alternativos

de autenticação

Page 37: A plataforma Azure da Microsoft

• Contas e provisionamento de srvidores – Acesso facilitado por portais baseados em APIs

– Ex: Enumere meus servidores, mostre-me as métricas de utilização, etc

• Cada conta possui um ou mais servidores – Ex: srv123.data.database.windows.net

• Cada servidor possui uma base virtual de dados-mestre (Virtual Master Database)

– Possui um sub-conjunto do SQL Server para uma interface-mestre na base de dados (Master DB Interface)

• Cada servidor possui um ou mais logins em SQL

– O sistema cria um logi sysadmin no “server creation”

• Bases de Dados criadas usando “CREATE DATABASE”

– Podem ser chamadas por sysadmin ou por qualquer pessoa com permissão de acesso à base de dados (create DB permission)

* *

Modelo de Provisionamento

Page 38: A plataforma Azure da Microsoft

• O servidor SQL possui muitos padrões para cumprimento de suas tarefas – A base de dados do SQL Azure suporta um subconjunto

dos padrões integrais da SQL

– Com foco na lógica e políticas de administração do sistema

– Os padrões são aplicáveis tanto à base de dados do SQL Azure Database como do servidor SQL

• Isto favorece a migração de aplicações on-premise para e do SQL Azure

• A base de dados SQL Azure é um serviço multi-inquilino – Políticas para gestão de estrangulamento e de controle

de carga

– Examplos: limite nas dimensões do Banco de Dados, duração das transações, etc.

Entrada do escopo para v1

• Criar/Alterar/Cancelar algo na Base de

Dados/Indexar/Examinar

• Procedimentos armazenados (Transact-SQL)

• Disparadores (Triggers)

• Restrições

• Variáveis em tabelas, tabelas para controle de

tempo (#t)

• + muitos outros procedimentos

Saída do escopo para v1

• CLR

• Alternância de serviços (Service Broker)

• Transações distribuídas

• Pesquisas distribuidas (Distributed Queries)

• Análise espacial

• Niveis DDL em todos os serviços

• Todas as vistas físicas e de catálogos em DDL

Compatibilidade do Servidor SQL

Page 39: A plataforma Azure da Microsoft

Aplicações dem Departamentos Aplicações Web

Data Hubs Ofertas ISV/SaaS

Cenários de Aplicação

Page 40: A plataforma Azure da Microsoft
Page 41: A plataforma Azure da Microsoft

Padrões Comuns e Problemas • Como podemos usar serviços em nuvem para conectar aplicações e

serviços através de localidades de desenvolvimento? – Nuvem-ponte, serviços on-premises e hospedagem de ativos

– Navegue na rede e nos limites de segurança, de modo seguro e descomplicado

– Assuma controle da identidade e acesso através de organizações e provedoes de ID

– Interopere através de linguagens, plataformas e padrões

– Realize mediação através de protocolos e mapeamento de esquemas (schema

mapping)

• Clientes necessitam de uma maneira para:

Conectar a pontos terminais Controle & acesso seguro

Barramento de Serviços

Controle de Acesso

Page 42: A plataforma Azure da Microsoft

Serviços .NET oferecem soluções para desenvolvedores enfrentando estes problemas

Barramento de Serviços

• Expõe serviços RESTful ou SOAP na Internet

através de firewalls e limites NAT

• Communicação bi-direcional entre

aplicações e serviços por meio de interface

inter-operavel

• Permite escolher relés, filas roteadores e

outros padrões e tipos de mensagem

• Permite escalabilidade natural e

exequibilidade acompanhando crescimento

de aplicações e serviços

Access Control Service

• Authorization management and federation

infrastructure

• Provides internet-scope federated identity

integration for distributed applications

• Use it to

• Secure Service Bus communications

• Manage user-level access to apps across

organizations and ID providers

Terminais de Conexão

firewall NAT firewall

Sua aplicação Aplicação de Cliente/Parceiro

Service Bus

Page 43: A plataforma Azure da Microsoft

Serviços .NET são Provedores de Soluções

Service Bus

•Network abstraction and virtualization infrastructure

•Enables many common shapes of communication in an

efficient and interoperable manner

•Use it to

•Connect applications across any network topology, including

firewalls and NAT boundaries

•Exchange data between loosely coupled applications

Serviço de Controle de

Acesso •Integra autorizações em aplicações com a finalidade de

controlar “o que os usuários tem autorização para fazer”

•Integra em um só local múltiplos sistemas de identificação

através de organizações e provedores de ID

•Permite aplicar regras de controle de acesso com granulação

fina e simplificadas

•Comunicações seguras no Barramento de Serviços

•Permite elevada escalabilidade, com naturalidade e eficiência,

independentemente do crescimento das aplicações e serviços

Controle de Acesso

3. Map input claims to output claims

5. Msg w/token

1. Define access control rules for a customer

6. Check claims

Your app Customer/partner users & apps

Access Control Service

Page 44: A plataforma Azure da Microsoft

Espaço de

Redes

Privativas

Capacidade do Barramento de Serviços

• Escopo de abrangência da Internet e redes em geral, ligando IP NATs e

Firewalls com controle de acesso em todos os sistemas federados

– Comunicação tipo Listen/Send a partir de qualquer dispositivo conectado à

rede

– Escopo da Internet para qualquer terminal, por “endpoint Naming” e

Descoberta

– NAT/FW Traversal via TCP, TCP/Direct, e HTTP Web Streams

Espaço da

Internet

B

C

D A

ACS

ACS

ACS

ACS

ACS

Page 45: A plataforma Azure da Microsoft

Barramento de Serviços: Capacidades Específicas

• Transferência de dados brutos e estruturados, permitindo

uso de qualquer forma comum de comunicação

– Dados Brutos, Texto, XML, JSON, …

– Datagramas, Sessões, Mensagens Correlacionadas

– Unicast, Multicast

Octet-Streams

Texto

JSON …

XML

A B

A B

A B

SOAP

XML-

RPC

Page 46: A plataforma Azure da Microsoft

Barramento de Serviços: Capacidades Específicas

• Mensageria de primitivos Built-In, para comunicação

temporária desacoplada, roteamento e processamento de

mensagens

– Tradução para receptores ocasionalmente conectados do tipo

Push/Pull

– Metodos publish/subscribe e processamento de mensagem (após

V1)

B A

Push Pull

B

A

Push C

D

E

Push

Page 47: A plataforma Azure da Microsoft

Padrão: Notificação de Fan-Out (Datagramas tipo Sessionless Unicast ou Multicast)

Windows Azure, Datacenter, Hosting, Amazon EC2, Google App Engine

“Worker Role”

App Instance

App

Instance

Cliente Cliente Cliente Cliente Cliente Cliente

NATs

multicast

unicast unicast

ACS ACS

ACS ACS ACS

ACS

ACS

ACS ACS

Page 48: A plataforma Azure da Microsoft

Padrão: REST Resource Management (Request/Response HTTP/HTTPS c/ payloads arbitrarios)

Windows Azure, Datacenter, Hosting, Amazon EC2, Google App Engine

App

Instance

Storage

App

Instance

App

Instance

Storage Storage

On-Premise App(s)

Cache

GET

POST

PUT

DELETE POST, PUT, DELETE

POST, PUT, DELETE POST, PUT,

DELETE

On-Demand „Pull‟ Sync

Continuous „Push‟ Sync

ACS

ACS

ACS

ACS

ACS

Page 49: A plataforma Azure da Microsoft

In-House Outsourced

Padrão: Troca de Documentos (session-bound, app-level ack‟d em transfer. de documentos +

notificações)

Hosted

Fronteira de

E-Commerce

Storage

Sistema de Estoque

/ Remessa

Sistema de

Pedidos

Storage Storage

Experiência do

Cliente HiFi

PO SO Embarcado

Pedido Aceito

Pedido processado

Pronto

Entregue

ACK ACK

Experiência do Web

Client

ACS ACS

ACS

ACS

ACS

Page 50: A plataforma Azure da Microsoft

Padrão: DMZ Externo (qualquer estilo de comunicação, atravessamento NAT para TCP e HTTP/S)

Home

Home Automation

or Home Media

Server

Storage Devices

Experiência Web ou

Hi-Fi Cliente

Datacenter Interno

Enterprise App

Instance

Enterprise

App

Instance

Enterprise

App Instance

Storage

Experiência Web ou

Hi-Fi Cliente

Balanceamento / Filter Reverse Proxy

Storage

net.

tcp

/dir

eto

htt

p(s

) /

net.

tcp

ACS ACS ACS

Page 51: A plataforma Azure da Microsoft

Padrão: Integrar Qualquer Coisa (Sessão limitada, tunelamento de binário bruto para transporte)

Windows Azure, Datacenter, Hosting, Amazon EC2 (Windows)

App Instance

Dados On-Premise

NP Bridge

SQL Server

TDS Passthrough

ASP.NET ADO.NET

NP Agent

ACS

Infraestrutura On-Premise

Socket Bridge

Exchange/Mail (SMTP/IMAP) Active Directory (LDAP) System Center (SNMP)

Socket Agent

ACS

Socket Passthrough

Aplicações & Serviços

HTTP Bridge

ERP, CRM, Custom Apps .NET, J2EE, ROR, PHP

J2EE, JDBC, JMS

HTTP/HTTPS Passthrough

w/ URI Rewriting

Page 52: A plataforma Azure da Microsoft

Direitos e Copyright : David Chou

[email protected]

blogs.msdn.com/dachou

Obrigado

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

Tradução: Prof. Eng. Sylvio Silveira Santos

http://soa4you.wordpress.com