Upload
sylvio-silveira-santos
View
1.840
Download
4
Embed Size (px)
DESCRIPTION
Descrição da Plataforma AZURE da MicrosoftEmail: David Chou [email protected]/dachou
Citation preview
Plataforma Windows Azure
David Chou
blogs.msdn.com/dachou
Tradução: Prof. Eng. Sylvio Silveira Santos
http://soa4you.wordpress.com
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
Privativas (On-Premise)
Tipos de Nuvens
Infraestrutura (Como Serviço)
Plataforma (Como Serviço)
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
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
Platform Services
Serviços de Software
Serviços de Aplicações
Serviços de Infraestrutura
A Nuvem da Microsoft Categorias de Serviços
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
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
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
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
Plataformas de Escolha
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
Arquitetura de Aplicações
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
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)
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
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
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
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
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
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
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
NEGÓCIOS CONSUMIDORES
INTERNET
Arquitetura do Windows Azure
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
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
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
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
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
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
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
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
• 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
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
• 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
• 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
• 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
Aplicações dem Departamentos Aplicações Web
Data Hubs Ofertas ISV/SaaS
Cenários de Aplicação
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
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
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
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
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
…
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
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
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
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
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
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
Direitos e Copyright : David Chou
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