level each tenant needs a single server where all his
component instances are deployed. Mixed means that
at least two tenants are using component instances on
the same server.
After the identification and the classification of all
realistic cases, we combined the server and compo-
nent layer. Since each of the layers has three levels, it
is resulting in 9 permutations. Three of the 9 permu-
tations are not realistic, e.g. if two tenants share one
component instance, they cannot possess their own
servers. This finally leads to 6 possibilities.
All test cases that belong to the same of the 6 re-
sulting classes are equivalent. This means that we just
need to test one to prove its functionality. For exam-
ple, if we can successfully deploy a shared instance of
component A on a server, then this result represents
the operativeness of the shared deployment of com-
ponent B. Thus, we elected one test case for each of
the 6 classes. For each one we have tested direct and
indirect access of the deployed component instances
and verified the effect was as anticipated.
Due to the fact that all our test cases run through
with success, we can say that our realized mixed-
tenancy architecture which is embodied by the con-
nector pattern is a working solution for the discussed
problem. The evaluation has proven that our de-
fined prerequisites were successfully enforced for the
dummy application.
However, there are throwbacks coming from the
utilized pattern. First of all performance will be de-
creased. This is due to the communication behavior,
where ACs do not communicate directly with each
other anymore. Instead communication is handled by
connectors. This causes overhead. Secondly, if an op-
erator decides to host a multi-tenancy application fol-
lowing the mixed-tenancy approach, it is necessary to
create the connectors for all application components
involved. The effort necessary to do that could only
be minimized if it would be possible to automatically
generate connectors through code inspection.
7 SUMMARY AND CONCLUSION
In the first chapter we introduced this paper with the
characteristics of multi-tenancy as well as the advan-
tages and disadvantages of cloud providers and their
tenants. We explained why there is a demand for
a better solution when it comes to the client’s pri-
vacy needs and the resulting consequences for the
provider. For example, when a client does not want to
share a part of an application with his competitor, the
provider needs to deploy the whole application twice,
which leads to higher costs.
After that we introduced the concepts of mixed-
tenancy as a possible solution. In order to verify these
concepts as a solution we developed a prototypical
platform which is capable of deploying multi-tenancy
applications in the form of mixed-tenancy. The main
goal of this paper was to identify or design an archi-
tecture for this platform. After defining several re-
quirements, we investigated common design patterns
regarding their applicability. This leads to the connec-
tor pattern which is a combination of the previously
analyzed patterns. Since it matched the requirements,
we selected the connector pattern as mixed-tenancy
architecture.
Due to an evaluation of the realized platform, we
were able to make sure that it is possible to port
simple multi-tenancy applications onto the platform.
During the porting process it was obvious that the
connector pattern separates the platform logic from
the application logic as well as it decentralizes the
data communication.
Furthermore, we successfully verified that none of
the tenants can access a component instance that does
not belong to him. Through carefully selected test
cases, we made sure that all kinds of DCs were cov-
ered.
However, these results come with a price. The pat-
tern decreases the performance of an application since
it produces an overhead in the communication among
ACs. Furthermore, it is required that for every AC a
connector is created. That creates an additional effort
for an operator that wants to deploy a multi-tenancy
application following the mixed-tenancy paradigm.
The main goal in the future should be the real-
ization of a stable mixed-tenancy deployment plat-
form. It shall be able to migrate an existing real-world
multi-tenancy application onto this platform. For this
paper we only evaluated an example application that
realizes certain styles of communication. Due to its
logical partition in a few components, it turned out
to be a good test application and it was possible to
gain indications that mixed-tenancy may be realized.
However, in order to gain further conclusions and the
applicability of the mixed-tenancy approach in real-
world scenarios, it will be necessary to evaluate the
migration of a real application.
Although, the focus of this paper was not based
on performance, we aspire to optimize it in future re-
search. Thus, a detailed performance analysis is still
open for future research. So far the only security mea-
sures that have been implemented are basic authenti-
cation and user impersonation. The mixed-tenancy
concept allows to deploy further security measures to
isolate tenants even further (e.g. on a network level).
However, this has not been investigated further yet,
ArchitecturalDesignofaDeploymentPlatformtoProvisionMixed-tenancySaaS-Applications
401