Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Arquiteturas Multi-Tenant RubyConf 2022
Search
Gabriel Sobrinho
September 09, 2022
Programming
0
230
Arquiteturas Multi-Tenant RubyConf 2022
Gabriel Sobrinho
September 09, 2022
Tweet
Share
More Decks by Gabriel Sobrinho
See All by Gabriel Sobrinho
Introduction to Go
sobrinho
1
120
Casos de otimização em aplicações Ruby on Rails
sobrinho
0
310
Introduction to automated tests (Goiania)
sobrinho
0
150
Introduction to automated tests
sobrinho
3
240
Otimização de Aplicações RoR
sobrinho
1
280
Introdução ao React (Simplificado)
sobrinho
0
150
Algoritmos de pesquisa
sobrinho
0
670
Introdução ao Docker
sobrinho
1
120
Introdução ao React
sobrinho
0
340
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
150
Cell-Based Architecture
larchanjo
0
130
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.9k
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
120
エディターってAIで操作できるんだぜ
kis9a
0
730
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
3
820
関数実行の裏側では何が起きているのか?
minop1205
1
700
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
220
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.3k
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
150
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
170
Featured
See All Featured
Thoughts on Productivity
jonyablonski
73
5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Producing Creativity
orderedlist
PRO
348
40k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Context Engineering - Making Every Token Count
addyosmani
9
530
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Faster Mobile Websites
deanohume
310
31k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
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