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
Gabriel Sobrinho
September 09, 2022
Programming
0
220
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
110
Casos de otimização em aplicações Ruby on Rails
sobrinho
0
310
Introduction to automated tests (Goiania)
sobrinho
0
140
Introduction to automated tests
sobrinho
3
230
Otimização de Aplicações RoR
sobrinho
1
270
Introdução ao React (Simplificado)
sobrinho
0
150
Algoritmos de pesquisa
sobrinho
0
660
Introdução ao Docker
sobrinho
1
110
Introdução ao React
sobrinho
0
340
Other Decks in Programming
See All in Programming
Discover Metal 4
rei315
2
130
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
130
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
820
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
86
29k
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
680
NPOでのDevinの活用
codeforeveryone
0
830
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
280
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
1
18k
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
770
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.3k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Bash Introduction
62gerente
613
210k
GraphQLとの向き合い方2022年版
quramy
49
14k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Pragmatic Product Professional
lauravandoore
35
6.7k
For a Future-Friendly Web
brad_frost
179
9.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Making the Leap to Tech Lead
cromwellryan
134
9.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