SlideShare a Scribd company logo
Full Isolation in Multi-Tenant SaaS
with Kubernetes & Istio
DevOpsDays Jakarta
2019
Ichsan Rahardianto
Technical Ops Lead at Brankas
ichsan.rahardianto@gmail.com
https://www.linkedin.com/in/irahardianto/
@irahardianto
SaaS Multi-tenancy in SaaS and Its Architectures
K8S Full Isolation in Kubernetes
Istio Using Istio to Route Traffic
Demo Deploying and Updating Isolated Tenant
Q&A Question & Answer
Agenda
SaaS
SaaS In The Perspective of The Customers
Low Total Cost of
Ownership
Time-to-Value No Maintenance
Needed
Multi-Tenant SaaS Database Tenancy Patterns
Measurement Multi-Tenant DB Shared App
per Tenant DB
Single Tenancy
Tenant Isolation Low High Very high
Cost Lowest Low High
Development
Complexity
Medium Low Low
Operation
Complexity
Low Medium High
Data Privacy &
Data Security
Low Medium Very high
Data Extraction Hardest Easy Easy
Multi-Tenant DB
Shared App, per Tenant DB
Single Tenancy (Full Isolation)
Full Isolation Complication
Complex Infrastructure
Design
High Cost &
Low Efficiency
Difficult to Maintain
Then Why The F... Full Isolation?!
ResiliencyData Security &
Privacy
Independently
Scalable & Customizable
Enter K8S
K8S
Pod
Our Deployment with K8S
Pod Resources Requests and Limits
to Increase Efficiency
Add in CI/CD
Adding Custom Development Pipeline
Leveraging Managed Databases
Istio
Istio
Hipster Shop: Cloud-Native Microservices Demo Application
source: https://github.com/GoogleCloudPlatform/microservices-demo
Hipster Shop Service Architecture
Istio Ingress Gateway,
K8S Namespace & Virtual Service
DNS Record Set
Istio Ingress Gateway
Virtual Service
Helmchart
Namespace for Each Tenant
Deployment
Deploying The Helm Chart
$ helm install --name <release-name> <helmchart>
Deploying The Helm Chart
$ helm upgrade <release-name> <helmchart>
--set=image.tag=<new-tag>
Demo
source code: https://github.com/irahardianto/multitenant-microservices-demo
Q&A
Thank You!

More Related Content

Full Isolation in Multi-Tenant SaaS with Kubernetes and Istio