Slide 1

Slide 1 text

Aplicações Multi-Tenant utilizando NodeJS O que são sistemas multi locatários e como que isso funciona no Node

Slide 2

Slide 2 text

Sobre mim - https://www.linkedin.com/in/eusouodaniel - https://github.com/eusouodaniel - https://eusouodaniel.com - https://dev.to/eusouodaniel #TrilhaJavaScript <3

Slide 3

Slide 3 text

O que veremos hoje? - O que é uma aplicação Multi Tenant? - Quais são os princípios? - Em quais cenários pode ser aplicado? - Desafios - Vantagens e Desvantagens - Gerenciamento de infra - Aplicabilidade no NodeJS

Slide 4

Slide 4 text

O que é uma aplicação Multi Tenant? - Uma única aplicação para vários clientes - Customização do cliente não impacta outros clientes - Estrutura comum entre os clientes - SAAS - Garantia de isolamento de implementação e customização

Slide 5

Slide 5 text

Quais são os princípios? - Uma única aplicação web pode responder a diversos clientes - Aplicação compartilhada com múltiplos bancos de dados - Aplicação compartilhada com apenas um banco de dados - Isolamento dos dados e flexibilidade

Slide 6

Slide 6 text

Em quais cenários pode ser aplicado? - Plataformas as a service

Slide 7

Slide 7 text

Desafios - Isolamento - Gerenciamento de complexidade - Segurança dos tenants - Recuperação à falhas - Customização

Slide 8

Slide 8 text

Vantagens - Fácil integração - Manutenção - Custo reduzido - Fácil atualização - Utilização de recursos otimizada

Slide 9

Slide 9 text

Desvantagens - Aumento de complexidade no gerenciamento - Em alguns casos a flexibilidade é dificultada - Se o servidor cair, dependendo do gerenciamento, todos caem

Slide 10

Slide 10 text

Gerenciamento de infra - Compartilhamento do mesmo cluster em diferentes cargas de trabalho - Separação de recursos como CPU e RAM - Uso de cluster único por tenant

Slide 11

Slide 11 text

Prática utilizando MongoDB

Slide 12

Slide 12 text

Aplicabilidade no Node - Banco de dados *Buscando conexão de acordo com banco de dados

Slide 13

Slide 13 text

Aplicabilidade no Node - Schemas *Schema de exemplo

Slide 14

Slide 14 text

Aplicabilidade no Node - Persistência *Realização operação no banco de acordo com conexão criada anteriormente

Slide 15

Slide 15 text

Prática utilizando Mysql

Slide 16

Slide 16 text

Aplicabilidade no Node - Banco de dados *Criando conexão de acordo com banco de dados

Slide 17

Slide 17 text

Aplicabilidade no Node - Banco de dados *Buscando conexão de acordo com banco de dados

Slide 18

Slide 18 text

Aplicabilidade no Node - Buscando valores *Buscando dados de acordo com banco de dados

Slide 19

Slide 19 text

Momento para perguntas

Slide 20

Slide 20 text

OBRIGADO!

Slide 21

Slide 21 text

Links úteis - https://github.com/eusouodaniel/tdc-javascript-tenant - https://www.treinaweb.com.br/blog/o-que-e-uma-aplicacao-multitenant - https://medium.com/@edytarcio/arquitetura-multi-tenancy-bb7b47d7ba - https://www.devmedia.com.br/transforme-aplicacoes-web-em-servicos-m ulti-tenant/28881 - https://eximia.co/single-tenant-multi-tenant-ou-hibrido-que-estrategia-ad otar-para-aplicacoes-que-atendem-diversos-clientes - https://www.oracle.com/br/database/multitenant