Multi-level nested multi-tenancy in web software engineering

Bibliographic Details
Main Author: Feda, Shoaib
Publication Date: 2024
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10400.26/54138
Summary: An internship was done at a company that ran a suite of in-house built SaaS applications. Since many of the different applications needed the same features such as authentication, authorization, subscription, database management, etc., a single core macroservice was built to serve all the different applications and their different tenants from a single codebase (application). This greatly reduced time-to-market for new SaaS projects and enabled teams to focus more on business and domain features with an estimated 80% reduction in time spent on maintenance and development of the commonly shared modules. This greatly increased productivity among engineer teams and a subjective survey of 12 engineers of various ages and experience levels indicating high satisfaction levels and increase in productivity. The primary focus was to build a solution that provides data isolation for customers which is why a nested multi-level multitenant, multi-database architecture was used, providing a isolated databases, cache stores, queues and logs for each customer. A no-estimation mindset was used in a hybrid kanban-agile scrum methodology which helped achieve more accurate projections with regards to time to complete projects. Furthermore, asynchronous PHP was explored to boost performance were usable which resulted in 54% increase in number of requests that can be handled given the same resources for some endpoints that can make use of concurrency. The language and framework of choice was PHP Laravel and different ways of achieving multi-tenancy in it was discussed, weighed and some implemented.
id RCAP_c35bf90cb0ce49df55c62d05c1f1b3fc
oai_identifier_str oai:comum.rcaap.pt:10400.26/54138
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Multi-level nested multi-tenancy in web software engineeringMulti-tenancySaaSServerBackendMulti-databaseMulti-clienIsolated databasesIsolated data storesAn internship was done at a company that ran a suite of in-house built SaaS applications. Since many of the different applications needed the same features such as authentication, authorization, subscription, database management, etc., a single core macroservice was built to serve all the different applications and their different tenants from a single codebase (application). This greatly reduced time-to-market for new SaaS projects and enabled teams to focus more on business and domain features with an estimated 80% reduction in time spent on maintenance and development of the commonly shared modules. This greatly increased productivity among engineer teams and a subjective survey of 12 engineers of various ages and experience levels indicating high satisfaction levels and increase in productivity. The primary focus was to build a solution that provides data isolation for customers which is why a nested multi-level multitenant, multi-database architecture was used, providing a isolated databases, cache stores, queues and logs for each customer. A no-estimation mindset was used in a hybrid kanban-agile scrum methodology which helped achieve more accurate projections with regards to time to complete projects. Furthermore, asynchronous PHP was explored to boost performance were usable which resulted in 54% increase in number of requests that can be handled given the same resources for some endpoints that can make use of concurrency. The language and framework of choice was PHP Laravel and different ways of achieving multi-tenancy in it was discussed, weighed and some implemented.Oliveira, Luís Miguel Lopes dePanda, Renato Eduardo SilvaAhmad, MasoodRepositório ComumFeda, Shoaib2025-02-01T12:20:45Z202420242024-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.26/54138urn:tid:203880722enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-05-05T09:54:15Zoai:comum.rcaap.pt:10400.26/54138Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T06:58:44.782790Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Multi-level nested multi-tenancy in web software engineering
title Multi-level nested multi-tenancy in web software engineering
spellingShingle Multi-level nested multi-tenancy in web software engineering
Feda, Shoaib
Multi-tenancy
SaaS
Server
Backend
Multi-database
Multi-clien
Isolated databases
Isolated data stores
title_short Multi-level nested multi-tenancy in web software engineering
title_full Multi-level nested multi-tenancy in web software engineering
title_fullStr Multi-level nested multi-tenancy in web software engineering
title_full_unstemmed Multi-level nested multi-tenancy in web software engineering
title_sort Multi-level nested multi-tenancy in web software engineering
author Feda, Shoaib
author_facet Feda, Shoaib
author_role author
dc.contributor.none.fl_str_mv Oliveira, Luís Miguel Lopes de
Panda, Renato Eduardo Silva
Ahmad, Masood
Repositório Comum
dc.contributor.author.fl_str_mv Feda, Shoaib
dc.subject.por.fl_str_mv Multi-tenancy
SaaS
Server
Backend
Multi-database
Multi-clien
Isolated databases
Isolated data stores
topic Multi-tenancy
SaaS
Server
Backend
Multi-database
Multi-clien
Isolated databases
Isolated data stores
description An internship was done at a company that ran a suite of in-house built SaaS applications. Since many of the different applications needed the same features such as authentication, authorization, subscription, database management, etc., a single core macroservice was built to serve all the different applications and their different tenants from a single codebase (application). This greatly reduced time-to-market for new SaaS projects and enabled teams to focus more on business and domain features with an estimated 80% reduction in time spent on maintenance and development of the commonly shared modules. This greatly increased productivity among engineer teams and a subjective survey of 12 engineers of various ages and experience levels indicating high satisfaction levels and increase in productivity. The primary focus was to build a solution that provides data isolation for customers which is why a nested multi-level multitenant, multi-database architecture was used, providing a isolated databases, cache stores, queues and logs for each customer. A no-estimation mindset was used in a hybrid kanban-agile scrum methodology which helped achieve more accurate projections with regards to time to complete projects. Furthermore, asynchronous PHP was explored to boost performance were usable which resulted in 54% increase in number of requests that can be handled given the same resources for some endpoints that can make use of concurrency. The language and framework of choice was PHP Laravel and different ways of achieving multi-tenancy in it was discussed, weighed and some implemented.
publishDate 2024
dc.date.none.fl_str_mv 2024
2024
2024-01-01T00:00:00Z
2025-02-01T12:20:45Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.26/54138
urn:tid:203880722
url http://hdl.handle.net/10400.26/54138
identifier_str_mv urn:tid:203880722
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833602846452350976