Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Sua solução SaaS é multi-tenant? Entendendo o modelo multi-tenant!

No description
by

Fabricio Giordani

on 26 June 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Sua solução SaaS é multi-tenant? Entendendo o modelo multi-tenant!

Entendendo o conceito multi-tenant!
Sua solução SaaS é multi-tenant?
Fabricio Giordani
@fgiordani
fgiordani@gmail.com
www.fgiordani.com.br

Objetivos
SaaS - Software as a service
Tenant isolado
Multi-tenant
Preocupações
Desafios
Estratégias
SaaS
Software as a service
Cloud
"Software implementado como um serviço hospedado e acessado pela Internet." (Microsoft)

"É um modelo de fornecimento de software em que os dados e o software estão centralmente hospedados na nuvem sendo acessado por usuários através de um navegador web." (Wikipedia)
SaaS
A mudança no modelo de negócios
Multi-tenant
Quando adotar Multi-tenant é viável?
Multi-tenant
Isolamento
Multi-tenant
Servidor aplicação
Banco de dados
Esquema
Tenant
Aplicação
Infraestrutura
Tenant isolado
Servidor aplicação
Banco de dados
Esquema
Tenant A
Aplicação
Infraestrutura
Servidor aplicação
Banco de dados
Esquema
Tenant B
Aplicação
Hardware
Arquitetura da aplicação
Escalabilidade
Gerenciamento de deploys
Custo
Servidor aplicação
Esquema
Tenant A
Infraestrutura
Esquema
Tenant B
Aplicação
Banco de dados
Servidor aplicação
Tenant A
Infraestrutura
Esquema
Tenant B
Aplicação
Banco de dados
As maiores preocupações:
Isolamento de dados
Escalabilidade
Customização
Servidor aplicação
Instância DB
Banco ou esquema
Tenant
Aplicação
Infraestrutura
Stack totalmente isolada: modelo tradicional
Isolamento pela instância de banco de dados
Isolamento pelo esquema
Isolamento pela aplicação
Recomendado para um número reduzido de tenants
Isolamento pelo esquema com uma aplicação por tenant
Isolamento de toda a stack
Multi-tenant
Banco de dados
Esquema
Tenant A
Infraestrutura
Servidor aplicação
Banco de dados
Esquema
Tenant B
Aplicação
Isolamento pela instânia de banco com uma aplicação para cada tenant
Aplicação:
Banco de dados:
Modelo de dados
Isolamento dos dados
Backups
Gerenciamento
Escalabilidade
Custo
Perspectivas:
Aplicação
Banco de dados
Modelo de negócio
Modelo de negócio:
Custo
Crecimento
Arquitetura da aplicação
Escalabilidade
Gerenciamento de deploys
Custo
Aplicação:
Banco de dados:
Modelo de dados
Isolamento dos dados
Backups
Gerenciamento
Escalabilidade
Custo
Modelo de negócio:
Custo
Crecimento
Arquitetura da aplicação
Escalabilidade
Gerenciamento de deploys
Custo
Aplicação:
Banco de dados:
Modelo de dados
Isolamento dos dados
Backups
Gerenciamento
Escalabilidade
Custo
Modelo de negócio:
Custo
Crecimento
Isolamento pela aplicação com uma aplicação por tenant
Arquitetura da aplicação
Escalabilidade
Gerenciamento de deploys
Custo
Aplicação:
Banco de dados:
Modelo de dados
Isolamento dos dados
Backups
Gerenciamento
Escalabilidade
Custo
Modelo de negócio:
Custo
Crecimento
Estratégias de customização
Scripts:
Estratégias de isolamento
Frameworks:
Recomendado para um número médio de tenants
Multi-tenant
Estratégias de isolamento
Recomendado para um número grande de tenants
JEE 7 -> JPA 2.1 (JSR 338)
Estrategias de isolamento
Banco de dados:
CREATE FUNCTION getTenantId()
RETURNS VARCHAR(10)
RETURN @tenantId;
CREATE OR REPLACE VIEW tabela AS
SELECT id, descricao
FROM produtos
WHERE tenantId = getTenantId();
MySQL
Isolado
Compartilhado
Número de tenants
Tamanho do banco
Usuários por tenant
Coordenador da equipe de pesquisa e desenvolvimento da Betha Sistemas e professor na Universidade do Extremo Sul Catarinense
Bacharel em Sistemas de informação e MBA em Gestão Empresarial
Quase 10 anos de experiência com desenvolvimento e arquitetura de sistemas
Mais de 6 anos ministrando cursos e aulas sobre java
SCJP (Sun Certified Java Programmer)
Quem sou eu?
Fabricio Giordani
Complexo
Menor custo
Maior custo
Fabricio Giordani
@fgiordani
fgiordani@gmail.com
www.fgiordani.com.br
Sua solução SaaS é multi-tenant?
Entendendo o conceito multi-tenant!
?
Servidor aplicação
Banco de dados
Esquema
Tenant A
Aplicação
Infraestrutura
Servidor aplicação
Banco de dados
Esquema
Tenant B
Aplicação
Estratégias de customização
Dúvidas
Obrigado!
http://www.betha.com.br/selecao
APM
Aplication Performance Management
Demo
Mysql + JSF + JPA
Isolamento de Banco e Aplicação
Banco de dados
Aplicação
Full transcript