Multi Tenancy is a topic which needs no introduction as anyone who has embraced cloud has already been using it with SaaS offerings like Office 365, Salesforce etc. but AgilePoint NX has taken it a notch up by making it available not just for SaaS but within enterprise firewall as well.
Multi Tenant installations has been one of the core strengths of AgilePoint NX which has been around for a while but came into limelight after the release of our cloud based hosting with AgilePoint NX.
There are 2 modes of Multi Tenancy in AgilePoint NX if you wanted to install it within the Enterprise as Multi Tenant enabled and you can choose whichever fits your needs better
Option 1: SaaS based Multi tenancy – In this mode 1 user can belong to only one tenant and even if you wanted to go to a different tenant with same username it will not happen. It is like your email or other SaaS software where you have 1:1 relationship between username and tenant. This is a clear separation of data as well as user even if hardware is same. Key thing to remember is that one user will belong to one and only one tenant and cannot access data from other tenant. If a high level user like CFO or even country manager in other country like Japan wants to participate in the US workflow only way they can do so is by creating new username for them in other tenant just like you would do if you wished to maintain 2 gmail accounts or 2 Salesforce tenants with different usernames. So you get highest level of data separation between tenants but always would be 1:1 user – tenant relationship which is common in SaaS software. This is a very efficient model specially if you are making your offering available to different clients.
This is shown in following diagram in architecture guide
SaaS Based Multi Tenancy – Architecture Diagram
The big advantage this model can have is lesser CPU consumption as only 1 instance of AgilePoint is running serving multiple database. So you might have been able to run many tenants on same server but still achieve clear data separation and no data privacy hassles.
Option 2: Enterprise Mode Multi Tenancy (Multi Instance) – In this mode you would install multiple instances of AgilePoint server on same machine and also multiple instances of AgilePoint portal on same machine. So though you are sharing the hardware, each department within the enterprise can get its own AgilePoint instance which connects to its own database. So on machine level even instances are separated out. This has an advantage that same user can belong to multiple instances and just gets multiple URL for different instances and you can put those URL’s on a custom context switcher menu which can even avoid user to remember URL’s. However hardware usage wise this can consume relatively more CPU as each instance will use its base CPU usage so if you plan to use say 10 instances on same server, you will have to scale servers up and put them in NLB accordingly. Access in this kind of setup can be more easily controlled through security group in AD.
This would look something like this
Enterprise Mode Multi Tenancy – Architecture Diagram
So if your organization wants to install multiple tenants of AgilePoint NX, based on above you guys might want to decide which one fits your scenario best. If any user at any point can at the max belong to one tenant only (don’t worry about admin as central admin can access all tenants) option 1 is better. But if you think few month down the line you will have a few users who wish to go across tenants with same username then option # 2 is better. Both at equally good but this is a key factor to decide what kind of installation is needed within your Enterprise.