Getting started building serverless SaaS architectures (SEG209)

Serverless SaaS: Transforming Enterprise Applications

Introduction

  • The speaker, Thomas Moore, is a senior solution architect from the UK who works with software vendors and is a serverless specialist.
  • Customers are looking for three things: modernization, cost optimization, and more time to focus on what matters.
  • This talk will focus on the technical aspects of serverless SaaS, including understanding the drivers for serverless and SaaS, implementing multi-tenancy with serverless, and solving architecture challenges using serverless patterns.

The Transition to Serverless SaaS

  • The speaker introduces a real-world example of a mechanic management software that has evolved from a downloaded application to a managed service and now aims to launch a serverless SaaS product.
  • The challenges faced in the current architecture include version misalignment, performance and cost concerns, and data silos.
  • The vision for the future includes faster time to market, reduced costs, and increased innovation through moving to a serverless SaaS model.

Serverless and SaaS Concepts

  • Serverless removes the need to manage servers, automatically scales, and is highly available.
  • SaaS is about building a service, focusing on customer onboarding, value delivery, and feature updates.
  • The importance of a control plane (services that manage metrics, onboarding, administration, and billing) is highlighted.

Serverless Application Architecture

  • The serverless web application architecture is introduced, including CloudFront, API Gateway, Lambda, DynamoDB, and S3.
  • The challenges of the siloed model (where each tenant has a copy of the resources) are discussed, leading to the need for a shared, multi-tenant architecture.

Implementing Multi-Tenancy with Serverless

  1. Entry Point and Authentication:

    • Options for domain names and tenant context in the URL are discussed.
    • The use of a Lambda authorizer to verify JWT tokens and retrieve the tenant context is explained.
  2. Data Storage and Access:

    • Storing data in DynamoDB and S3 using the tenant ID as part of the key/prefix.
    • Dynamically assuming roles at runtime to ensure secure data access.
  3. Analytics:

    • Addressing the data silo problem by streaming data from DynamoDB to a data lake in S3 using Kinesis Data Streams and Kinesis Data Firehose.
  4. Integration Patterns:

    • Synchronous and asynchronous communication patterns using API Gateway, SQS, SNS, and EventBridge.
    • Using Step Functions for orchestration and complex workflows.
  5. Updates and Migration:

    • Strategies for rolling out updates, including region-by-region deployment and cellular architecture.
    • Approaches for migrating customers from the legacy hosting model to the new serverless SaaS platform.

Key Takeaways

  • Serverless is a good fit for SaaS because it scales automatically with tenant usage.
  • Maintaining tenant context is fundamental to multi-tenancy.
  • Serverless integration patterns can help create scalable and extensible solutions.

The presentation provides a comprehensive overview of the technical considerations and best practices for transitioning to a serverless SaaS architecture, using a real-world example to illustrate the key concepts and challenges.

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