The tendency of Software-e-A-Service (mother-in-law) presents provider of software applications for new challenges. How can you operate an application for the increasing number of customers and also meet their demands on performance, safety and adaptability?
Kai WeaIngarton Opitz Consultation is a solution architect in Germany. Their focus is on cloud architecture and devops.
A clever-selected multi-friendly architecture creates essential structures. Tenants (in German: customers) share an application with other tenants, making everyone separate from each other, so that the application for the individual customer behaves like a dedicated. A tenant usually consists of a group of users, but it can also be a single user. In the B2B reference, it is often a company, while in the B2C environment it can also be a single user.
A specific driver for the introduction of multi-tendencies is the way from installed software to software-e-service business model. Unlike the software or managed service offered per customer, a multi-friendly application is developed and operated as a single product.
When a version works for multiple customers, the additional value lies in low maintenance and operational attempt. In addition, the cost of infrastructure is distributed to customers. However, the challenge is not to allow the complexity of multi-friendly operation to hit service development as well as meet the requirements in terms of data and performance insulation as well as infrastructure and operational efficiency.
Pass -up – requirements and customer request
There are some questions that the architects should quickly clarify as they greatly affect the design. It is important that customers should address the application and what are the requirements they have. Some industries also have regulatory requirements. If customers want a dedicated infrastructure or have the expectations of solid performance, the architects have to check what resources they can separate or share.
In addition, the number of customers and the volume of data plays a major role. Can tenants perform a general data scheme? Do provider resources come to a limit if each tenant receives a separate database example? Is the manually supported onboarding process enough or is it to be done completely automatically?
The planned billing model can also affect architecture, especially in terms of monitoring. A monthly flat rate with request quota requires separate matrix compared to the number of users according to the number of users.
Finally, planners should also reduce the need for customizing: if the customer expects personal styling, it is part of the tenant configuration. Third -How flexible the application should be in the integration of the party system, for example a customer -identity provider? A clear goal picture helps to set the correct course.
Silos, pool and everything in the middle
Multi-technology does not mean that customers share all applications resources and complete infrastructure, but only means that the overall application is a single product. Therefore, the following models are in use: Silo models, pool models and mixed forms from both, such as bridge models (see Figure 1).
Resources are distributed according to various models: customers (customers) receive their own resources in the Silo model or share it completely in the pool model. The bridge model represents a mixed form (Image 1).
The Silo model offers a dedicated infrastructure to each tenant, for example its own VM for a database body or application logic. Even if the infrastructure is not particularly the cost, this approach has some advantages: the cost of the infrastructure can be easily assigned to every client and data insulation is given automatically. Local developers consider the application as a single-class application. This is the result of a simple migration path for existing applications that began as classic single-tentant products.
One disadvantage in addition to costs is that the admin has to commission the infrastructure on boarding on boarding. This means that the provision should be automated to avoid wild development. The deployment of updates also takes longer here, but allows a gradual rolling update and canary release.
In the pool model, all or many customers share a infrastructure. The tenant isolation occurs in the code here, while the joint use of the infrastructure reduces the cost and accelerates deployment. However, you have to deal with the noise neighboring problem in which a customer uses so many resources that affect others. For customers who expect guaranteed performance, so performance isolation should be used. It should also be checked whether resources, for example, face your scaling boundaries.
A combination of silo and pool models is often useful, for example a pool in the service layer and a pool in the database layer, which combines high data insulation with cost savings. This model is also called Bridge Model. In a microservices architecture, individual services can also vary in models. If, for example, a Salil model is required only for services with high insulation requirements (eg payment data).
The choice of model is based on many factors and implications in implementation. If no factor is mentioned, the pool model is the first choice due to efficiency.
Control plan and its functions
The first glance in the design of a multi-friendly architecture often comes to aspects such as data insulation or scales. In addition, there are many functions related to the life cycle and operate customers, which have to be controlled independently and centrally regardless of praise.
A control torpulin should map these tasks, which works parallel to the application (also called data or application tarplin in this context) (see Death Golding: Construction of Multi-Tainant Sasa Architecture; 2024). The greater the number of tenants increases, the control tarpulin is equally important to ensure the central control of customers (see Figure 2).
A control torpulin ensures control of the admin level (Fig. 2) parallel to multi-classical applications.
Another function of control torpulin is onboarding of tenants. This produces metadata as a tenant identifier who allows you to interrogate properly. With a Silo database, other people will add, such as a connection parameter in the database. Specific infrastructure and configuration are then provided. In the event of automation, it creates a new database in the Silo model and a new user pool for user identification, ie individual user within a tenant. Previously, equally automatic onboarding process is understood, otherwise maintenance attempts will increase in the moderate period and will run the counter at the additional price of multi-class.
User’s identification control is relevant to torplene so that it can produce a tenant relationship and thus the application can provide Terplin’s tenant metadata.
A billing component of control aircraft manages the accounting plans of customers and, if necessary, receives data from customers from the metric component. Matrix and loggation are also important for client-specific use and error analysis. To end this, the services of the application provide a tenant ID for torpulin always log and matrix.
(Image: IX)
This is also an article Ix/developer special issue It is to be found that the software is aimed at the architect. In addition to classic architectural materials on methods and patterns, there are articles on socio -technical systems, quality assurances or architecture and society. Domain -powered design is only a subject in the form of team topology and security.
As authors, we were able to achieve well known experts, who pass on their knowledge in many exciting articles – such as it – for both architects and experts.
