Accelerating multi-tenant development with the SaaS Builder Toolkit (SAS406)

Overview of SAS Builder Toolkit (SBT)

Introduction

  • SAS Builder Toolkit (SBT) is a tool, not a product, that aims to provide SaaS builders with tools and libraries to accelerate the development of SaaS applications on AWS.
  • The primary goal of SBT is to make the SaaS building experience more digestible and composable, allowing users to pick and choose the pieces they need rather than an all-or-nothing solution.
  • SBT heavily leverages AWS CDK (Cloud Development Kit) to describe the infrastructure and configuration of SaaS environments.

Key Concepts

  1. Control Plane: Represents the horizontal, cross-cutting concerns of a SaaS environment, such as tenant management, user management, billing, and metering.
  2. Application Plane (App Plane): Represents the business functionality of the SaaS application, which can vary widely depending on the domain and technology stack.
  3. Composability: SBT aims to provide a composable experience, where users can pick and choose the pieces they need from the control plane and app plane, rather than a one-size-fits-all solution.
  4. Extensibility: SBT provides interfaces and extension points to allow third-party integrations and customizations, both in the control plane and app plane.

SBT Components

  1. Control Plane:

    • Provides a default implementation of common control plane services, such as tenant management, user management, and billing/metering.
    • Allows users to bring their own control plane implementation or extend the default one.
    • Supports third-party integrations through defined interfaces (e.g., billing, metering).
  2. Application Plane:

    • Provides reference architectures for common app plane implementations, such as Serverless SaaS and EKS-based SaaS.
    • Allows users to bring their own app plane implementation or extend the provided ones.
    • Includes a baseline app plane infrastructure and tenant provisioning constructs to simplify the app plane development.
  3. Libraries and Utilities:

    • Provides reusable libraries and utilities to address common SaaS challenges, such as tenant isolation and token vending.
    • Allows users to bring their own libraries and utilities or extend the provided ones.

Customizing and Extending SBT

  • SBT is designed to be customized and extended by users, with a focus on the "bring your own" approach.
  • Users can replace or extend the default control plane, app plane, and library implementations by leveraging the provided interfaces and constructs.
  • Customization can be done at various levels, from modifying specific constructs to building a completely new control plane or app plane.
  • The extensibility model allows third-party integrations and contributions to the SBT ecosystem.

Key Takeaways

  1. SBT provides a flexible and composable approach to building SaaS solutions on AWS, allowing users to pick and choose the components they need.
  2. The control plane and app plane separation, along with the extensibility model, enable users to customize and extend SBT to fit their specific requirements.
  3. SBT heavily utilizes AWS CDK, making it a code-driven experience that requires familiarity with CDK and programming concepts.
  4. SBT is an evolving tool, and user feedback and contributions are encouraged to shape its future development.

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.

Talk to us