Sql saturday #570 - Padrões de Aplicações para o Azure SQL Database

Post on 15-Apr-2017

336 views 0 download

Transcript of Sql saturday #570 - Padrões de Aplicações para o Azure SQL Database

Padrões de Aplicações para Azure SQL Database

Roberto FonsecaMCT, MCSE Data Platform | MVP Data Platform@roberto_mctrffonseca@outlook.com

PATROCINADORES

O que é Cloud Computing?

O que é Cloud Computing?

Uso de:- Memória- Armazenamento - Poder de processamento

Como?- Servidores compartilhados- Internet- Serviços!

Serviços

Cloud ServicesInfrastructure

IaaSOn

PremissesOn Prem

Aplicações

Dados

Execução

SOVirtualizaçã

oHardware

Storage

Rede/Links

PlatformPaaS

Aplicações

Dados

Execução

SO

Virtualização

Hardware

Storage

Rede/Links

SoftwareSaaS

Aplicações

Dados

Execução

SO

Virtualização

Hardware

Storage

Rede/Links

Você Gerencia

Parceiro Gerencia

Aplicações

Dados

Execução

SO

Virtualização

Hardware

Storage

Rede/Links

Pizza As A Service

Pizza As A ServiceInfrastructure

IaaS

Mesa

Bebidas

Forno

Fogo/Gás

Massa

Molho

Recheios

Queijo

On Premisses

On PremMesa

Bebidas

Forno

Fogo/Gás

Massa

Molho

Recheios

Queijo

PlatformPaaS

Mesa

Bebidas

Forno

Fogo/Gás

Massa

Molho

Recheios

Queijo

SoftwareSaaS

Mesa

Bebidas

Forno

Fogo/Gás

Massa

Molho

Recheios

Queijo

Feito em Casa Congelada Delivery Jantar Fora

Você Gerencia

Parceiro Gerencia

Cloud ServicesInfrastructure

IaaSOn

PremissesOn Prem

Aplicações

Dados

Execução

SOVirtualizaçã

oHardware

Storage

Rede/Links

PlatformPaaS

Aplicações

Dados

Execução

SO

Virtualização

Hardware

Storage

Rede/Links

SoftwareSaaS

Aplicações

Dados

Execução

SO

Virtualização

Hardware

Storage

Rede/Links

Você Gerencia

Parceiro Gerencia

Aplicações

Dados

Execução

SO

Virtualização

Hardware

Storage

Rede/Links

Opções para dados relacionais na nuvem

- Cloud-first mas não Cloud-only- Usando Azure SQL Database para utilizar o melhor das funcionalidades

Como desenvolver para a nuvem

Usando a nuvem para obter o máximo de benefícios

Usando a nuvem para obter o máximo de benefícios

Azure é muito mais do que um servidor

Presença Global

Qual é o meio mais fácil de migrar?

Mover

• Migração sem alterações

• Redução de custo de infraestrutura (Capex)

• Mover aplicações não certificadas/testadas para a nuvem

• Gerenciado e controlado internamente

• Controle de SO e instâncias do SQL

Remodelar

• Modernização de aplicações

• Redução de custo, redução de gerenciamento de infraestrutura (Opex)

• Exige desenvolvimento

• Gerenciado e controlado internamente

Build for cloud

• Novos desenvolvimentos

• Grande escala• Permite iniciar com

poucos recursos e ampliar conforme o crescimento

• Mudança de conceitos (DevOps)

• Crescimento Imprevisível

Azure SQL Database

• Serviço de banco de dados totalmente gerenciado • Permite manter o foco na aplicações e no banco de

dados e não na infraestrutura

• Performance para grandes empresas• Elastic database pools para cargas de

dados imprevisíveis• SLA de 99,99%• Geo-replicação para proteção de dados• Seguro e compliant para proteção de

dados sensíveis• V12 compatível com SQL Server 2016

Escalável

• Bases de dados isoladas em recursos isolados• Performance baseada em camadas (Basic, Standard

e Premium) para melhores níveis de performance• Aumento e redução de recursos em resposta a

mudanças previstas na carga de trabalho• Bases de dados sempre online (mesmo durante

operações de aumento e redução de recursos• Pago por hora

5 10

20

50

100

250

1750

DTUs

BS0

S1

S2

S3

P2

P11

P1

125

P4

500

P6

1000

Elastic Database Pool• Compatilhamento de recursos dinamicamente entre databases no mesmo

conjunto de recursos dedicados• Gerenciado pelo cliente para cargas de dados imprevisíveis e esporádicas• Sem custo “per Database”• Permite centenas de DBs por pool

https://weblogs.asp.net/scottgu/better-density-and-lower-prices-for-azure-s-sql-elastic-database-pools

Modelos de camada de dados utilizados por clientes

Aplicações usando um único DB

Aplicações com dados

particionados entre vários DBs

SaaS com único DB multi-inquilino

SaaS com muitos DBs

multi-inquilino

Elementos críticos que contribuem para a decisão da camada de dados

Modelo de Aplicações

Propriedade dos dados

Escalabilidade

Modelo do negócio

Requisitos técnicos de

sizing e throughput

Propriedade dos Dados

Dados da CompanhiaDados dos Clientes

Use múltiplos DBs quando os requisitos exigirem mais de um DB.

Apenas Gerencia Dados dos Clientes

Use um DB por cliente para gerenciar o isolamento dos dados

Escalabilidade

SaaS servindo dados com potencial de milhares de

clientes

Use um DB por cliente com elastic pool para balanceamento de recursos.

SaaS servindo dados com potencial de milhões de

clientes

Use bases multi-inquilino para pequenos clientes e balanceamento de dados

Modelo de Negócio

Aplicações de alto valor Use elastic pool com premium DBs

Aplicações de baixo valor

Elastic pool de alta densidade e DBs de multi-inquilino para melhor custo-benefício

Requisitos Técnicos de Sizing e Throughput

Aplicações adequadas para um único DB

Use SaaS com Single DB por cliente

Aplicações para múltiplos DBsUse vários DBs com particionamento (Sharding)

Lição de Casa• Propriedade dos dados pode ser um

fator complicador para a escolha do modelo

• Multi-inquilino é difícil, depende do desenvolvimento da aplicação e muitos clientes não utilizam

• Elastic pool é uma grande chance de atingir objetivos de modelos de negócio complexos

Atingir objetivos de performanceManter os custos sob controle

• Use premium DBs para o maior nível de performance e isolação para uma aplicação

Leia sobre:

azure.com Azureaka.ms/azuretour Azure Touraka.ms/sqldb Azure SQL Databaseaka.ms/findsearch Azure Searchaka.ms/documentdb Azure DocumentDBaka.ms/intelligentapps Azure HDInsight

Lição de Casa

• Azure SQL Database

Dúvidas?!

PATROCINADORES

Precisando de Emprego?

rffonseca@outlook.com