- 💻 Slide Deck
- 🎥 YouTube Recording
In this talk attendees will learn how Ruby on Rails and PostgreSQL can be used to create scalable SaaS applications, focusing on schema and query design, and leveraging database capabilities.
We’ll define SaaS concepts, B2B, B2C, and multi-tenancy. Although Rails doesn’t natively support SaaS or multi-tenancy, solutions like Bullet Train and Jumpstart Rails can be used for common SaaS needs.
Next we’ll cover database designs from the Apartment and acts_as_tenant gems which support multi-tenancy concepts, then connect their design concepts to Citus’s row and schema sharding capabilities from version 12.0.
We’ll also cover PostgreSQL’s LIST partitioning and how to use it for efficient detachment of unneeded customer data.
We’ll cover the basics of leveraging Rails 6.1’s Horizontal Sharding for database-per-tenant designs.
Besides the benefits for each tool, limitations will be described so that attendees can make informed choices.
Attendees will leave with a broad survey of building multi-tenant SaaS applications, having reviewed application level designs and database designs, to help them put these into action in their own applications.
Comments