Is Widen Single-Tenant or Multi-Tenant in the Cloud? We're both!
For many of our customers and prospects, letting them know we are a cloud-based SaaS provider of Digital Asset Management and that we use Amazon Web Services as our virtualized environment is enough to satisfy them. Just because two applications use “Amazon’s services,” does not end any differences between them. Amazon only provides a virtual environment. What developers build on top of that environment can vary greatly. Widen’s developers have woven a very intricate blanket of virtualized services that offer our customers the greatest amount of security, with the most amount of efficiency, while also being extremely cost efficient. For “extra credit,” sometimes we are asked if we are single-tenant or multi-tenant. It’s not a black and white answer. Let us explain.
What’s the difference?
Let’s begin by going over the high-level differences and common advantages and disadvantages of each. A single-tenant solution is a single instance of a program running on a single server (either physical or virtual). For example, when you open Microsoft Word on your laptop, that is a single piece of software (Word) running on a single piece of hardware (your laptop). Google’s Gmail would be an example of multi-tenant. It hosts many different instances of its software on a single hardware instance (in a virtual state). The main trade-off between single and multi-tenant solutions is more control (single) on one hand and greater efficiency (multi) of resources on the other.
What’s the answer?
An application such as the Widen Media Collective does not necessarily need to be solely single-tenant or multi-tenant. There are various parts of an application that can be either single or multi-tenant. The operating system, the application itself, the machine, the database, different processes within the application; these are all separate areas that can be setup as either single or multi-tenant.
From Widen’s standpoint, we have secure and scalable architecture for each part of our process based on our customers’ needs. At a software and database level we are single-tenant. Each customer’s site is run in a separate web server container and has its own database. This increases security and eliminates risk of a small mix-up of the code that could display the improper data to a user. With multi-tenant, customers should ask themselves if they are comfortable with their potentially sensitive assets living in the same database as data from other organizations.
In other areas of our application we take advantage of a multi-tenant setup for shared resources that direct network traffic and process files. These resources scale up automatically so when usage increases, so does the infrastructure. We share instances to serve content for multiple customers, we run multiple databases on each RDS instance, and share space separated into customer-specific buckets. So the traditional disadvantage of using solely a single-tenant architecture (needing another piece of hardware for each new customer) is not true for us.
A common "pro" of single-tenant is greater customization and flexibility. Because of the parts of our application that are single-tenant, we can move individual customer’s sites to different servers, push fixes or add new features as needed without impacting any other customers. This would not be possible (or at least would be much more difficult) if multiple customers were running on the same instance and sharing the same database. Finally, we have great flexibility with our upgrades. For example, if we plan to roll out a new version on July 1st, and a customer has their big annual sales conference at that same time, we have the flexibility to hold that customer’s upgrade until a more convenient time for them.
So to borrow from a common phrase, we’d like to think that we have the “Best of Both Worlds.”
Contact us to talk with one of our experts about Widen’s cloud infrastructure.