The global cloud computing market is predicted to rise from $445.3 billion to $947.3 billion at a CAGR of 16.3% during the 2021-2026 period. Cloud computing represents the use of networks of remote services to store, manage, and process data. It offers customers access to numerous technologies at lower entry barriers, such as costs and technical expertise. With cloud computing, enterprises can access computing resources hosted by third parties on the internet instead of creating or expanding their own IT infrastructure. Such a model provides enterprises with ubiquitous and flexible access to a pool of configurable computing resources, such as databases, software applications, servers, computing power, and storage capacity.
Types of Cloud Computing
Software as a Service
Software as a service, or SaaS, represents the largest segment of cloud computing. For the moment, it generates the largest share of the market’s revenue and has become a common delivery model for many enterprise applications. In 2021, the SaaS market was worth approximately $152 billion and was estimated to reach $208 billion by 2023. SaaS apps are run in the cloud and are usually accessible through desktops, mobile applications, and a web interface. Under the SaaS model, customers pay for access to software and databases while the service provider manages the platforms and infrastructure. Popular applications of SaaS include enterprise resource planning software and customer relationship management, with Microsoft, Adobe, Salesforce, and SAP being the major players in this segment. Also, depending on business needs and security concerns, customers can choose between private, public, or hybrid cloud deployment models.
Platform as a Service
Platform as a service (PaaS) is another cloud computing market segment. It provides customers with access to a computing platform for application development. The platform may include an operating system, databases, web servers, and access to programming language environments. To date, the most prominent PaaS providers include:
- Microsoft Azure;
- Amazon Web Services (AWS);
- Google Cloud Platform (GCP).
- Infrastructure as a Service
Infrastructure as a service (IaaS) is the third component of the cloud computing market. This segment gives customers access to offline support through virtual machines, storage, servers, and networking. More than half of the IaaS market is controlled by Amazon, while Microsoft and Alibaba take the second and third largest shares, respectively.
Use of Cloud Computing
Cloud computing services meet a wide range of business ICT needs. According to statistics, 66% of enterprises use the cloud for storing files, 61% for office software, 58% for security software apps, and 46% for hosting their database. The use of cloud computing is exceptionally high among large enterprises, with 72% using cloud services in 2021.
Of the enterprises using cloud computing, 94% of them use at least one cloud SaaS, 74% use at least one cloud IaaS, and 21% use at least one cloud PaaS, with the highest proportion of enterprises highly dependent on cloud services in Sweden (60 %), Denmark (59 %), Finland (57 %) and the Netherlands (56 %).
Cloud computing services offer enterprises a range of advantages, including flexibility, agility, and scalability, helping them improve their business needs and reduce costs. As of now, this market is showing no signs of slowing its growth and development, while the emergence of serverless computing, hybrid cloud architectures, edge computing, and containerization is considered to be the prominent trends expected to shape the cloud computing landscape in the coming years.
What Is Multi-Tenancy? Types of Multitenant SaaS Architectures
While working in the cloud, one of the major decisions is to choose which type of architecture is best to adopt for your business and customer data to build profitable SaaS software. Single-tenant and multi-tenant cloud environments are the primary options to consider. Both these types of architecture have privacy and security applications and feature pros and cons.
To date, multi-tenant architecture is the backbone of almost every SaaS product deployed on the cloud. Building a SaaS application on this type of architecture can help save costs, improve the efficiency of resources used and scalability, and quickly introduce updates. Popular SaaS products like Slack, Atlassian, Salesforce, ClickUp, Gmail, Shopify, DropBox, and Hubspot CRM support multi-tenant architecture to offer services to millions of customers worldwide. What is multi-tenancy, and why is it so beneficial for SaaS apps?
In cloud computing, the “multi-tenancy” term means that a cloud vendor's multiple customers (tenants) use the same computing resources and operate in a shared environment. Even though tenants share resources, they aren’t aware of each other, and their data is kept separate. Tenants may customize some parts of the application, such as business rules or the color of the user interface, although they aren’t allowed to change the app’s code. In a multi-tenant architecture, each tenant is integrated physically but logically separated, which means that a single software instance runs on one server and serves multiple tenants. In this way, an application can share a dedicated instance of configurations, user management, data, and other properties.
With a multi-tenant setup, you have one big database that houses all the customer data, which stays private. While tenants can’t see each other’s data, they live in the same database, and the same computer processes all the data. Multi-tenancy applications can share the same users, rules, displays, and database schemas, which tenants can configure. Multitenancy is considered a crucial component of cloud computing, as cloud services would be less practical without it. This type of architecture is a feature in many types of public cloud computing, including SaaS, PaaS, IaaS, serverless computing, and containers.
Multi-tenancy is really the future of our industry
The real estate analogy can be used to understand the main difference between single-tenant and multi-tenant architecture. In a single-tenant cloud, each tenant lives alone in a single apartment building with its own facilities and security system and is entirely independent and isolated from neighboring buildings. In the case of multi-tenant architecture, tenants live in different apartments in the same multi-apartment building. They share the same communal facilities and security system, although each tenant has a key to his apartment, and his privacy is guaranteed. Tenants can customize their apartments according to their requirements and preferences, although other tenants' activity can impact their comfort in the building.
There are three main types of multi-tenant architectures, differing from each other in their complexity and costs.
One Application Instance, One Database
It is the simplest form of three, which uses a single application and database instance to host tenants and store data. This setup features a relatively low cost for tenants because of shared resources. This architectural style also offers scalability and increases the resources and capacity as the number of tenants increases.
Pros of the type:
- Easy to scale;
- Low cost.
Cons of the type:
- Noisy-neighbor effect.
One Application Instance, Several Databases
This setup includes the use of a single application instance with multiple databases. Each tenant has an individual database, which is independently and exclusively maintained. It is a valuable architecture type when data from different tenants needs to be treated differently, although this tenant system has a higher cost. Additional expenses may also occur when considering scalability, as a business will have to request the compute node additions.
Pros of the type:
- Easy management;
- Reduced noisy-neighbor effect;
- Low complexity.
Cons of the type:
- Higher cost;
- Difficult to scale.
Multiple Application Instances, Multiple Databases
The third type of multitenant architecture hosts data in multiple databases. In this setup, each tenant has a separate application instance installed and configured on their end, which means that every app instance will support a separate database. This model is the most expensive and relatively complex in terms of management and maintenance, although tenants can be separated according to the selected criterion.
Pros of the type:
- High security;
- Full control.
Cons of the type:
- Highly expensive;
Difficult to maintain and manage.
Growth, Trends, and Forecasts for Multi-tenant Market
The multi-tenant data center market is predicted to grow with a CAGR of 12.9%, rising from $38,9 billion to $130,7 billion in the 2022-2032 period. Such growth is predicted due to rapidly expanding business processes and a surge in demand for data centers. This demand is coming from both cloud providers and enterprises and is driving the development of multi-tenant data centers that enable enterprises to better serve clients and end users.
The primary factor driving the growth and development of multi-tenant data centers is the growing popularity of green data centers. According to the Climate Neutral Group, data centers worldwide consume about 3% of the global electricity supply and account for about 2% of the total greenhouse gas emissions, which is equal to the entire airline industry, which accounts for around 2.5% of global CO₂ emissions. The adoption of software-defined data centers (SDDCs) is expected to be a driving factor in the multi-tenant data center market over the next few years. Other factors, like an increase in demand for IT services, increased IT spending, and obsolescence of existing data centers, along with quick response and deployment, low operational costs, and technical advancements in IT, are also contributing to the growth of the multi-tenant market. Among the main challenges for the multi-tenant data centers market are data security concerns and the inflexibility of some of the centers.
As for the key trends of the multi-tenant data centers market, the healthcare industry is expected to hold significant growth as it has become heavily dependent on computing and communications. The healthcare infrastructure handles patients’ electronic records, laboratory systems, health monitoring, and regular business operations. In addition, increasing regulations on data acquisition and records, especially those related to clinical trials, are drawing several healthcare clients to data centers.
As for the market growth by the region, Asia-Pacific is expected to hold a significant increase in the multi-tenant data centers market due to large-scale outsourcing of managed hosting services in this region. China has witnessed the growth of its hyperscale platforms, making it necessary to provide data center services for them. The high density of collocation is also present in Japan due to increased data generation and in India, which has one of the fastest-growing economies in the world. India is also expected to boost the growth of public cloud-based data centers due to the domination of the IT industry in the Indian market.
How Does Multi-Tenancy Work?
A distinguishing feature of a multitenant architecture is that a single instance of the software is shared on a public cloud between customers or tenants who share the same computing, networking, and storage resources. Moreover, each tenant can define their instance separately when subscribing to the SaaS product. For example, the instance can store the name of the company, its configuration, admin controls, UI design, etc. In its turn, the SaaS provider stores the files carrying information about the tenants, known as metadata, for each customer. This metadata is then modified at runtime for each tenant to customize their piece of software application based on their business and functional requirements. In addition, a permission system is deployed while building a SaaS app to eliminate the noisy-neighbor effect so that tenants can’t interrupt or interfere with each other with the SaaS app. Below, we’ll consider how multitenancy works in different types of cloud computing.
Multitenancy in Private Cloud Computing
A private cloud is a cloud service offered to one organization. By using this type of cloud, an organization can experience the benefits of cloud computing without sharing resources with other companies. Private cloud computing uses multitenant architecture similarly to public cloud computing, and the only difference is that the other tenants aren’t from external organizations. For example, in public cloud computing, company A can share infrastructure with company B, while in a private cloud, different teams from company A share infrastructure with each other without sharing resources with company B.
Multitenancy in Container Architecture
Containers are self-contained bundles of software that include an application, system settings, libraries, and everything else needed to run an application. They can help ensure that an application works the same no matter where it is hosted. Containers are separated into different user-space environments, and each container operates as if it were the only system on that host machine. As containers are self-contained, multiple containers created by different cloud tenants can run on a single host machine.
Multitenancy in Serverless Computing
Serverless computing or Function-as-a-Service (FaaS) is a model in which applications are broken up into smaller pieces (functions), and each of the functions only runs on demand, separately from other functions. The FaaS model offers a range of benefits to web developers, including reduced costs, scalability, flexibility, and faster time-to-market. Serverless functions don’t run on dedicated servers but any available machine within the serverless provider’s infrastructure. As companies aren’t allocated their separate physical servers, serverless providers often run code from several of their customers on a single server, which is another example of multitenancy.
Multi-Tenant vs. Single-Tenant Architecture. What Is the Difference?
Multi-tenancy is often contrasted with single-tenancy, and each of these types of architecture has its pros and cons. In a single-tenant architecture, each customer has their software instance and may be given access to source code. In this environment, all customer data and interactions are separate from every other tenant, and customers aren’t connected in the same way that tenants of shared infrastructure are. Customer data isn’t stored in the same database, and data exchange is impossible.
Multi-tenant architecture is the more popular option, as most SaaS applications run on multi-tenancy. It implies a model in which a single software instance and database serve multiple tenants. With this type of architecture, the provider only has to make updates once, while in a single-tenancy case, he has to touch numerous software instances to make updates.
Pros and Cons of Multi-Tenant Cloud Architecture
The benefits of multi-tenant architecture relate primarily to scalability, flexibility, and agility. The most important of them include:
- Minimized costs. The multi-tenant model can be used to help manage infrastructure costs. This type of cloud architecture enables sharing a single instance of the software, reducing the overall investments a company makes to establish a SaaS business model. This benefit is significant for startups as it provides companies with a balance between financial stability and the need for service scalability.
- Efficient resource usage. All available resources in a multi-tenant environment are used to the maximum as they are shared among multiple users.
- Seamless adaptation. Multi-tenant architecture is designed to configure services instantly, making the onboarding of each new client simple and intuitive. Tenants have vast customization space, can set up additional third-party installations, and add new users.
- Optimized supervision. Maintenance costs are usually included in a SaaS service purchase agreement, eliminating the problem of finding a specialist and paying for his services. Frequent updates and deployments are also a part of the provider’s operations, which improves uptime and performance.
While the multi-tenant model is often considered the best approach for most consumer-facing apps, and multi-tenant cloud systems have usually been identified as the answer to most IT problems, there are still several drawbacks associated with multi-tenant cloud applications.
- Greater security risk. One of the common drawbacks of multi-tenant cloud systems is that data stored on the cloud apps can be entirely out of the user’s control. The risks are also higher as resources are shared between tenants, and if one customer’s data is compromised, it’s more likely to affect other tenants’ data.
- Resource availability. An increase in one customer's workload may affect other tenants using the same resources in a multi-tenant environment. Also, the applications tend to fragment as more tenants are added, which poses a problem because each customer’s cloud application requires its own SQL database, which could cause a significant resource leak for each tenant.
- Lack of cost visibility. In contrast to a single-tenant system, where each customer has its own database, sharing costs in a multi-tenant architecture is much more challenging.
In addition, multi-tenant cloud systems are more complex than single-tenant models, and the noisy-neighbor effect can also cause customer issues.
Pros and Cons of Single-Tenant Cloud Architecture
The single-tenant architecture also has a variety of business benefits, the most important of that include:
- Data security. In a single-tenant environment, data centers are highly regulated, and each customer’s data is isolated, which minimizes the risk of a data breach.
- Reliability. Since one customer’s activities can’t impact others, single-tenant SaaS architecture is considered more reliable. For example, if one customer's software goes down during a complex integration, it won't affect other tenants' software or the entire system.
- Customization. Single-tenant systems feature more customization options than multi-tenant environments, as each customer has dedicated software and hardware.
- Effortless restoration and backup. Since each tenant’s database has an isolated backup, it is easier and more time-efficient to restore or back up the database in a single-tenant SaaS environment.
- Full control. When all customer’s operations and data run on a dedicated part of a SaaS server, he controls all features, security events, storage settings, and updates to his app.
- Simplified migration. Single-tenant cloud architecture can be quickly and easily migrated and deployed as all information is stored in one space, which makes it easy to export and transfer into a new environment. It also applies to updates - one application can also be easily updated, and new features can be deployed overnight without affecting other applications.
Single-tenancy provides excellent features for users, although it also has a range of drawbacks that make it lag behind the competition. The critical disadvantages of single-tenant SaaS include:
- High costs. Running a single-tenant setup is more expensive than using shared resources in a multi-tenant environment. This architecture doesn’t allow cost-sharing for services like deployment and monitoring - every new customer needs a new instance, which must be paid for.
- Inefficient resource usage. Since customers don’t have the same usage patterns, allocating the same amount of physical resources to each client will result in some clients using all (or even needing more) of their allocated resources while others use little or no resources.
- Complex setup and management. In a single-tenant environment, you have to deploy an instance and set up a database for each customer. As the customer base grows, it becomes more challenging to manage multiple applications.
- More maintenance. Single-tenant SaaS architecture requires constant upgrades and updates, so more maintenance is needed compared to multi-tenant SaaS. It can be time-consuming as the maintenance will be managed by the user, not the cloud provider.
Below is a consolidated table that lists essential differences between single- and multi-tenant SaaS architecture and shows when to use multi-tenant vs. single-tenant environments.
|Parameter||Multi-Tenant Architecture||Single-Tenant Architecture|
|Security and Dependability||As the systems are closely connected, there are more access points to the data and, therefore, higher chances of becoming a victim of malicious attacks.||More secure than multi-tenant as every instance is separated from another. There are no possible data accessibility points between tenants.|
|Speed and Performance||The performance is slightly less than in a single-tenant setup, as the low performance of one multi-tenant app can impact the entire architecture.||Performs better because the performance of a single-tenant app doesn’t impact the performance of the entire architecture.|
|Setup and Maintenance||The cost of setup and maintenance is less than in a single-tenant model. The architecture needs less time, effort, and resources for setup, maintenance, and upgrades as vendors typically perform these functions on their behalf.||Requires more time, effort, resources, and costs for setup and maintenance as vendors need to maintain new instances for each new customer.|
|Efficiency and Scalability||Scalability isn’t easy due to the shared resources.||Is more scalable as customers can use their own hardware and virtual machines, and other tenants aren’t affecting the performance.|
|Backup and Restoration||Backup and recovery are complex and sometimes aren’t offered by vendors.||Offers more control over backup and recovery. It’s easy to back up or restore the previous version.|
|Control and Customization||You have less control as any features remain universal for all tenants. Offers a few customization options.||Offers complete control of the features, security events, storage settings, and app updates. Features more customization options compared to a multi-tenant architecture.|
|When choosing an environment||You’re aimed at cost optimization; You want to maximize the resources; You need fast and convenient app maintenance; You want the new customers ASAP.||Your clients require maximum security and scalability; You need top-notch performance; Your company’s hierarchy is complex; You require complete control over the operational environment.|
Choosing the right architecture is critical, and there is no correct answer to which architecture is better for your business. You should first look at your organization's needs and then make a final decision. Consider such key factors as cost, security, management, and scalability, and choose the most appropriate architecture for the needs of your business.
Multi-Tenant Architecture. How to Design a SaaS Application?
It’s impossible to be successful in SaaS without Multi-Tenancy
The tenancy model can impact the essential aspects of your SaaS application, so there are several vital things to consider when designing your multi-tenant application, such as:
- The number of tenants and their isolation;
Policy management mechanisms.
Multi-Tenant SaaS Design Patterns
The multi-tenant models to consider include:
- Database-per-tenant. Each tenant gets a new database, and the databases in the same resource groups are divided into elastic pools. Vendors can move databases between pools to optimize resource allocation. The app tiers in this model are scalable either vertically (adding resources per node) or horizontally (adding more nodes).
- Single multi-tenant database. In this model, the database consists of several tenant identifier columns. All tenants share storage and compute resources, which results in lower per-tenant expenses. The workload of one tenant can affect how the service works for other users.
- Sharded multi-tenant database. This model allows the distribution of tenant data across multiple databases (or shards), where all data for any one tenant is contained in one shard. Sharded databases can be put into elastic pools to improve operational management and scalability further, enabling almost limitless scale.
- Hybrid sharded multi-shared multi-tenant database. In this pattern, tenant or tenant groups can be moved between dedicated and shared databases. This model works best when you have multiple identifiable tenant groups with contrasting resource needs, such as free trial tiers and premium subscribers.
The process of tenant isolation refers to tools that prevent other customers from accessing other tenants’ content. Tenant partition (or isolation) is one of the fundamental aspects of the SaaS multi-tenant architecture. As in a multi-tenant setup all the resources are shared between tenants, security, privacy, and confidentiality are the top focus during development. The most common data isolation strategies include the following.
The model consists of separate isolated clusters, where each tenant owns storage and infrastructure resources. The silo model allows SaaS providers to create stronger boundaries for tenants and more easily calculate resource usage data for each client. Among the cons of the model are higher infrastructure and management costs and complicated development.
In this tenant isolation model, multiple users share the same infrastructure. Pool isolation has weaker boundaries between tenants and, therefore, poses a higher risk of cross-tenant access. Nevertheless, the model enables vendors to scale their resources proportionally to the user base and resource usage.
This partition model is a hybrid of silo and pool tenant isolation with isolated and shared infrastructures. In a bridge model, tenants can share the same database or web server but have separate tables or microservices for different users.
This type of tenant isolation works like a bridge model, but the isolation types are based on a subscription plan. The free users share infrastructure with other tenants, while tenants with a premium subscription can have dedicated environments with reduced risk of cross-tenant access.
While developing a SaaS application, customer retention is as critical as customer attraction. Every subscription-based SaaS app experiences churn (or customer attrition), which may range from 11% to 56% for cloud-based services across different industries. With the process called tenant onboarding, it is possible to reduce customer churn by making your service more understandable to new clients. The onboarding process includes providing tenants with:
- Intuitive interface;
- Customer service.
All these processes should be automated for maximal user convenience. Software developers can build a multi-tenant SaaS app with an automated provisioning mechanism or update your application with an onboarding solution to improve the customer retention rate.
Tenant Usage Analytics
Resource consumption metrics are another crucial factor for a SaaS business. With a clear view of your entire infrastructure, you can see which microservices and subscription models deliver the most value. Resource consumption metrics to monitor include:
- Number of active users for every subscription tier;
- User interaction activity;
- Infrastructure costs per tenant and subscription;
- Profits per tenant and tier;
- Memory and storage utilization indicators.
Developing a multi-tenant application with a mechanism to collect resource consumption metrics can significantly impact your business plan. It will allow you to shift your focus to features that generate the most revenue but require fewer resources. Moreover, you’ll be able to set the optimal threshold for tenant consumption in case they regularly exceed limits.
As your product evolves, you need to improve how you meet tenant needs. One of the ways to do this is to implement a centralized tenant configuration tool for policy management. Tenant policies allow adjustment of the UX in terms of available features, limitations, performance, and service-level agreements (SLAs). You’ll also be able to set up whole categories of tenants quickly.
SLAs in a Multi-Tenant Architecture. SLAs Strategies
Service Level Agreement or SLA is a contract between a customer and a SaaS provider. The contract describes the user experience and defines what customers should expect from your application regarding security, features, and uptime. SLA isn’t a legal document but a tool allowing you to measure how your service meets the needs and expectations of your tenants. There are several strategies to adapt your SLA with the SaaS:
- Framework. A SaaS framework can help you better understand customer needs to measure your value. You can create a dashboard to track the tenants’ performance against the SLA’s objectives over time. While analyzing the metrics, you’ll understand what features and tiers should be adjusted to improve your service.
- Service tiering. SLAs allow you to determine the value of your product and offer advanced functionality for a part of your user base. Generally, the more you offer, the more you can demand from your tenants.
- Business impact. In multi-tenant SaaS architecture, user groups consume different amounts of resources, and some of them can exceed the limits, which can lead to a loss of revenue. With SLAs, you can observe the tenant traffic patterns to balance the cost and operational efficiency for each tenant, feature, and tier.
- Reports. Once you’ve implemented a mechanism to measure tenants and app consumption regarding SLAs, it’s time to create a reporting tool to analyze this data and make decisions.
Multi-tenant SaaS offers numerous advantages for SMBs and startups due to its cost-efficiency and scalability, although developing a multi-tenant service is more than just architecture design. The number of tenants, isolation model, onboarding process, tenant configuration, and SLAs are the key factors to consider from the beginning of building your multi-tenant SaaS app.
How Do We Help Companies With Cloud Deployments?
One of Brocoders’ cases is a collaboration with EveryPig - a leading high-end platform for managing the entire pork-life cycle from production to sales. Our task was to develop a multi-functioning solution for tracking the overall outcomes, acquiring AI-fueled data, and providing remote veterinary services.
The delivered Brocoders solution includes a fully-functioning MVP-based logistics platform based on a wide range of new functionalities and connections. This full-cycle logistics platform provides full compliance with the active project and allows for a smooth application running. The logistics teams can now process and analyze detailed information on pigs and farms throughout the entire supply chain, significantly boosting the overall workflow and improving transportation planning efficiency. The remarkable features of the project include:
- An all-in-one platform, combining both production and logistics to simplify and automate all processes significantly;
- Both trucking admins and trackers can monitor information and manage their workflow from a smartphone or tablet;
- The platform is a highly-competitive product with an entirely covered ecosystem that provides the means to compete with other existing logistics solutions and is ready to replace these outdated systems.
The project is currently in its final development stage and is being prepared for integration with EveryPig’s infrastructure. Once the Brocoders logistics project is launched, it will replace the Microsoft Access software that the company is using at the moment.