|

Multi-tenant application design approach

Authors: Zadorozhnyi V.V.
Published in issue: #9(38)/2019
DOI: 10.18698/2541-8009-2019-9-527


Category: Informatics, Computer Engineering and Control | Chapter: System Analysis, Control, and Information Processing, Statistics

Keywords: multi-tenancy, multi-user application, SaaS, domain name, proxy server, dns server, database, backend, client, server, microservice, multi-tenant, single-tenant
Published: 26.09.2019

The article introduces the definition of multi-tenancy, gives an example of designing a multi-user software product. The units from which such applications are built are graphically shown. As an example, the paper proposes and describes the structure of a web application that fully meets the theme of work. For a specific dedicated technology stack, some problems of implementing system and infrastructure procedures that ensure the integrity of a multi-tenant system are noted. To solve them, several algorithms are presented with the aim of further automating them, as well as minimizing errors during application development. The authors give an example of the joint use of two server computers for iterative development of the final product, and indicate their functional significance.


References

[1] Bennet K. et al. Service-based software: the future for flexible software. Proc. 7th APSEC, 2000. DOI: 10.1109/APSEC.2000.896702 URL: https://ieeexplore.ieee.org/document/896702

[2] Traudt E., Konary A. Software as a service taxonomy and research guide. IDC Research Report, 2005.

[3] Familiar B. Microservices, IoT and Azure. Apress, 2015.

[4] Connolly T., Begg C. Database systems: a practical approach to design, implementation, and management. Addison Wesley, 2001. (Russ. ed.: Bazy dannykh. Proektirovanie, realizatsiya i soprovozhdenie. Teoriya i praktika. Moscow, Vil’yams Publ., 2003.)

[5] Richards M. Microservices vs. service-oriented architecture. O’Reilly Media, 2015.

[6] Newman. S. Building microservices. O’Reilly Media, 2015.

[7] Liu C., Albitz P. DNS and BIND. O’Reilly Media, 2001. (Russ. ed.: DNS i BIND. Sankt-Petersburg, Simvol-Plyus Publ., 2002.)

[8] Hypertext Transfer Protocol — HTTP/1.1. URL: https://www.ietf.org/rfc/rfc2616.txt (accessed: 12.05.2019).

[9] Niu Y., Liu F., Li Z. Load balancing across microservices. IEEE INFOCOM, 2018. DOI: 10.1109/INFOCOM.2018.8486300 URL: https://ieeexplore.ieee.org/document/8486300

[10] Duvall P.M., Matyas S., Glover A. Continuous integration: improving software quality and reducing risk. Addison-Wesley Professional, 2007. (Russ. ed.: Nepreryvnaya integratsiya: uluchshenie kachestva programmnogo obespecheniya i snizhenie riska. Moscow, Vil’yams Publ., 2008.)