Running a Multi-Tenant Environment with PrizmDoc Editor
Today’s software developers have plenty of options when it comes to deploying their applications. Many of them are turning to cloud-based solutions, which offer a hard-to-beat combination of efficiency and versatility. Building and managing applications in the cloud, however, requires developers to be especially mindful of customer data security, which has led to the development of innovative multi-tenant environments.
Multi-tenant architecture is a widely-utilized software deployment model that allows multiple users to share a single software application instance and draw upon common resources. A “tenant” is technically defined as a single user, but in practice it usually refers to a single group of users, typically from a single organization. Each tenant shares similar access and control privileges within the application, but their data is isolated from other tenants to protect data privacy.
Multi-Tenancy vs Virtualization
Although the terms are sometimes used interchangeably, a multi-tenant environment is different from a virtualized deployment. Multi-tenancy involves multiple users sharing a single application instance within the same operating environment. This instance is typically running on the same hardware and using the same storage resources.
A virtualized environment involves the use of separate virtual machines running on the same hardware. Computing resources are distributed among these compartmentalized virtual machines, each of which runs its own operating system that supports a separate application instance.
Benefits of Running a Multi-Tenant Environment
There are many reasons why software developers opt for multi-tenant environments when deploying their solutions.
- Reduced Costs: Since multiple tenants can utilize a single application instance, the costs of setting up and maintaining the associated infrastructure to support the application tend to be much lower. For the software provider, costs can be easily distributed among multiple tenants, which also translates into lower overall costs for customers
- Faster Deployment: Getting new tenants up and running requires far less configuration and hassle than setting up new server infrastructure or virtual machine deployments. Since the application is already up and running, integrating new tenants is usually just a matter of creating a new user.
- Continuous Updates: Pushing updates and patches through to customers is much easier for software developers in a multi-tenant environment because they only have to update the main application instance. This also makes it easy to roll out new services and features without having to worry about distribution.
Running a Multi-Tenant Environment with PrizmDoc Editor
For software developers hosting multiple customers on the same server, it’s critical for them to keep those sessions separate for security and privacy purposes. PrizmDoc Editor’s multi-tenant mode facilitates this need by restricting session and document data to specific groups. Although not enabled by default, multi-tenant mode is a powerful feature that allows an application to isolate sensitive information from different users.
PrizmDoc Editor’s multi-tenant mode can be enabled by simply changing the MULTI-TENANT environment variable to “enabled”:
docker run \ --rm \ --env ACCEPT_EULA=YES \ --env LICENSE_KEY=eyJrZXkiOi... \ --publish 21412:21412 \ --env MULTI_TENANT=enabled \ --name prizmdoc-editor \ accusoft/prizmdoc-editor:latest
Once multi-tenant mode is activated, all PrizmDoc Editor Server requests need to include a tenant ID header. This label determines what subdirectories documents will be stored in and serves as a key for accessing those files. Tenant ID values are unique identifiers that can consist of any URL-safe, base64-encoded string ranging from 1 to 100 characters.
When an application is running a PrizmDoc Editor deployment in multi-tenant mode, it must ensure that all Editor Server requests are accompanied by the correct tenant ID. This is true both for requests made by the server-side code and those from the Editor Control that are proxied to the Editor Server via the application.
Since a tenant ID can provide complete access to the associated tenant’s data, it’s critical that they are NEVER shared within a browser or sent to an end user. When an application proxies a request from the Editor Control to the Server, it typically has sufficient context to match the request with the correct tenant ID and then forward it to the Server. To avoid any confusion or security breaches, any proxy requests with an externally provided tenant ID should be ignored.
Multi-tenant mode allows developers to leverage the power of PrizmDoc Editor for multiple users without compromising their secure data. It pairs well with cloud-based applications that are already serving multiple customers to create streamlined document assembly workflows. Since this feature is already built into the core of PrizmDoc Editor, no complicated configurations are necessary to integrate the solution into an existing multi-tenant deployment.
Enhance Your Application with PrizmDoc Editor
PrizmDoc Editor’s document assembly capabilities make it an ideal solution for contract automation solutions. With its ability to programmatically assemble, search, and edit documents, it can greatly reduce the risks associated with human error and avoid the problems of version confusion.
Easily integrated with SaaS solutions to streamline workflows and maximize productivity, PrizmDoc Editor is a powerful tool that can empower document review and contract assembly applications. To see how it could enhance your solution, try an online demo today.