{"id":265911,"date":"2021-06-03T21:00:03","date_gmt":"2021-06-03T18:00:03","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/what-is-multi-tenancy-and-how-does-it-impact-saas-applications-cloudsavvy-it\/"},"modified":"2021-06-03T21:00:03","modified_gmt":"2021-06-03T18:00:03","slug":"what-is-multi-tenancy-and-how-does-it-impact-saas-applications-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/what-is-multi-tenancy-and-how-does-it-impact-saas-applications-cloudsavvy-it\/","title":{"rendered":"#What Is Multi-Tenancy and How Does It Impact SaaS Applications? \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a3b731326104\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a3b731326104\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-multi-tenancy-and-how-does-it-impact-saas-applications-cloudsavvy-it\/#Why_Use_Multi-Tenancy\" >Why Use Multi-Tenancy?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-multi-tenancy-and-how-does-it-impact-saas-applications-cloudsavvy-it\/#Drawbacks_of_Multi-Tenancy\" >Drawbacks of Multi-Tenancy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-multi-tenancy-and-how-does-it-impact-saas-applications-cloudsavvy-it\/#Hybrid_Tenancy\" >Hybrid Tenancy?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-multi-tenancy-and-how-does-it-impact-saas-applications-cloudsavvy-it\/#Tenant_Access\" >Tenant Access<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-multi-tenancy-and-how-does-it-impact-saas-applications-cloudsavvy-it\/#Summary\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#What Is Multi-Tenancy and How Does It Impact SaaS <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">App<\/a>lications? \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<figure style=\"width: 1880px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage wp-image-11786 size-full\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/05\/7fc3eb4d.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"group people talking\" width=\"1880\" height=\"880\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"type:primaryImage imagecredit\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-illustration\/group-people-talking-social-network-291434984\">Shutterstock\/Peshkova<\/a><\/span><\/figcaption><\/figure>\n<p>Multi-tenancy describes a software architecture where a single physical installation can provide multiple logical installations. Each logical installation serves a dedicated userbase dubbed a \u201ctenant.\u201d<\/p>\n<p>Multi-tenancy is most frequently seen in the context of cloud SaaS services. Organizations that sign-up to a service become \u201ctenants.\u201d The tenant encapsulates organization-level configuration and usually supports multiple end-user accounts. When a user logs in, they see their organization\u2019s tailored view of the service.<\/p>\n<h2 id=\"why-use-multi-tenancy\"><span class=\"ez-toc-section\" id=\"Why_Use_Multi-Tenancy\"><\/span>Why Use Multi-Tenancy?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The primary alternative to multi-tenancy is single-tenancy. In this model, each tenant receives their own standalone installation of the system. In practice, this means dedicated server infrastructure needs to be configured for each tenant.<\/p>\n<p>Multi-tenancy exists purely within your application. Each tenant shares the same server infrastructure. This simplifies the setup of new tenants as you don\u2019t need to provision any extra resources. The costs of running a multi-tenant service can therefore be lower than a comparable single-tenant implementation.<\/p>\n<p>Shared infrastructure also means greater operating efficiency. You might have a tenant who uses the service infrequently. With a single-tenant platform, you\u2019d still be provisioning a dedicated installation, even though it would sit idle most of the time.<\/p>\n<p>With a multi-tenant architecture, you\u2019re maintaining one set of systems. You can anticipate overall aggregate load and don\u2019t need to keep systems parked on the off-chance a tenant logs in. Resources are distributed between the active users. The flip side is that a particularly busy tenant could negatively impact the others, causing knock-on performance issues.<\/p>\n<p>Multi-tenancy can be much easier to maintain over time. You\u2019ve got one installation of your service which means one set of migrations. Multi-tenancy aligns well with modern software development workflows driven by continuous integration and rapid deployments. Iterating on a single-tenant system means you need to build orchestration scripts to upgrade all your tenant environments individually.<\/p>\n<p>Once again, there\u2019s two sides to this: single-tenancy has a significant advantage when you want a gradual roll-out. The per-tenant isolation simplifies incremental releases where only a minority of your userbase sees a new feature on day one.<\/p>\n<p>Single-tenancy also helps you accommodate individual client requests. A tenant might wish to stay on an older platform version for a little longer, giving their users more time to prepare for change. There\u2019s no need for everyone to move together when tenants can be migrated individually.<\/p>\n<p>Multi-tenancy works best when every organisation has the same broad requirements. In this scenario, all the tenants benefit from every change that\u2019s made. The provider benefits from reduced time-to-launch and improved operating efficiency but loses a degree of tenant isolation.<\/p>\n<h2 id=\"drawbacks-of-multi-tenancy\"><span class=\"ez-toc-section\" id=\"Drawbacks_of_Multi-Tenancy\"><\/span>Drawbacks of Multi-Tenancy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Alongside the issues described above, multi-tenancy introduces some important considerations into every application. Top of the list is security, which could be more easily compromised in a multi-tenant service.<\/p>\n<p>Single-tenancy lets you put strong safeguards around each tenant\u2019s data. In a multi-tenant environment, everyone\u2019s data will exist within the same infrastructure. That means there\u2019s one centralized location for an attacker to target.<\/p>\n<p>Multi-tenancy can be more demanding on developers. Each operation within your service needs to be manually scoped to the active tenant. Database tables storing tenanted resources will need to include a <code>tenant_id<\/code> field or similar, allowing each record to be linked to its tenant.<\/p>\n<p>In a single-tenant application, where each tenant gets its own standalone installation, the following database query might be acceptable:<\/p>\n<pre class=\"sql\"><code>SELECT * FROM orders;<\/code><\/pre>\n<p>In a multi-tenant environment, you\u2019ll need to adjust that:<\/p>\n<pre class=\"sql\"><code>SELECT * FROM orders WHERE tenant_id = 1;<\/code><\/pre>\n<p>A single faulty database query could disclose the sensitive information of your other tenants.<\/p>\n<p>Backing up a multi-tenant service is usually straightforward. You\u2019ve only got one application installation to take care of. Challenges arise in restoration though. It\u2019s harder to selectively restore data for one tenant as all the data exists in a single dump. Providing a tenant with their data archive raises similar concerns \u2013 you\u2019ll need a custom mechanism to extract their records out of the shared infrastructure.<\/p>\n<h2 id=\"hybrid-tenancy\"><span class=\"ez-toc-section\" id=\"Hybrid_Tenancy\"><\/span>Hybrid Tenancy?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Some applications are moving towards \u201chybrid tenancy.\u201d This concept blends the best of both models. Hybrid tenancy aligns well with systems built using microservices. Some services will be single-tenanted while others will use a form of multi-tenancy.<\/p>\n<p>This can help you further improve the efficiency of your architecture. You might want a multi-tenant approach to global functions, such as authentication and third-party integrations. Data generated by your service\u2019s users could then be stored separately, using multiple instances of a single-tenant service.<\/p>\n<p>Using a mix of single- and multi-tenant services gives you more flexibility. You can accelerate the launch of new features by using the approach that works best for each one. Hybrid tenancy can offer greater overall value by providing a more optimum balance between development ease, security, cost and maintenance.<\/p>\n<p>There are sticking points, particularly around complexity and distribution. Artificially separating your application into single- and multi-tenant standalone services isn\u2019t the right way to approach hybrid tenancy. It tends to work best in systems which already possess clearly distinct user-facing components.<\/p>\n<h2 id=\"tenant-access\"><span class=\"ez-toc-section\" id=\"Tenant_Access\"><\/span>Tenant Access<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Your service will probably need to store some global data that doesn\u2019t belong to any particular tenant. The list of registered tenants is one such example.<\/p>\n<p>In a single-tenant system, you might have a dedicated \u201csuperuser\u201d installation of your service. With a multi-tenant approach, you can simply have a <code>tenants<\/code> table in your database.<\/p>\n<p>When a user hits your service, you need to know which tenant they belong to. A common way to identify tenants is by subdomain detection:<\/p>\n<pre>tenant1.example.com&#13;\n&#13;\ntenant2.example.com<\/pre>\n<p>Some sites use URL paths (<code>example.com\/tenant1<\/code>) or may let tenants bring their own domain name. Others will expose a single entrypoint (<code>example.com<\/code>) but then set tenant-identifying cookies or HTTP headers after a user logs in.<\/p>\n<p>You also need to handle users who belong to multiple tenants. Many services now let you login with shared credentials. User records are stored globally \u2013 outside the tenanted system \u2013 and get linked into tenants by database relations. This won\u2019t always be appropriate for your system: if you provide dedicated subdomains or support tenant-provided domains, it might be undesirable to let the user \u201cchange organisation.\u201d<\/p>\n<h2 id=\"summary\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u201cTenancy\u201d refers to how an application handles data from multiple distinct userbases. Each tenant gets its own operating environment; how that\u2019s provisioned depends on the tenancy model.<\/p>\n<p>Single-tenant services are simple but inefficient. Multi-tenant services minimise maintenance requirements but require more thought to design. Hybrid tenancy is an emerging pattern which uses microservices to combine the two approaches.<\/p>\n<p>There\u2019s no go-to rule to help you determine the approach to use. Weigh up how each model performs on the attributes that matter most to you. If you\u2019re looking for strong isolation and will significantly customise your service per-tenant, single-tenancy might be best. Conversely, if you know you\u2019ll have a large number of tenants, look to multi-tenancy but keep security at the forefront of your mind.\n<\/p><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/11484\/what-is-multi-tenancy-and-how-does-it-impact-saas-applications\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#What Is Multi-Tenancy and How Does It Impact SaaS Applications? \u2013 CloudSavvy IT&#8221; Shutterstock\/Peshkova Multi-tenancy describes a software architecture where a single physical installation can provide multiple logical installations. Each logical installation serves a dedicated userbase dubbed a \u201ctenant.\u201d Multi-tenancy is most frequently seen in the context of cloud SaaS services. Organizations that sign-up to&#8230;<\/p>\n","protected":false},"author":1,"featured_media":265912,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/05\/7fc3eb4d.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-265911","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/265911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=265911"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/265911\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/265912"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=265911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=265911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=265911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}