aplicações multitenant

Post on 07-Jul-2015

287 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Esta apresentação aborda possíveis arquiteturas de aplicações que tem a nuvem como ambiente de execução. Para cada estratégia exibe prós e contras a serem levados em consideração.

TRANSCRIPT

Aplicações MultitenantEstratégias arquiteturais para execução de aplicações na

nuvem

Aplicações multi o quê?

Aplicações Multitenant

Uma única aplicação serve múltiplos clientes/organizações (tenants)

Sua aplicação nas nuvens

Estratégias de Migração p/ Cloud

Aplicação e Banco de dados para todos os tenantsAplicação e Banco de dados por clienteAplicação e esquema separado por clienteAplicação e Banco de dados para todos com migração de clientes com maior demanda

Questionamentos

Qual o custo de adição de um novo cliente?Qual o custo de manter a aplicação atualizada?Qual a estratégia de alocação de máquinas?

Questionamentos

Qual o custo de licenças?Qual o custo de gerenciamento do software?

Premissas

Todas as estratégias requerem automatização

Tendo isso em mente...

Aplicação e Banco de dados compartilhados

Aplicação DB

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

DB

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

Cliente 2

DB

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

Cliente 2

Cliente 3

DB

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

Cliente 2

Cliente 3

Cliente 4 DB

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

Cliente 2

Cliente 3

Cliente 4...

Cliente N

DB

Aplicação e Banco de dados para todos

Aplicação e Banco de dados para todos

Atualização dos clientes

Aplicação e Banco de dados para todos

Atualização dos clientes

Aproveitamento de recursos por máquina

Aplicação e Banco de dados para todos

Atualização dos clientes

Aproveitamento de recursos por máquina

Escalabilidade através de replicação e balanceamento de carga

Aplicação e Banco de dados para todos

Aplicação e Banco de dados para todos

Relação clientes por servidor

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Adição de novos clientes

Aplicação e Banco de dados para todos

Aplicação e Banco de dados para todos

Separação de dados feito pela aplicação

Aplicação e Banco de dados para todos

Separação de dados feito pela aplicação

Maior custo de desenvolvimento

Aplicação e Banco de dados para todos

Separação de dados feito pela aplicação

Maior custo de desenvolvimento

Desempenho de um cliente impacta os outros

Aplicação e Banco de dados para todos

Separação de dados feito pela aplicação

Maior custo de desenvolvimento

Desempenho de um cliente impacta os outrosDifícil medir quem está consumindo mais recursos

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Cliente AplicaçãoDBServidor

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Cliente Aplicação DBServidor

Cliente AplicaçãoDBServidor

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Cliente Aplicação DBServidor

Cliente AplicaçãoDBServidor

Cliente AplicaçãoDBServidor

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Cliente Aplicação DBServidor

Cliente Aplicação DBServidor

Cliente AplicaçãoDBServidor

Cliente AplicaçãoDBServidor

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Cliente Aplicação DBServidor

Cliente Aplicação DBServidor

Cliente AplicaçãoDBServidor

Cliente AplicaçãoDBServidor

Cliente AplicaçãoDBServidor

Aplicação e Banco de dados por cliente

Aplicação e Banco de dados por cliente

Separação dos dados by design

Aplicação e Banco de dados por cliente

Separação dos dados by design

Medição do consumo de recursos

Aplicação e Banco de dados por cliente

Separação dos dados by design

Medição do consumo de recursos

Desempenho independente de cliente

Aplicação e Banco de dados por cliente

Separação dos dados by design

Medição do consumo de recursos

Desempenho independente de cliente

Poder usar separação física como argumento de venda

Aplicação e Banco de dados por cliente

Aplicação e Banco de dados por cliente

Gerenciamento dos clientes

Aplicação e Banco de dados por cliente

Gerenciamento dos clientes

Adição de novos clientes

Aplicação e Banco de dados por cliente

Gerenciamento dos clientes

Adição de novos clientesRequer mais automatização da infraestrutura

Aplicação e Banco de dados por cliente

Gerenciamento dos clientes

Adição de novos clientesRequer mais automatização da infraestruturaOciosidade

Aplicação e Esquema de Banco de dados por cliente

DB

Servidor BD

Aplicação e Esquema de Banco de dados por cliente

DB

Servidor BD

Aplicação e Esquema de Banco de dados por cliente

Servidor de Aplicação

DB

Servidor BD

Aplicação e Esquema de Banco de dados por cliente

Servidor de Aplicação

Cliente Aplicação E

DB

Servidor BD

Aplicação e Esquema de Banco de dados por cliente

Servidor de Aplicação

Cliente Aplicação E

Cliente Aplicação E

DB

Servidor BD

Aplicação e Esquema de Banco de dados por cliente

Servidor de Aplicação

Cliente Aplicação E

Cliente Aplicação E

Cliente Aplicação E

DB

Servidor BD

Aplicação e Esquema de Banco de dados por cliente

Servidor de Aplicação

Cliente AplicaçãoE

Cliente Aplicação E

Cliente Aplicação E

Cliente Aplicação E

DB

Servidor BD

Aplicação e Esquema de Banco de dados por cliente

Servidor de Aplicação

Cliente AplicaçãoE

Cliente AplicaçãoE

Cliente Aplicação E

Cliente Aplicação E

Cliente Aplicação E

DB

Servidor BD

Aplicação e Esquema de Banco de dados por cliente

Servidor de Aplicação

Cliente AplicaçãoE

Cliente AplicaçãoE

Cliente AplicaçãoECliente Aplicação E

Cliente Aplicação E

Cliente Aplicação E

Aplicação e Esquema de Banco de dados por cliente

Separação dos dados via esquema de banco

Aplicação e Esquema de Banco de dados por cliente

Separação dos dados via esquema de banco

Aplicação e Esquema de Banco de dados por cliente

Melhor aproveitamento de recursos

Separação dos dados via esquema de banco

Aplicação e Esquema de Banco de dados por cliente

Melhor aproveitamento de recursos

Pouca alteração de código

Separação dos dados via esquema de banco

Aplicação e Esquema de Banco de dados por cliente

Melhor aproveitamento de recursos

Pouca alteração de código

Custo de licenças

Aplicação e Esquema de Banco de dados por cliente

Aplicação e Esquema de Banco de dados por cliente

Facilidade de migração entre instâncias

Aplicação e Esquema de Banco de dados por cliente

Facilidade de migração entre instâncias

Fácil escalabilidade

Aplicação e Esquema de Banco de dados por cliente

Facilidade de migração entre instâncias

Fácil escalabilidade

Separação por contexto

Aplicação e Esquema de Banco de dados por cliente

Aplicação e Esquema de Banco de dados por cliente

Desempenho compartilhado

Aplicação e Esquema de Banco de dados por cliente

Desempenho compartilhado

Gerenciamento dos clientes

Aplicação e Esquema de Banco de dados por cliente

Desempenho compartilhado

Gerenciamento dos clientes

Falhas no banco afeta todos os clientes alocados naquela instância

Aplicação e Esquema de Banco de dados por cliente

Desempenho compartilhado

Gerenciamento dos clientes

Falhas no banco afeta todos os clientes alocados naquela instânciaRequer maior automatização da infraestrutura

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DBApp

DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DBApp

DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DBApp

DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DBApp

DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4DB

AppDB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4DB

AppDB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2C4

DBApp

DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2C4

DBApp

DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2C4

DBApp

DB

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2C4

DBApp

DB

Aplicação e Banco de dados para todos

Aplicação e Banco de dados para todos

Atualização dos clientes

Aplicação e Banco de dados para todos

Atualização dos clientes

Aproveitamento de recursos por máquina

Aplicação e Banco de dados para todos

Atualização dos clientes

Aproveitamento de recursos por máquina

Escalabilidade através de replicação e balanceamento de carga

Aplicação e Banco de dados para todos

Aplicação e Banco de dados para todos

Relação clientes por servidor

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Adição de novos clientes

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Adição de novos clientes

Clientes “comportados” permanecem juntos

Aplicação e Banco de dados para todos

Aplicação e Banco de dados para todos

Separação de dados feito pela aplicação

Aplicação e Banco de dados para todos

Separação de dados feito pela aplicação

Maior custo de desenvolvimento

Aplicação e Banco de dados para todos

Separação de dados feito pela aplicação

Maior custo de desenvolvimento

Desempenho de um cliente impacta os outros

Aplicação e Banco de dados para todos

Separação de dados feito pela aplicação

Maior custo de desenvolvimento

Desempenho de um cliente impacta os outrosDifícil medir quem está consumindo mais recursos

Dúvidas?

top related