98
Aplicações Multitenant Estratégias arquiteturais para execução de aplicações na nuvem

Aplicações Multitenant

Embed Size (px)

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.

Citation preview

Page 1: Aplicações Multitenant

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

nuvem

Page 2: Aplicações Multitenant

Aplicações multi o quê?

Page 3: Aplicações Multitenant

Aplicações Multitenant

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

Page 4: Aplicações Multitenant

Sua aplicação nas nuvens

Page 5: Aplicações Multitenant

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

Page 6: Aplicações Multitenant

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?

Page 7: Aplicações Multitenant

Questionamentos

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

Page 8: Aplicações Multitenant

Premissas

Todas as estratégias requerem automatização

Page 9: Aplicações Multitenant

Tendo isso em mente...

Page 10: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

Aplicação DB

Page 11: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

DB

Page 12: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

Cliente 2

DB

Page 13: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

Cliente 2

Cliente 3

DB

Page 14: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

Cliente 2

Cliente 3

Cliente 4 DB

Page 15: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

Aplicação

Cliente 1

Cliente 2

Cliente 3

Cliente 4...

Cliente N

DB

Page 16: Aplicações Multitenant

Aplicação e Banco de dados para todos

Page 17: Aplicações Multitenant

Aplicação e Banco de dados para todos

Atualização dos clientes

Page 18: Aplicações Multitenant

Aplicação e Banco de dados para todos

Atualização dos clientes

Aproveitamento de recursos por máquina

Page 19: Aplicações Multitenant

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

Page 20: Aplicações Multitenant

Aplicação e Banco de dados para todos

Page 21: Aplicações Multitenant

Aplicação e Banco de dados para todos

Relação clientes por servidor

Page 22: Aplicações Multitenant

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Page 23: Aplicações Multitenant

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Adição de novos clientes

Page 24: Aplicações Multitenant

Aplicação e Banco de dados para todos

Page 25: Aplicações Multitenant

Aplicação e Banco de dados para todos

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

Page 26: Aplicações Multitenant

Aplicação e Banco de dados para todos

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

Maior custo de desenvolvimento

Page 27: Aplicações Multitenant

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

Page 28: Aplicações Multitenant

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

Page 29: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Page 30: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Cliente AplicaçãoDBServidor

Page 31: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Cliente Aplicação DBServidor

Cliente AplicaçãoDBServidor

Page 32: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Cliente Aplicação DBServidor

Cliente Aplicação DBServidor

Cliente AplicaçãoDBServidor

Cliente AplicaçãoDBServidor

Page 33: Aplicações Multitenant

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

Page 34: Aplicações Multitenant

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

Page 35: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Page 36: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Separação dos dados by design

Page 37: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Separação dos dados by design

Medição do consumo de recursos

Page 38: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Separação dos dados by design

Medição do consumo de recursos

Desempenho independente de cliente

Page 39: Aplicações Multitenant

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

Page 40: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Page 41: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Gerenciamento dos clientes

Page 42: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Gerenciamento dos clientes

Adição de novos clientes

Page 43: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Gerenciamento dos clientes

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

Page 44: Aplicações Multitenant

Aplicação e Banco de dados por cliente

Gerenciamento dos clientes

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

Page 45: Aplicações Multitenant

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

Page 46: Aplicações Multitenant

DB

Servidor BD

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

Page 47: Aplicações Multitenant

DB

Servidor BD

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

Servidor de Aplicação

Page 48: Aplicações Multitenant

DB

Servidor BD

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

Servidor de Aplicação

Cliente Aplicação E

Page 49: Aplicações Multitenant

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

Page 50: Aplicações Multitenant

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

Page 51: Aplicações Multitenant

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

Page 52: Aplicações Multitenant

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

Page 53: Aplicações Multitenant

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

Page 54: Aplicações Multitenant

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

Page 55: Aplicações Multitenant

Separação dos dados via esquema de banco

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

Page 56: Aplicações Multitenant

Separação dos dados via esquema de banco

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

Melhor aproveitamento de recursos

Page 57: Aplicações Multitenant

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

Page 58: Aplicações Multitenant

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

Page 59: Aplicações Multitenant

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

Page 60: Aplicações Multitenant

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

Facilidade de migração entre instâncias

Page 61: Aplicações Multitenant

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

Facilidade de migração entre instâncias

Fácil escalabilidade

Page 62: Aplicações Multitenant

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

Facilidade de migração entre instâncias

Fácil escalabilidade

Separação por contexto

Page 63: Aplicações Multitenant

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

Page 64: Aplicações Multitenant

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

Desempenho compartilhado

Page 65: Aplicações Multitenant

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

Desempenho compartilhado

Gerenciamento dos clientes

Page 66: Aplicações Multitenant

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

Page 67: Aplicações Multitenant

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

Page 68: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Page 69: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Page 70: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Page 71: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Page 72: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DB

Page 73: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DBApp

DB

Page 74: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DBApp

DB

Page 75: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DBApp

DB

Page 76: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4 DBApp

DB

Page 77: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4DB

AppDB

Page 78: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2

C4DB

AppDB

Page 79: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2C4

DBApp

DB

Page 80: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2C4

DBApp

DB

Page 81: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2C4

DBApp

DB

Page 82: Aplicações Multitenant

Aplicação e Banco de dados compartilhados

C3

CN

...

App

C1

C2C4

DBApp

DB

Page 83: Aplicações Multitenant

Aplicação e Banco de dados para todos

Page 84: Aplicações Multitenant

Aplicação e Banco de dados para todos

Atualização dos clientes

Page 85: Aplicações Multitenant

Aplicação e Banco de dados para todos

Atualização dos clientes

Aproveitamento de recursos por máquina

Page 86: Aplicações Multitenant

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

Page 87: Aplicações Multitenant

Aplicação e Banco de dados para todos

Page 88: Aplicações Multitenant

Aplicação e Banco de dados para todos

Relação clientes por servidor

Page 89: Aplicações Multitenant

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Page 90: Aplicações Multitenant

Aplicação e Banco de dados para todos

Relação clientes por servidor

Menor custo de licenciamento

Adição de novos clientes

Page 91: Aplicações Multitenant

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

Page 92: Aplicações Multitenant

Aplicação e Banco de dados para todos

Page 93: Aplicações Multitenant

Aplicação e Banco de dados para todos

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

Page 94: Aplicações Multitenant

Aplicação e Banco de dados para todos

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

Maior custo de desenvolvimento

Page 95: Aplicações Multitenant

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

Page 96: Aplicações Multitenant

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

Page 97: Aplicações Multitenant

Dúvidas?