Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Arquiteturas Multi-Tenant RubyConf 2022
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Gabriel Sobrinho
September 09, 2022
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Arquiteturas Multi-Tenant RubyConf 2022
Gabriel Sobrinho
September 09, 2022
More Decks by Gabriel Sobrinho
See All by Gabriel Sobrinho
Introduction to Go
sobrinho
1
130
Casos de otimização em aplicações Ruby on Rails
sobrinho
0
320
Introduction to automated tests (Goiania)
sobrinho
0
170
Introduction to automated tests
sobrinho
3
250
Otimização de Aplicações RoR
sobrinho
1
290
Introdução ao React (Simplificado)
sobrinho
0
160
Algoritmos de pesquisa
sobrinho
0
700
Introdução ao Docker
sobrinho
1
130
Introdução ao React
sobrinho
0
360
Other Decks in Programming
See All in Programming
Android CLI
fornewid
0
210
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
520
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
210
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
470
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
今さら聞けない .NET CLI
htkym
0
180
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
240
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
210
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
210
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
9
6.1k
継続モナドとリアクティブプログラミング
yukikurage
3
680
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Navigating Team Friction
lara
192
16k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
460
RailsConf 2023
tenderlove
30
1.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
GraphQLとの向き合い方2022年版
quramy
50
15k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
450
How to Think Like a Performance Engineer
csswizardry
28
2.7k
We Have a Design System, Now What?
morganepeng
55
8.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
Transcript
Arquiteturas Multi-Tenant Gabriel Sobrinho Senior Software Engineer at Code1
O que é um Tenant? @sobrinho
Um tenant é um consumidor lógico da sua aplicação, não
importando o seu tamanho @sobrinho
Podendo ser dimensionado como um usuário, uma organização, um conjunto
de organizações ou qualquer outro agrupamento lógico @sobrinho
None
None
Arquitetura Single-Tenant @sobrinho
A arquitetura Single-Tenant consiste no isolamento da aplicação e banco
de dados para cada unidade consumidora @sobrinho
@sobrinho
@sobrinho
@sobrinho
Vantagens @sobrinho
Isolamento físico completo entre tenants a nível de aplicação e
banco de dados @sobrinho
@sobrinho
@sobrinho
@sobrinho
@sobrinho
Backup e restauração simplificados em caso de desastre @sobrinho
Precificação descomplicada para clientes enterprise @sobrinho
Deploy planejado e incremental para diferentes clientes @sobrinho
Desvantagens @sobrinho
Custos elevados de infra-estrutura Especialmente para clientes que não precisam
de SLA @sobrinho
@sobrinho
@sobrinho
@sobrinho
Alta complexidade na coordenação, monitoramento e redimensionamento @sobrinho
Baixa eficiência no uso de memória, processador e armazenamento @sobrinho
Arquiteturas Multi-Tenant @sobrinho
@sobrinho
Arquiteturas multi-tenant compartilham os recursos alocados para diferentes consumidores afim
de reduzir e simplificar a operação @sobrinho
Aplicação compartilhada Bancos separados @sobrinho
@sobrinho
Aplicação compartilhada Banco compartilhado @sobrinho
@sobrinho
Vantagens @sobrinho
Monitoramento centralizado em aplicações como NewRelic, Scout, AppSignal e etc
@sobrinho
Infra-estrutura simplificada para escalar horizontalmente e/ou verticalmente @sobrinho
Redução do custo operacional @sobrinho
Desvantagens @sobrinho
Alta complexidade para backup e recuperação de dados em caso
de desastre @sobrinho
Como exportar os dados de um único tenant em caso
de encerramento de contrato? @sobrinho
Como recuperar os dados de um único tenant em caso
de desastre? @sobrinho
Falta de isolamento físico entre tenants, isolamento apenas lógico @sobrinho
@sobrinho
@sobrinho
@sobrinho
@sobrinho
Arquitetura Híbrida @sobrinho
Single-Tenant Aplicação Compartilhada Bancos Dedicados Aplicação Compartilhada Banco Compartilhado @sobrinho
Single-Tenant Aplicação Compartilhada Bancos Dedicados Aplicação Compartilhada Banco Compartilhado @sobrinho
Single-Tenant Aplicação Compartilhada Bancos Dedicados Aplicação Compartilhada Banco Compartilhado @sobrinho
Single-Tenant Aplicação Compartilhada Bancos Dedicados Aplicação Compartilhada Banco Compartilhado @sobrinho
Separação Lógica @sobrinho
Foreign Keys @sobrinho
@sobrinho
Postgres Schemas @sobrinho
@sobrinho
Bancos dedicados @sobrinho
@sobrinho
Qual a melhor opção? @sobrinho
¯\_(ツ)_/¯ @sobrinho
Depende do contexto do seu produto, financeiro e operacional @sobrinho
@sobrinho
Performance @sobrinho
Particionamento lógico de dados @sobrinho
Arquiteturas Master/Master e Master/Slave @sobrinho
Escalabilidade horizontal e vertical @sobrinho
Obrigado! @sobrinho
Perguntas? @sobrinho
Estamos contratando! @sobrinho @sobrinho
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