$30 off During Our Annual Pro Sale. View Details »

Arquiteturas Multi-Tenant RubyConf 2022

Arquiteturas Multi-Tenant RubyConf 2022

Gabriel Sobrinho

September 09, 2022
Tweet

More Decks by Gabriel Sobrinho

Other Decks in Programming

Transcript

  1. Arquiteturas Multi-Tenant Gabriel Sobrinho Senior Software Engineer at Code1

  2. O que é um Tenant? @sobrinho

  3. Um tenant é um consumidor lógico da sua aplicação, não

    importando o seu tamanho @sobrinho
  4. Podendo ser dimensionado como um usuário, uma organização, um conjunto

    de organizações ou qualquer outro agrupamento lógico @sobrinho
  5. None
  6. None
  7. Arquitetura Single-Tenant @sobrinho

  8. A arquitetura Single-Tenant consiste no isolamento da aplicação e banco

    de dados para cada unidade consumidora @sobrinho
  9. @sobrinho

  10. @sobrinho

  11. @sobrinho

  12. Vantagens @sobrinho

  13. Isolamento físico completo entre tenants a nível de aplicação e

    banco de dados @sobrinho
  14. @sobrinho

  15. @sobrinho

  16. @sobrinho

  17. @sobrinho

  18. Backup e restauração simplificados em caso de desastre @sobrinho

  19. Precificação descomplicada para clientes enterprise @sobrinho

  20. Deploy planejado e incremental para diferentes clientes @sobrinho

  21. Desvantagens @sobrinho

  22. Custos elevados de infra-estrutura Especialmente para clientes que não precisam

    de SLA @sobrinho
  23. @sobrinho

  24. @sobrinho

  25. @sobrinho

  26. Alta complexidade na coordenação, monitoramento e redimensionamento @sobrinho

  27. Baixa eficiência no uso de memória, processador e armazenamento @sobrinho

  28. Arquiteturas Multi-Tenant @sobrinho

  29. @sobrinho

  30. Arquiteturas multi-tenant compartilham os recursos alocados para diferentes consumidores afim

    de reduzir e simplificar a operação @sobrinho
  31. Aplicação compartilhada Bancos separados @sobrinho

  32. @sobrinho

  33. Aplicação compartilhada Banco compartilhado @sobrinho

  34. @sobrinho

  35. Vantagens @sobrinho

  36. Monitoramento centralizado em aplicações como NewRelic, Scout, AppSignal e etc

    @sobrinho
  37. Infra-estrutura simplificada para escalar horizontalmente e/ou verticalmente @sobrinho

  38. Redução do custo operacional @sobrinho

  39. Desvantagens @sobrinho

  40. Alta complexidade para backup e recuperação de dados em caso

    de desastre @sobrinho
  41. Como exportar os dados de um único tenant em caso

    de encerramento de contrato? @sobrinho
  42. Como recuperar os dados de um único tenant em caso

    de desastre? @sobrinho
  43. Falta de isolamento físico entre tenants, isolamento apenas lógico @sobrinho

  44. @sobrinho

  45. @sobrinho

  46. @sobrinho

  47. @sobrinho

  48. Arquitetura Híbrida @sobrinho

  49. Single-Tenant Aplicação Compartilhada Bancos Dedicados Aplicação Compartilhada Banco Compartilhado @sobrinho

  50. Single-Tenant Aplicação Compartilhada Bancos Dedicados Aplicação Compartilhada Banco Compartilhado @sobrinho

  51. Single-Tenant Aplicação Compartilhada Bancos Dedicados Aplicação Compartilhada Banco Compartilhado @sobrinho

  52. Single-Tenant Aplicação Compartilhada Bancos Dedicados Aplicação Compartilhada Banco Compartilhado @sobrinho

  53. Separação Lógica @sobrinho

  54. Foreign Keys @sobrinho

  55. @sobrinho

  56. Postgres Schemas @sobrinho

  57. @sobrinho

  58. Bancos dedicados @sobrinho

  59. @sobrinho

  60. Qual a melhor opção? @sobrinho

  61. ¯\_(ツ)_/¯ @sobrinho

  62. Depende do contexto do seu produto, financeiro e operacional @sobrinho

  63. @sobrinho

  64. Performance @sobrinho

  65. Particionamento lógico de dados @sobrinho

  66. Arquiteturas Master/Master e Master/Slave @sobrinho

  67. Escalabilidade horizontal e vertical @sobrinho

  68. Obrigado! @sobrinho

  69. Perguntas? @sobrinho

  70. Estamos contratando! @sobrinho @sobrinho

  71. https://ascendixtech.com/multi-tenant-security-model/ https://www.ronenbekerman.com/showcase/modern-apartment-building-by-vladimir-lyaschenko/ https://www.archdaily.com/217155/single-family-house-in-jozefow-zag-architekci https://www.redbubble.com/i/poster/Everybody-Hates-Chris-by-DiscoveryWord/85976851.LVTDI