blog-banner

Multi-tenancy for SaaS: 6 Takeaways from a Senior Principal Cloud Architect

Last edited on September 16, 2024

0 minute read

    Multi-tenancy as a concept has been around for decades, as a powerful way to increase the efficiency of systems, by enabling shared resources, while maintaining isolation between customers. This balance of shared resources with solid isolation design ensures security and increases operational and cost efficiency. But does this definition still hold in a software-as-a-service (SaaS) world?

    As our world has become more and more resource hungry, we’ve increasingly seen the need for operational efficiency. With Gartner predicting that SaaS spending will reach $300 billion in 2025, how to build effective and secure multi-tenant SaaS architectures is an ever-pressing question.

    multi-tenancy-saas-architectures-webinar-promo

    Tod Golding, Senior Principal Cloud Architect and Global SaaS Tech Lead at AWS, has spent the last 7 years of his career focused on cloud-optimized architecture design. He joined Cockroach Labs’ Technical Evangelist, Rob Reid, for a conversation on “Debunking Myths around Multi-Tenancy.”

    Through Golding’s experience, he came to dive into how multi-tenancy is different in the SaaS space than the traditional conception of multi-tenancy: for him, it is more about how you operate and run your business. You want to provide your customers a unified environment and experience, but what happens under the hood can be a lot more flexible than just letting multiple people share infrastructure. Keep reading to learn a few particularly insightful nuggets from their conversation.

    1. Multi-tenancy is worth it if you want to scale your businessCopy Icon

    Designing SaaS architectures requires many careful considerations, and up to this point, you may have already had a lot of conversations, and weighed a lot of options. So when you hear, “Oh, just make your application multi-tenant,” you might wonder how we think this is even feasible or worth it.

    The truth is, multi-tenancy is complex to set up, but it can offer significant advantages, particularly if you aim to grow your business substantially. By allowing multiple customers (tenants) to share the same infrastructure, you can: 

    • Better optimize resource utilization

    • Reduce costs 

    • Gain economies of scale 

    • Improve margins

    The more you want your business to grow, the more you will reap the benefits of the scalability and efficiency that multi-tenancy has to offer.

    2. There is no singular multi-tenant architecture solution for SaaSCopy Icon

    Then you might wonder, “How do I get started?” Each business is unique, which is why Golding steers clear of a one-size-fits-all solution. He knows firsthand that SaaS architecture can vary significantly, depending on the specific needs of your application and your tenants a.k.a. customers.

    Fig3-10-siloed-and-pooled-resource-models-multi-tenant-saas-architectures

    Image Credit: Figure 3-10 from Building Multi-Tenant SaaS Architectures (Tod Golding, 2024).

    The good news is that you can create different types of multi-tenant architectures. They can be: 

    • Siloed, with certain resources dedicated to a particular tenant or tenants 

    • Pooled, with resources being shared by tenants

    • Or hybrid, with some resources siloed, and some resources being shared

    The decision on whether to share or dedicate infrastructure should be driven by the requirements of individual tenants and the domain in which your application operates. Whether you decide to go the siloed, pooled, or hybrid route, you can gain efficiencies via your multi-tenant architectural design.

    3. What resources do your customers REALLY care about isolating?Copy Icon

    With so many new solutions and services being offered every day, we must listen to and learn from our customers. In the world of SaaS architecture, this is no different – even if a customer totally shuts down the idea of multi-tenancy at first, probe a little bit further. Drill down to figure out what they really care about.

    While some customers may prioritize data isolation, others may be more concerned about compute resources or storage. Asking granular questions about your customers' needs can help you design a system that balances shared and dedicated resources appropriately. For instance, you might pool compute resources but silo storage to meet specific customer requirements. 

    Understanding these nuances is crucial for designing a system that meets the diverse needs of your customer base. The goal is to offer a unified experience while allowing for variations in how resources are shared or dedicated.

    4. If multi-tenancy in SaaS were a security risk, you’d hear about it in the newsCopy Icon

    A common myth, and common objection from customers, is that multi-tenant systems are inherently less secure than single-tenant systems. However, this is not true. What is true is that implementing a secure system is harder (but certainly not impossible!) when multi-tenancy is involved.

    While there are security challenges associated with co-mingling resources, companies that provide services built on multi-tenant architectures, like CockroachDB, are acutely aware of the risk, and recognize that robust security constructs are table stakes. If multi-tenancy were inherently a security risk, given the widespread adoption in both SaaS and cloud services, we all would have heard about it, and we probably would have stopped using it.

    5. Leaders need to make hard policy choices to find successCopy Icon

    Building a successful multi-tenant SaaS application requires making difficult policy decisions. These decisions often revolve around how to isolate resources, manage authentication, and enforce tenant-specific policies. 

    It's essential to create cross-cutting constructs that simplify these decisions for developers, allowing them to focus on building features rather than worrying about multi-tenancy complexities. For example, Golding referenced the "Token Vending Machine" used at AWS, which automates policy application, making it easier for developers to adopt multi-tenancy best practices.

    6. The SaaS business model requires transformative thinkingCopy Icon

    Ultimately, everyone at a company needs to be onboard with critical decisions such as transitioning from a single-tenant to a multi-tenant solution. A business model involves more than just technical changes; it requires a shift in mindset across the organization.

    Both the business and technical teams need to be in tune with one another, to understand the implications of adopting multi-tenancy. This includes thinking about onboarding, metrics, tracing, and operational views of the system. A successful multi-tenant SaaS transformation touches every aspect of the business, from product development to customer support, and requires a coordinated effort to deliver a seamless experience.

    Watch On-DemandCopy Icon

    To catch up on the entire conversation, you can watch the webinar for free on our website. Learn more from Tod Golding, via his recently published book, Building Multi-Tenant SaaS Architectures – you can download the first three chapters for free.

    Building-multi-tenant-saas-architectures-cockroachdb-promo

    multi-tenancy
    SaaS architectures