Dynamically scaling servers and containers has given SaaS architects various tools to accommodate these scaling patterns. And now, with the advent of serverless, architects have a computing and consumption model that aligns more precisely with the demands of SaaS environments.
What is SaaS?
SaaS or Software-as-a-service delivers applications over the internet rapidly and in a self-service. You don’t need to install and maintain software; simply access it online to remove the undifferentiated burden of complex software and hardware management. Independent software vendors (ISVs) typically sell, run, and maintain SaaS products. They usually host them on a cloud provider like AWS, GCP, Azure, etc.
SaaS Products typically have a subscription (pay-as-you-go) or consumption (pay-for-what-you-use) based pricing model. And they can scale quickly to meet your needs.
Salesforce, Slack, Google G-Suite, Shopify, and Zoom are all examples of SaaS products.
Meeting new org needs
Large and small organizations have to meet the needs of their users rapidly. They must find product market fit and reduce their time to value. They need to be efficient with capital. And make sure their business model scales as usage grows.
SaaS comes in here!
- SaaS helps reduce time to value by enabling a faster feedback loop from real users. And it scales easily as your business grows.
- Startup businesses are increasingly SaaS-only. They build their businesses on the cloud and leverage ‘software as a service’ building blocks to rapidly compile an offering to meet their customers’ needs.
- Enterprises look for SaaS options first when purchasing commercial software so that they can focus on their core business.
- 1 or 2 person Micro-SaaS businesses now have the same access to SaaS building blocks as established enterprises. They can rapidly meet the needs of a niche set of users.
Ask these Questions
When creating a SaaS product, you must answer core questions to focus everyone on business goals and meet users’ needs. Tod Golding covers this in his amazing SaaS Architecture Patterns: From concept to implementation talk. We have the critical points here:
- How do you manage your SaaS product? Do you have observability and analytics in place so you can analyze trends and see how your business is performing?
- Do you have a good handle on billing? Do you have the ability to have different subscription and pricing models?
- How do you provision and configure tenant environments on-demand and in a self-service way?
- How do you design your application to handle multiple tenants?
- How do you implement isolation so one tenant doesn’t interfere or have access to any other tenants?
- How do you partition data appropriately for each tenant?
- How do you deploy infrastructure and applications? Do you share a common infrastructure, have separate silos for each tenant, or a mixture?
- How do you route data and load it to each tenant?
- How do you create users and associate users with a tenant identity? How do authentication and authorization work for each user in SaaS?
- How do you create and onboard a new tenant into the system? How do you give them an identity and plan and configure the appropriate policies for that tenant?
- How do you offer different tiered experiences to other tenants? Basic, Premium, Enterprise, etc.
Make it real with the Serverless SaaS workshop.
The AWS Serverless SaaS Workshop guides you through building a multi-tenant Software-as-a-Service (SaaS) solution. The workshop answers questions in a serverless way.
- How do you implement tenant isolation in an AWS Lambda environment?
- How do you support tiering and noisy-neighbor conditions?
- How do you build multi-tenant-aware microservices in a serverless model?
- How do you establish Multi-tenant observability in a serverless ecosystem?
- How do you isolate tenant data in a pooled model?
- How do you apply tier-based deployment strategies?
- How do you enable tenant throttling and quotas?
Ultimately, you can build a fully functional SaaS application that aligns closely with the SaaS Reference Architecture solution.
Attending the workshop is a fantastic way to learn how to build a SaaS product from the ground up and how to get it to market quickly. The workshop is also a great way to get hands-on with a wide array of technologies: Cloud9, SAM, CDK, API Gateway, Lambda, Lambda Layers, DynamoDB, Cognito, STS, CodePipeline, CloudWatch, Python, and the brilliant lambda power tools.
Serverless and SaaS – better together
A serverless-first approach lets you focus on your SaaS business and differentiating value without worrying about scaling and managing servers. This approach enables you to get to market faster, reduce your operational costs, keep your initial costs low, and scale as you find product market fit.