Apprenda provides two tiers of multi-tenancy. First, Apprenda itself is multi-tenant, essentially providing platform/infrastructure multi-tenancy. This means that Apprenda aggregates all your infrastructure into a single unified resource pool, and allows deployed applications to share those resources in a highly efficient way. No more dedicating entire servers or VMs to single applications: let Apprenda deal with details of sharing application and database servers between applications. This new level of efficiency layered on top of your existing infrastructure investments will significantly drive down cost of application delivery, while providing incredible agility.
Second, Apprenda provides standard single-tenant web and SOA and microservices guest applications – the apps your enterprise IT developers build – with true application level single instance, multi-tenancy at all tiers. Single instance multi-tenancy is a software architecture principle where your application components such as your database, web services, and user interfaces are shared across many customers rather than each customer having their own copy. This complex architecture popularized by the worlds best SaaS providers can now be used to drive down cost of delivery even further for a variety of enterprise application use cases. Single instance, multi-tenancy is one of the most important architectural qualities of modern day cloud applications; it ensures a high level resource utilization without sacrificing quality, giving your development teams the ability to deliver applications with extreme cost effectiveness. However, single instance multi-tenancy is also one of the most difficult, time consuming, and expensive parts of a modern cloud architecture to engineer and maintain. Since Apprenda productizes this architecture pattern as an inheritable feature, guest applications can leverage it as a standard platform service, thereby skipping over the long and expensive development cycle.
Apprenda’s zero effort application level single instance, multi-tenancy isolates end users by handling data partitioning, request routing, and authorization security at the application server layer – even though end users are sharing resources. Moreover, Apprenda gives you the ability to define certain aspects of your application’s multi-tenant behavior, such as whether data from multiple customers can be mixed in database deployments or separated into dedicated databases. This powerful concept of configurable “drop-in” single instance, multi-tenant capability provides a massive time-to-market boost and takes a major maintenance and security pain-point off your plate.
When writing an application to deploy on Apprenda, developers need not worry about multi-tenancy. Apprenda applications are written just like a regular on-premises applications in that it targets single customer deployment with no notion of multi-tenancy in the source code, database, or user interfaces. However, once that application is deployed to an instance of Apprenda and is running live, Apprenda automatically endows the application with a single instance, multi-tenant architecture.