em Ciência da pela UFPE ◦ Especialização em Ciência dos dados e Analytics pela UPE ◦ 6 anos de desenvolvimento com Python e Django ◦ Full Stack developer na Vinta github.com/arineto arineto.github.io
maturidade de aplicações SaaS ◦ Por que isso importa? • Características Chave ◦ Alto Nível de Configurabilidade ◦ Compartilhamento de Hardware e da Aplicação ◦ Escolha da Abordagem • Vantagens e Desvantagens
permite servir múltiplos tenants (clientes) através de uma única instância da aplicação e do banco de dados. Além disso, é possível configurar essa aplicação para atender as necessidades de cada tenant (Bezemer e Zaidman, 2010).
porte tem algum tipo de aplicação em Nuvem. Fonte: Global Technology Adoption Index, 2014. SaaS cresceu em 2014 cinco vezes mais rápido que o mercado de software tradicional. Fonte: Worldwide SaaS and Cloud Software 2015-2019 Forecast and 2014 Vendor Shares.
e customização da aplicação • Opções integradas ao design do produto • Código único, sem alterações específicas para clientes 2 - Compartilhamento de Hardware e da Aplicação • Todos os tenants compartilham o hardware e a aplicação • Abordagens: ◦ Aplicação compartilhada com bancos separados ◦ Aplicação e banco compartilhados com schemas separados ◦ Aplicação, banco e tabelas compartilhados
Vantagem: Dados de cada tenant ficam fisicamente separados • Desvantagem: Provisionar e conectar um novo banco para cada tenant 2 - Banco compartilhado com schemas separados • Vantagem: Facilidade para manter e escalar • Desvantagem: Backup lento para grande número de schemas 3 - Banco e tabelas compartilhados • Vantagem: Consultas globais • Desvantagens: Cuidado com vazamento de dados entre tenants
cliente • Manutenção Simplificada • Redução dos custos de infra e manutenção • Maximiza utilização dos recursos Desvantagens: • Software mais complexo • Identificação de gargalos mais complicado • Custo para reestruturação de aplicações legadas elevado