Multitenancy from scratch
summary
Describes migrating a Spring/Tomcat monolith to a multitenant service on GCP by containerizing to Kubernetes, using Keycloak for authentication, Kafka for events, and per-tenant MongoDB (or per-schema where needed). Automation uses Terraform and Jenkins to script tenant provisioning; tenant routing is done with an X-Tenant header set by ingress and stored in ThreadLocal, with custom libraries multitenantPropertyLoader and multiconnector to create and cache per-tenant database connections.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 3:43Why multitenant architecture
- 8:58Multitenancy pros and cons
- 12:07Astra history
- 15:17Migration planning
- 21:35Preparing multitenant environment
- 22:59Tenant identification
- 26:09Per-tenant database connections
- 28:40Module communication
- 31:52New tenant automation
- 33:19Multitenancy challenges
- 39:22Legal data separation
- 44:46Cache in reactive apps
- 46:32Noisy neighbor mitigation
- 48:16Q&A
related talks
46mMulti-tenancy in Apache Kafka, Navigating a Major Topic
37mMulti-Tenancy in Kubernetes: Best Practices Today, and Future Directions
24mMulti-Tenancy: Tips, Tricks, Tools And Tests
05mNamespace Multi-Tenancy, But All The Problems Related To It
05mLightning Talk: What Makes a Good Multi-tenant Kubernetes Solution?
40mPanel Discussion: Multi-Tenancy in Kubernetes: Current State and Future Roadmap
28mSimplify multi-tenant microservice applications
40mMulti-tenancy in Kubernetes
