When creating the Gainsight platform, we were faced with a number of critical decisions that would shape our capabilities and value to our customers. One of those decisions was to implement a multi-tenant architecture.
The multi-tenant architecture plays a pivotal and comprehensive role in developing Gainsight’s system and has everything that a business needs for a great customer success experience. The unit of multi-tenancy is called simply a ‘tenant’ and can be accessed by each Gainsight customer.
To help you better understand Gainsight’s core architectural principles and the basics of multi-tenancy employed in our architecture, especially as it relates to the business needs of customer success, we’ve outlined our principles and everything you need to know. Keep reading to get an essential overview of multi-tenancy and what it means for your business.
Every software system’s architecture is molded by the needs of its customers. As the leader in customer success, we understood it was essential for our architecture to serve as many different customers as possible, including ways to address each unique data and process requirement. Here are the core principles we adhere to when creating our Gainsight platform.
1. Opinionated with Flexibility
One of our primary values is Success for All. As such, our solutions need to be valuable to organizations across industries, so that each Gainsight customer can achieve their goals. To accomplish this, our platform offers both an opinionated core data model called “Standard Objects” (refer to Gainsight Objects) and the flexibility to modify and extend the model.
The dual-track “opinionated with flexibility” principle reflects that Gainsight is not only fundamentally concerned with customers, customer relationships, and individuals at customer organization, but also their specialized data and processes to make their customer operations successful.
Both the standard and custom parts of the data model are captured in a transactional store; we use Postgres. All of Gainsight’s reporting and process automation modules are capable of handling the flexibility inherent in the model, enabling our customers to design specific solutions to their business needs.
2. Metadata Everywhere
Every SaaS product needs metadata and Gainsight is no exception. In order to provide an open system to customers, the core system and all products within Gainsight must embrace the concept of metadata at each of its layers. Thinking about metadata is intrinsic to our engineering processes. It is the foundation for configuration and provides the ability to customize for a customer’s specific business needs. The following image shows a preview of the types of metadata in the system.
3. Support for Customization and Configuration
Gainsight system is highly customizable and configurable, and it offers support for user-defined analytics, visualizations, process artifacts, and automation. Enterprise-class systems, like Gainsight, need to support the smooth and continuous development of solutions. Gainsight architecture supports flexible configurations and customization to support this need. With a firm footing in metadata, the Gainsight system equips its customers to employ the creation of Sandbox so that they can leverage DTAP processes on top of the Gainsight system.
With an understanding of architectural principles, let’s now take a look at how multi-tenancy is addressed.
When a new tenant is created, the system takes a sequence of steps to create the needed Gainsight Objects across the datastores and initializes the products. The standard objects are created as part of this flow, including a specific web domain for the tenant. Customers are given access to the system through the provisioned domain.
The system has dedicated databases in the high-volume store (Redshift) and transactional store (Postgres) for saving customer data. This mechanism ensures that the data is isolated and ensuring a “Share Nothing Data Architecture” is feasible. In addition to isolation, the Gainsight system honors any domain-specific compliance requirements for specific tenants.
The processing layer is based on microservices architecture. Each internal component accesses the tenant-specific stores in addition to the microservice/product-specific application datastores. The processing layer is expansive and robust. The system is sophisticated and manages a fair share of resources across the tenants.
If you want to understand more about the philosophies that drive Gainsight, from engineering to design and implementation, we want to hear from you. Reach out to see a demo.