Aplicações Multitenant

560 views

Published on

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.

Published in: Technology

Aplicações Multitenant

  1. 1. Aplicações MultitenantEstratégias arquiteturais para execução de aplicações nanuvem
  2. 2. Aplicações multi o quê?
  3. 3. Aplicações MultitenantUma única aplicação serve múltiplosclientes/organizações (tenants)
  4. 4. Sua aplicação nas nuvens
  5. 5. Estratégias de Migração p/ CloudAplicação e Banco de dados para todos ostenantsAplicação e Banco de dados por clienteAplicação e esquema separado por clienteAplicação e Banco de dados para todoscom migração de clientes com maiordemanda
  6. 6. QuestionamentosQual o custo de adição de um novocliente?Qual o custo de manter a aplicaçãoatualizada?Qual a estratégia de alocação demáquinas?
  7. 7. QuestionamentosQual o custo de licenças?Qual o custo de gerenciamento dosoftware?
  8. 8. PremissasTodas as estratégias requeremautomatização
  9. 9. Tendo isso em mente...
  10. 10. Aplicação e Banco de dados compartilhadosAplicaçãoDB
  11. 11. Aplicação e Banco de dados compartilhadosAplicaçãoCliente 1DB
  12. 12. Aplicação e Banco de dados compartilhadosAplicaçãoCliente 1Cliente 2DB
  13. 13. Aplicação e Banco de dados compartilhadosAplicaçãoCliente 1Cliente 2Cliente 3DB
  14. 14. Aplicação e Banco de dados compartilhadosAplicaçãoCliente 1Cliente 2Cliente 3Cliente 4 DB
  15. 15. Aplicação e Banco de dados compartilhadosAplicaçãoCliente 1Cliente 2Cliente 3Cliente 4...Cliente NDB
  16. 16. Aplicação e Banco de dados para todos
  17. 17. Aplicação e Banco de dados para todosAtualização dos clientes
  18. 18. Aplicação e Banco de dados para todosAtualização dos clientesAproveitamento de recursos por máquina
  19. 19. Aplicação e Banco de dados para todosAtualização dos clientesAproveitamento de recursos por máquinaEscalabilidade através de replicação ebalanceamento de carga
  20. 20. Aplicação e Banco de dados para todos
  21. 21. Aplicação e Banco de dados para todosRelação clientes por servidor
  22. 22. Aplicação e Banco de dados para todosRelação clientes por servidorMenor custo de licenciamento
  23. 23. Aplicação e Banco de dados para todosRelação clientes por servidorMenor custo de licenciamentoAdição de novos clientes
  24. 24. Aplicação e Banco de dados para todos
  25. 25. Aplicação e Banco de dados para todosSeparação de dados feito pela aplicação
  26. 26. Aplicação e Banco de dados para todosSeparação de dados feito pela aplicaçãoMaior custo de desenvolvimento
  27. 27. Aplicação e Banco de dados para todosSeparação de dados feito pela aplicaçãoMaior custo de desenvolvimentoDesempenho de um cliente impacta osoutros
  28. 28. Aplicação e Banco de dados para todosSeparação de dados feito pela aplicaçãoMaior custo de desenvolvimentoDesempenho de um cliente impacta osoutrosDifícil medir quem está consumindomais recursos
  29. 29. Aplicação e Banco de dados por clienteCliente Aplicação DBServidor
  30. 30. Aplicação e Banco de dados por clienteCliente Aplicação DBServidorClienteAplicaçãoDBServidor
  31. 31. Aplicação e Banco de dados por clienteCliente Aplicação DBServidorCliente Aplicação DBServidorClienteAplicaçãoDBServidor
  32. 32. Aplicação e Banco de dados por clienteCliente Aplicação DBServidorCliente Aplicação DBServidorClienteAplicaçãoDBServidorClienteAplicaçãoDBServidor
  33. 33. Aplicação e Banco de dados por clienteCliente Aplicação DBServidorCliente Aplicação DBServidorCliente Aplicação DBServidorClienteAplicaçãoDBServidorClienteAplicaçãoDBServidor
  34. 34. Aplicação e Banco de dados por clienteCliente Aplicação DBServidorCliente Aplicação DBServidorCliente Aplicação DBServidorClienteAplicaçãoDBServidorClienteAplicaçãoDBServidorClienteAplicaçãoDBServidor
  35. 35. Aplicação e Banco de dados por cliente
  36. 36. Aplicação e Banco de dados por clienteSeparação dos dados by design
  37. 37. Aplicação e Banco de dados por clienteSeparação dos dados by designMedição do consumo de recursos
  38. 38. Aplicação e Banco de dados por clienteSeparação dos dados by designMedição do consumo de recursosDesempenho independente de cliente
  39. 39. Aplicação e Banco de dados por clienteSeparação dos dados by designMedição do consumo de recursosDesempenho independente de clientePoder usar separação física como argumentode venda
  40. 40. Aplicação e Banco de dados por cliente
  41. 41. Aplicação e Banco de dados por clienteGerenciamento dos clientes
  42. 42. Aplicação e Banco de dados por clienteGerenciamento dos clientesAdição de novos clientes
  43. 43. Aplicação e Banco de dados por clienteGerenciamento dos clientesAdição de novos clientesRequer mais automatização dainfraestrutura
  44. 44. Aplicação e Banco de dados por clienteGerenciamento dos clientesAdição de novos clientesRequer mais automatização dainfraestruturaOciosidade
  45. 45. Aplicação e Esquema de Banco de dados porcliente
  46. 46. DBServidor BDAplicação e Esquema de Banco de dados porcliente
  47. 47. DBServidor BDAplicação e Esquema de Banco de dados porclienteServidor de Aplicação
  48. 48. DBServidor BDAplicação e Esquema de Banco de dados porclienteServidor de AplicaçãoCliente Aplicação E
  49. 49. DBServidor BDAplicação e Esquema de Banco de dados porclienteServidor de AplicaçãoCliente Aplicação ECliente Aplicação E
  50. 50. DBServidor BDAplicação e Esquema de Banco de dados porclienteServidor de AplicaçãoCliente Aplicação ECliente Aplicação ECliente Aplicação E
  51. 51. DBServidor BDAplicação e Esquema de Banco de dados porclienteServidor de AplicaçãoClienteAplicaçãoECliente Aplicação ECliente Aplicação ECliente Aplicação E
  52. 52. DBServidor BDAplicação e Esquema de Banco de dados porclienteServidor de AplicaçãoClienteAplicaçãoEClienteAplicaçãoECliente Aplicação ECliente Aplicação ECliente Aplicação E
  53. 53. DBServidor BDAplicação e Esquema de Banco de dados porclienteServidor de AplicaçãoClienteAplicaçãoEClienteAplicaçãoEClienteAplicaçãoECliente Aplicação ECliente Aplicação ECliente Aplicação E
  54. 54. Aplicação e Esquema de Banco de dados porcliente
  55. 55. Separação dos dados via esquema de bancoAplicação e Esquema de Banco de dados porcliente
  56. 56. Separação dos dados via esquema de bancoAplicação e Esquema de Banco de dados porclienteMelhor aproveitamento de recursos
  57. 57. Separação dos dados via esquema de bancoAplicação e Esquema de Banco de dados porclienteMelhor aproveitamento de recursosPouca alteração de código
  58. 58. Separação dos dados via esquema de bancoAplicação e Esquema de Banco de dados porclienteMelhor aproveitamento de recursosPouca alteração de códigoCusto de licenças
  59. 59. Aplicação e Esquema de Banco de dados porcliente
  60. 60. Aplicação e Esquema de Banco de dados porclienteFacilidade de migração entre instâncias
  61. 61. Aplicação e Esquema de Banco de dados porclienteFacilidade de migração entre instânciasFácil escalabilidade
  62. 62. Aplicação e Esquema de Banco de dados porclienteFacilidade de migração entre instânciasFácil escalabilidadeSeparação por contexto
  63. 63. Aplicação e Esquema de Banco de dados porcliente
  64. 64. Aplicação e Esquema de Banco de dados porclienteDesempenho compartilhado
  65. 65. Aplicação e Esquema de Banco de dados porclienteDesempenho compartilhadoGerenciamento dos clientes
  66. 66. Aplicação e Esquema de Banco de dados porclienteDesempenho compartilhadoGerenciamento dos clientesFalhas no banco afeta todos os clientesalocados naquela instância
  67. 67. Aplicação e Esquema de Banco de dados porclienteDesempenho compartilhadoGerenciamento dos clientesFalhas no banco afeta todos os clientesalocados naquela instânciaRequer maior automatização dainfraestrutura
  68. 68. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DB
  69. 69. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DB
  70. 70. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DB
  71. 71. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DB
  72. 72. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DB
  73. 73. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DBAppDB
  74. 74. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DBAppDB
  75. 75. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DBAppDB
  76. 76. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4 DBAppDB
  77. 77. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4DBAppDB
  78. 78. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4DBAppDB
  79. 79. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4DBAppDB
  80. 80. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4DBAppDB
  81. 81. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4DBAppDB
  82. 82. Aplicação e Banco de dados compartilhadosC3CN...AppC1C2C4DBAppDB
  83. 83. Aplicação e Banco de dados para todos
  84. 84. Aplicação e Banco de dados para todosAtualização dos clientes
  85. 85. Aplicação e Banco de dados para todosAtualização dos clientesAproveitamento de recursos por máquina
  86. 86. Aplicação e Banco de dados para todosAtualização dos clientesAproveitamento de recursos por máquinaEscalabilidade através de replicação ebalanceamento de carga
  87. 87. Aplicação e Banco de dados para todos
  88. 88. Aplicação e Banco de dados para todosRelação clientes por servidor
  89. 89. Aplicação e Banco de dados para todosRelação clientes por servidorMenor custo de licenciamento
  90. 90. Aplicação e Banco de dados para todosRelação clientes por servidorMenor custo de licenciamentoAdição de novos clientes
  91. 91. Aplicação e Banco de dados para todosRelação clientes por servidorMenor custo de licenciamentoAdição de novos clientesClientes “comportados” permanecemjuntos
  92. 92. Aplicação e Banco de dados para todos
  93. 93. Aplicação e Banco de dados para todosSeparação de dados feito pela aplicação
  94. 94. Aplicação e Banco de dados para todosSeparação de dados feito pela aplicaçãoMaior custo de desenvolvimento
  95. 95. Aplicação e Banco de dados para todosSeparação de dados feito pela aplicaçãoMaior custo de desenvolvimentoDesempenho de um cliente impacta osoutros
  96. 96. Aplicação e Banco de dados para todosSeparação de dados feito pela aplicaçãoMaior custo de desenvolvimentoDesempenho de um cliente impacta osoutrosDifícil medir quem está consumindomais recursos
  97. 97. Dúvidas?
  98. 98. Referênciashttp://blog.caelum.com.br/um-produto-para-muitos-clientes-implementando-multitenancy/http://www.tectura.com.br/topics/abordagens_de_multitenant?page=1http://en.wikipedia.org/wiki/Multitenancy

×