Jumpstart: Launch your SaaS Journey; Architect Next Generation SaaS Solutions; This session will help you deconstructing SaaS, a Deep Dive into Building Multi Tenant Solutions.and the Foundation of SaaS Agility; It will also help you to optimize your SaaS Architecture.
2. What is SaaS?
• Software as a service (SaaS) is a software distribution
model (also considered as a form of cloud computing
that delivers an application) in which a third-party
provider hosts applications and makes them available
to customers over the Internet.
• SaaS is one of three main categories of cloud
computing, alongside infrastructure as a service
(IaaS) and platform as a service (PaaS).
• SaaS accounts for approximately 24% of all enterprise workloads (up from 14% in 2016)
• IaaS is hovering around 12% (up from 6%).
• PaaS is currently the most popular model, hovering around 32% and expected to grow in 2020.
With uptake rates like these, cloud computing is becoming the norm, and many businesses are phasing
out on-premise software altogether.
3. On-premise, IaaS, PaaS, and SaaS
• On-premise: software that’s
installed in the same building as
your business.
• IaaS: cloud-based services, pay-
as-you-go for services such as
storage, networking, and
virtualization.
• PaaS: hardware and software
tools available over the internet.
• SaaS: software that’s available via
a third-party over the internet. BigCommerce,
Google Apps,
Salesforce,
Dropbox,
MailChimp,
ZenDesk, DocuSign,
Slack, Hubspot.
AWS Elastic
Beanstalk, Heroku,
Windows Azure
(mostly used as
PaaS), Force.com,
OpenShift, Apache
Stratos, Magento
Commerce Cloud.
AWS EC2,
Rackspace,
Google
Compute
Engine (GCE),
Digital Ocean
Examples
4. Cloud Computing Service Models
IaaS PaaS SaaS
Delivery Over the Internet Over the Internet Over the Internet
Advantages Cost-effective
Highly flexible
Highly scalable
Control over the infrastructure
Platform for developers to create
unique, customizable software
No botheration of infrastructure
services, capacity, load, scale and health
monitor
Don’t need to install and run software
applications on your computer
Subscription / Pay-as-you-go model
No botheration of infrastructure and
software
Disadvantages Security
Technical problems
Upgrade & Maintenance
Virtualization Services & User-
Privacy
Data security
Compatibility of existing infrastructure
Dependency on vendor’s speed,
reliability and support
Limited Control
Limited range of solutions
Limited Integration options
Connectivity is a must
When to Use Pay-as-you-use model
Unpredictable scalable
infrastructure
who want to host cloud-based
applications
users do not want to invest in the
physical servers and maintenance
most cost-effective and time-effective
way for a developer to create a unique
application
allows the developer to focus on the
creative side of app development like
creation, testing and deploy the app.
If your company needs to launch a ready-
made software quickly
For short-term projects that require
collaboration
If you use applications on a temporary basis
For applications that need both web and
mobile access
Characteristics pay-as-you-go storage, networking,
and virtualization
buy what you need, as you need it,
and purchase more as your business
grows
Accessible by multiple users
Scalable – options available
Built on virtualization
Easy to run
Available over the internet.
Scalable, with different tiers for small,
medium, and enterprise-level businesses.
Inclusive, offering security, compliance, and
maintenance as part of the cost.
15. SaaS – Data Storage
Data Extensibility
Option 1 – Pre-allocated Fields Option 2 – Name-Value Pairs for Data Extensibility
Option 3 – Custom Schemas
Extensibility approach Notes
Separate table per tenant Each table can use custom schemas for
that particular tenant.
Single table with multiple schemas Each tenant can use custom schemas for
the entities it stores in the table.
Single schema with separate tables
holding custom data
In table storage, transactions are only
supported within a partition on a table.
With this approach it is not possible to
save all the data associated with an entity
in a single transaction
Option 4 – XML Columns
16. SaaS – Data Storage
Approach Security Patterns Extensibility Patterns Scalability Patterns
Separate Databases • Trusted Database
Connections
• Secure Database Tables
• Tenant Data Encryption
• Custom Columns
• Separate table per
tenant
Single Tenant
Scaleout
Shared Database,
Separate
Schemas
• Trusted Database
Connections
• Secure Database Tables
• Tenant Data Encryption
• Custom Columns
• Single table with
multiple schemas
Tenant‐Based
Horizontal
Partitioning
Shared Database,
Shared
Schema
• Trusted Database
Connections
• Tenant View Filter
• Tenant Data Encryption
• Preallocated Fields
• Name‐Value Pairs
• Single schema with
separate tables
holding custom data
Tenant‐Based
Horizontal
Partitioning
17. SaaS – Data Storage
Fault Tolerance & High Availability
PrimarySecondary Secondary
Data Replication
18. The key challenges of SaaS architecture
Variable Tenant Load
• New Tenant Onboarding
• Bulk Operations
• Complex Scaling Profiles
Variable Data Footprint
• Limited storage bottlenecks
• Cross-tenant impact
• Cost Optimization
Seamless Tenant Identity
• Binding users to tenants
• Efficient resolution of context
• Minimally invasive
Operational Agility
• Small, repeatable deployments
• Proactive metrics/monitoring
• Tenant level health / policy
management
20. SaaS – Reference Architectures
Application Architecture
PoolBridgeSilo
DB DB
DB DBDBDB
21. SaaS – Silo Reference Architecture
Availability Zone A Availability Zone B
ELB
Web Tier
App Tier
Web Tier
App Tier
Tenant
DB Tier DB Tier
Same model is replicated for every tenant
FULL STACK ISOLATION
22. SaaS – Bridge Reference Architecture
Availability Zone A Availability Zone B
ELB
Web Tier
App Tier
Web Tier
App Tier
Tenant A
DB Tier DB Tier
Tenant B
WEB UNIVERSAL
APP & DB ISOLATION
23. SaaS – Pool Reference Architecture
Availability Zone A Availability Zone B
ELB
Web Tier
App Tier
Web Tier
App Tier
Tenant A
DB Tier DB Tier
Every tenant uses the Pool
Tenant B
WEB & APP POOLED
DB ISOLATED
24. Key takeaways of SaaS architecture
• No single pattern fits all SaaS businesses
• All Cloud Service Providers are tenant oriented
• SaaS architecture must embrace variable consumption
• Find the isolation balance that best suits your domain, it can be challenging
• Find the logical services for data encapsulation
• Metrics and analytics are foundational to SaaS architecture
• Serverless and SaaS are a natural match
• Automation and agility are essential to all patterns
• Tenant load profile should influence service decomposition