SaaS meets cell-based architecture: A natural multi-tenant fit (SAS315)

Overview of the Video Transcript

  1. Introduction to SaaS Architecture Patterns

    • The speaker, Todd Golding, a Solutions Architect at AWS, has focused on SaaS domain for the last 8-9 years.
    • There is no one-size-fits-all notion of SaaS, and organizations have different deployment models and requirements.
    • The speaker has previously discussed patterns like siloed, pooled, and hybrid models, as well as the underlying technology stacks (e.g., EKS, serverless).
  2. Emergence of Cell-based Architecture

    • The speaker has observed an increasing interest in cell-based architecture, which is a concept that has been around for a long time, but not widely adopted in the SaaS domain.
    • The goal of this talk is to explore the intersection between multi-tenancy principles and cell-based architecture, and understand how it can be leveraged in SaaS deployments.
  3. Challenges in Traditional Multi-tenant SaaS Architectures

    • Varying workloads and tenant profiles make it challenging to design scalable, resilient, and efficient architectures.
    • Provisioning and managing the compute, storage, and other resources for multi-tenant environments is complex.
    • Layered architectural principles, such as tenant isolation, noisy neighbor mitigation, and consumption optimization, add to the overall complexity.
    • Deployment models (e.g., pooled, siloed) further complicate the architecture and operational strategies.
  4. Potential Benefits of Cell-based Architecture

    • Cell-based architecture can provide a simpler way to address some of the challenges faced in traditional multi-tenant SaaS architectures.
    • Cells can serve as logical constructs to group tenants and apply specific scaling, resilience, and isolation strategies.
    • Cells can potentially simplify the management and operation of the SaaS environment, reducing complexity and improving efficiency.
  5. Strategies for Defining Cell-based Architectures

    • Two approaches are discussed:
      1. Placing siloed tenants in their own cells and pooled tenants in shared cells.
      2. Starting with a single cell and adding new cells as needed based on tenant load or other criteria.
    • Consideration around the number of cells and their sizing policies is important.
  6. Implementing Cell-based Architectures

    • Cell-based architectures can be realized in a similar way to traditional multi-tenant architectures, with the cell serving as an additional logical construct.
    • Cells can be implemented using various technologies, such as VPCs, accounts, or other grouping mechanisms.
    • The integration between the control plane and the app plane within the cells needs to be carefully designed.
  7. Operational Considerations for Cell-based Architectures

    • Onboarding new tenants, deploying updates, and managing the lifecycle of cells require careful planning and execution.
    • Routing and indirection within the cell-based architecture need to be addressed, especially in the case of siloed tenant environments.
    • Monitoring, observability, and operational visibility into the cell-based environment are crucial.
  8. Potential Advantages of Cell-based Architectures

    • Improved isolation and resilience by containing the blast radius of issues within a cell.
    • Simplified management of noisy neighbor problems, as the scope is limited to a single cell.
    • Increased flexibility in deployment, especially in the context of multi-region or hybrid environments.
  9. Conclusion and Recommendations

    • Cell-based architecture can be a valuable addition to the SaaS deployment model considerations.
    • The decision to adopt a cell-based approach should be driven by the specific business and technical requirements of the SaaS environment.
    • Careful evaluation of the trade-offs and the balance between complexity and value is essential.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.