SlideShare a Scribd company logo
DEVELOPING SAAS
APPLICATION IN AZURE
- PREPARED BY VINOD WILSON – ARCHITECT – CRESTRON ELECTRONICS
WHAT IS SAAS?
• SaaS is a Software licensing and delivery model in
which software is licensed on a subscription basis
and is centrally hosted.
• It is also referred as “on-demand software”.
HOW SAAS IS DIFFERENT FROM OTHER MODELS?
Networking
Storage
Servers
Virtualization
OS
Middleware
Runtime
Data
Application
IaaS
Infrastructure as a service
Networking
Storage
Servers
Virtualization
OS
Middleware
Runtime
Data
Application
PaaS
Platform as a service
Networking
Storage
Servers
Virtualization
OS
Middleware
Runtime
Data
Application
SaaS
Software as a service
Managed By
Vendor
Managed By Client
Legends :
WHY SAAS?
• Lower Cost of entry
• Reduced time to benefit & rapid prototyping
• Pay as you go
• The SaaS vendor is responsible for upgrades, uptime & security
• Higher adoption rates
• Integration and Scalability
• Work anywhere
IS THERE ANY DISADVANTAGES IN SAAS?
• Loss of Control.
• Security concerns, since your data is stored in the cloud.
• Compliance – Certain countries/industries have regulation relating
to where data is stored.
• Switching between SaaS vendors is difficult.
DATA PROTECTION AND PRIVACY
KEY CHARACTERISTICS OF SAAS
• Multi-Tenancy
• Provisioning
• Configurability
• Scalability
• Maintainability - Application delivery and upgrades
• Integration
• Metering and Billing
• Monitoring - Application availability
• Analytics – User Experience, Performance
• Disaster recovery – backup and restore
WHAT/WHO IS A TENANT?
Azure Storage Service
CORP A
CORP B
CORP C
CORP D
Companies - Tenants
STREET & CO
LLC
NOR COM INC.
TOUCHPOINT
LOGIC LLC.
ARROW AUDIO
INC.
Corporate customers - Tenants
Customer 1
Customer 2
Customer 3
Customer 4
Corp Customers - Tenants
HOW THE SYSTEM IDENTIFIES THE TENANT?
• HTTP URL approach
• Tenant_ID will be identified based on sub-domain parameter in the URL [HTTP host
headers].
• https://companyA.yourproduct.com
• https://companyB. yourproduct.com
• Some customers might ask custom domain than sub-domain.
• Sub domain will give better isolation on cookies and CORS (Cross Origin Resource
Sharing), it makes cross-tenant CSRF & XSS bit harder.
• Query parameters can be used to identify the tenant.
• https://yourproduct.com/companyA
• https://yourproduct.com/companyB
• Authentication approach
• Based on user identity, Tenant_ID will be identified.
WHAT IS KEY CHARACTERISTICS OF MULTI-TENANCY
• Resource sharing
• High degree of configurability
• Isolation [Security and privacy]
MULTI-TENANCY & RESOURCE SHARING
MULTI-TENANCY & CONFIGURABILITY
• Page appearance and branding customization
• Allow the tenant to upload their own log to do branding
• Allow the tenant to upload tenant specific CSS file to change the style in all the pages.
• Complete page customization example Login page specific to tenant.
• Expose API that can be consumed by custom page’s
• Allow the tenant to upload the custom page into the application.
• Ability to enable & disable functionalities specific to tenant at application level.
• Ability to customize the business process or application flow specific to tenant.
• This can be achieved by using workflow & rule engine.
• Allow the tenant specific identity provider integration
• To get SSO (Single-Sing On) experience across their applications.
• Ability to add custom fields in the schema specific to the tenant
• Location: Tenant would like to access the application near by location [Geo-aware SaaS deployment]
MULTI-TENANCY & IDENTITY PROVIDER INTEGRATION
• Tenants use their exiting identity provider
• Tenants want to use Third party identity provider like Google /
Windows Live account
• Application provides its own identity provider, tenants will just
use it.
Note: All approaches uses claims-based authentication, only difference is source of the original claims
INTEGRATION WITH TENANTS EXISTING IDENTITY
PROVIDER
INTEGRATION WITH THIRD PARTY IDENTITY PROVIDER
APPLICATION SPECIFIC IDENTITY PROVIDER
HOW TO IMPLEMENT THESE APPROACHES IN MVC
APPROACHES FOR DATA ISOLATION IN MULTI-TENANCY
1. Storing tenant data in separate databases.
2. Housing multiple tenants in the same database.
• Separate schema for each tenant [separate table]
3. Using same database and same set of tables to host multiple tenants.
• Each row will have tenant_id in the table.
Note: In Azure table, container level access policy can be implemented.
MULTI-TENANCY & PROVISIONING
Provisioning refers to the process of on-boarding new tenants to use the SaaS application.
• It includes allocation of system resources.
• Deployment of application components for this new tenant including new database if any
• Granting permissions required to various applications and application features.
• Other customization mentioned earlier.
• Example, Integrating their authentication provider, configuring logos
HOW TO IMPLEMENT PROVISIONING
• The tool to provision a new tenant should be independent of tenant
application itself. Since the same tenant and his configuration can be re-used
for future SaaS applications as well.
• The tool should have the capability to automate as much of the tasks to
provision new tenant.
• Example Windows Azure Pack (WAP) to automate the tenant provisioning.
SAMPLE APPROACH FOR PROVISIONING
Tenant Management
Application
Single Instance
Tenant facing SaaS
Application
Tenant facing SaaS
Application
Tenant facing SaaS
ApplicationSaaS Application2
Multi Instance
Tenant facing SaaS
Application
Tenant facing SaaS
Application
Tenant facing SaaS
ApplicationSaaS Application1
Multi Instance
IT/Support team access
Tenant Admins access
To do configuration/customization
on their own anytime, example theme
DISASTER RECOVERY
• Azure services provides the disaster recovery features by native.
• Such as Geo-redundant, multi instance, multiple data centre.
• Still, may be due to some technical issue (application bug or security issue)
the data go wrong/get deleted. In this case the same instance will spread
across the datacentres and geo-replications.
• To avoid this kind of scenarios, application should take care of taking regular
backup of individual tenant data and should have provision to restore the data
to specific point based on tenant request.
MONITORING
• Tenant specific applications should be monitored individually rather than entire SaaS application as
whole.
• Alerts should be raised in the form of Email/SMS based on application availability.
Monitoring
Tool
Example: Fusion Lite SaaS Application
Tenant1 App
Tenant2 App
Health Page
of tenant1
Health Page
of tenant2
Tenant1
Users
Tenant2
Users
Parse the content,
Response code: 200
MULTI-TENANCY & BILLING
“Pay as you go”
– simple to say hard to implement.
SOME OF THE TOP SAAS APPS
TOP SAAS VENDORS
IS SAAS MODEL IS GROWING?
By 2019, the cloud software model will account
for $1 of every $4.59 spent on software
– by IDC
Thank You.

More Related Content

PPTX
Building a SaaS based product in Azure - Challenges and decisions made
PDF
Building SaaS products with Windows Azure
PPTX
Software as a service
PPT
SaaS Business Architecture
DOCX
Inevitability of Multi-Tenancy & SAAS in Product Engineering
PPT
Cloud computing and Software as a Service Overview
PPT
SaaS: Introduction
PDF
Estrategias para explotar las tendencias de SaaS y Cloud Computing
Building a SaaS based product in Azure - Challenges and decisions made
Building SaaS products with Windows Azure
Software as a service
SaaS Business Architecture
Inevitability of Multi-Tenancy & SAAS in Product Engineering
Cloud computing and Software as a Service Overview
SaaS: Introduction
Estrategias para explotar las tendencias de SaaS y Cloud Computing

What's hot (20)

PPTX
SaaS.pptx
PPTX
Architecting SaaS: Doing It Right the First Time
PDF
Software as a Service
PPT
Testting application with a presentation downloaded from the internet
PPTX
SaaS Architecture Past and Present
PPTX
Techcello at a glance
PDF
Service as-a-software
PDF
Advanced Concepts in Software as a Service / Service Oriented Architecture
PPTX
Benchmark Maturity of your SaaS Solution
PDF
Digital reference architecture in hybrid cloud
PDF
Redefining End-to-End Monitoring: Service Model Integration
PPTX
How to benchmark the maturity of your saas solution
PDF
Implementing dev ops to face a two speed it architecture
PPT
La Cics Tools Overview April 2009
PPT
SOA in banking issues and remedies
PPTX
Presentación webMethods BPMS por Simbius S.A.
PPTX
System Center Datacenter Cloud Management Vision & Roadmap
PDF
DataPower Operations Dashboard
PPT
Data power use cases
PPTX
Saas by shashwat and shivendra
SaaS.pptx
Architecting SaaS: Doing It Right the First Time
Software as a Service
Testting application with a presentation downloaded from the internet
SaaS Architecture Past and Present
Techcello at a glance
Service as-a-software
Advanced Concepts in Software as a Service / Service Oriented Architecture
Benchmark Maturity of your SaaS Solution
Digital reference architecture in hybrid cloud
Redefining End-to-End Monitoring: Service Model Integration
How to benchmark the maturity of your saas solution
Implementing dev ops to face a two speed it architecture
La Cics Tools Overview April 2009
SOA in banking issues and remedies
Presentación webMethods BPMS por Simbius S.A.
System Center Datacenter Cloud Management Vision & Roadmap
DataPower Operations Dashboard
Data power use cases
Saas by shashwat and shivendra
Ad

Similar to Developing saas application in azure (20)

PPTX
Keeping the Noisy Neighbors Happy
PPT
SAAS - Software as a Service
PDF
Productive Expansion on Amazon Web Services with BlazeClan
PPTX
“Salesforce Multi-tenant architecture”,
PDF
Architecting SaaS
PDF
Building a SaaS Style Application
PPTX
Software as a service Maturity Models.pptx
PPSX
Cloud computting a quick reference and guide
PDF
Cloud application services (saa s) – multi tenant data architecture
PDF
PDF
SaaS Architecture.pdf
PDF
Developing multi tenant applications for the cloud 3rd edition
PPTX
Developing applications with windows azure
PDF
Force.Com Multitenancy
PPT
Azure Services Platform_Partner_Briefing
PDF
Webinar - Business Implications of SaaS Multi Tenancy
PDF
Understanding the Business Implications of SaaS Multi-Tenancy
PDF
Multi-Tenant SOA Middleware for Cloud Computing
PDF
Developing Multitenant Applications For The Cloud On Windows Azure 3rd Editio...
PDF
SaaS Introduction - What is SaaS Mean and Examples
Keeping the Noisy Neighbors Happy
SAAS - Software as a Service
Productive Expansion on Amazon Web Services with BlazeClan
“Salesforce Multi-tenant architecture”,
Architecting SaaS
Building a SaaS Style Application
Software as a service Maturity Models.pptx
Cloud computting a quick reference and guide
Cloud application services (saa s) – multi tenant data architecture
SaaS Architecture.pdf
Developing multi tenant applications for the cloud 3rd edition
Developing applications with windows azure
Force.Com Multitenancy
Azure Services Platform_Partner_Briefing
Webinar - Business Implications of SaaS Multi Tenancy
Understanding the Business Implications of SaaS Multi-Tenancy
Multi-Tenant SOA Middleware for Cloud Computing
Developing Multitenant Applications For The Cloud On Windows Azure 3rd Editio...
SaaS Introduction - What is SaaS Mean and Examples
Ad

More from Vinod Wilson (15)

PPTX
Representational state transfer (rest) architectural style1.1
PPTX
UI Design - Organizing the page
PPTX
Service oriented architecture introduction
PPTX
Togaf – models for phase A
PPTX
The components of togaf architecture
PPTX
Togaf – architecture development method (adm)
PPTX
Togaf 9 introduction
PPTX
Ssas mdx language
PPTX
D3 data visualization
PPTX
Unit testing
PPTX
Event driven architecture
PPTX
Domain driven design simplified
PPTX
Data partitioning
PPTX
Iot cloud service v2.0
PPTX
IoT mobile app device cloud identity and security architecture
Representational state transfer (rest) architectural style1.1
UI Design - Organizing the page
Service oriented architecture introduction
Togaf – models for phase A
The components of togaf architecture
Togaf – architecture development method (adm)
Togaf 9 introduction
Ssas mdx language
D3 data visualization
Unit testing
Event driven architecture
Domain driven design simplified
Data partitioning
Iot cloud service v2.0
IoT mobile app device cloud identity and security architecture

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Network Security Unit 5.pdf for BCA BBA.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Modernizing your data center with Dell and AMD
Review of recent advances in non-invasive hemoglobin estimation
MYSQL Presentation for SQL database connectivity
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Weekly Chronicles - August'25 Week I
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Developing saas application in azure

  • 1. DEVELOPING SAAS APPLICATION IN AZURE - PREPARED BY VINOD WILSON – ARCHITECT – CRESTRON ELECTRONICS
  • 2. WHAT IS SAAS? • SaaS is a Software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. • It is also referred as “on-demand software”.
  • 3. HOW SAAS IS DIFFERENT FROM OTHER MODELS? Networking Storage Servers Virtualization OS Middleware Runtime Data Application IaaS Infrastructure as a service Networking Storage Servers Virtualization OS Middleware Runtime Data Application PaaS Platform as a service Networking Storage Servers Virtualization OS Middleware Runtime Data Application SaaS Software as a service Managed By Vendor Managed By Client Legends :
  • 4. WHY SAAS? • Lower Cost of entry • Reduced time to benefit & rapid prototyping • Pay as you go • The SaaS vendor is responsible for upgrades, uptime & security • Higher adoption rates • Integration and Scalability • Work anywhere
  • 5. IS THERE ANY DISADVANTAGES IN SAAS? • Loss of Control. • Security concerns, since your data is stored in the cloud. • Compliance – Certain countries/industries have regulation relating to where data is stored. • Switching between SaaS vendors is difficult.
  • 7. KEY CHARACTERISTICS OF SAAS • Multi-Tenancy • Provisioning • Configurability • Scalability • Maintainability - Application delivery and upgrades • Integration • Metering and Billing • Monitoring - Application availability • Analytics – User Experience, Performance • Disaster recovery – backup and restore
  • 8. WHAT/WHO IS A TENANT? Azure Storage Service CORP A CORP B CORP C CORP D Companies - Tenants STREET & CO LLC NOR COM INC. TOUCHPOINT LOGIC LLC. ARROW AUDIO INC. Corporate customers - Tenants Customer 1 Customer 2 Customer 3 Customer 4 Corp Customers - Tenants
  • 9. HOW THE SYSTEM IDENTIFIES THE TENANT? • HTTP URL approach • Tenant_ID will be identified based on sub-domain parameter in the URL [HTTP host headers]. • https://companyA.yourproduct.com • https://companyB. yourproduct.com • Some customers might ask custom domain than sub-domain. • Sub domain will give better isolation on cookies and CORS (Cross Origin Resource Sharing), it makes cross-tenant CSRF & XSS bit harder. • Query parameters can be used to identify the tenant. • https://yourproduct.com/companyA • https://yourproduct.com/companyB • Authentication approach • Based on user identity, Tenant_ID will be identified.
  • 10. WHAT IS KEY CHARACTERISTICS OF MULTI-TENANCY • Resource sharing • High degree of configurability • Isolation [Security and privacy]
  • 12. MULTI-TENANCY & CONFIGURABILITY • Page appearance and branding customization • Allow the tenant to upload their own log to do branding • Allow the tenant to upload tenant specific CSS file to change the style in all the pages. • Complete page customization example Login page specific to tenant. • Expose API that can be consumed by custom page’s • Allow the tenant to upload the custom page into the application. • Ability to enable & disable functionalities specific to tenant at application level. • Ability to customize the business process or application flow specific to tenant. • This can be achieved by using workflow & rule engine. • Allow the tenant specific identity provider integration • To get SSO (Single-Sing On) experience across their applications. • Ability to add custom fields in the schema specific to the tenant • Location: Tenant would like to access the application near by location [Geo-aware SaaS deployment]
  • 13. MULTI-TENANCY & IDENTITY PROVIDER INTEGRATION • Tenants use their exiting identity provider • Tenants want to use Third party identity provider like Google / Windows Live account • Application provides its own identity provider, tenants will just use it. Note: All approaches uses claims-based authentication, only difference is source of the original claims
  • 14. INTEGRATION WITH TENANTS EXISTING IDENTITY PROVIDER
  • 15. INTEGRATION WITH THIRD PARTY IDENTITY PROVIDER
  • 17. HOW TO IMPLEMENT THESE APPROACHES IN MVC
  • 18. APPROACHES FOR DATA ISOLATION IN MULTI-TENANCY 1. Storing tenant data in separate databases. 2. Housing multiple tenants in the same database. • Separate schema for each tenant [separate table] 3. Using same database and same set of tables to host multiple tenants. • Each row will have tenant_id in the table. Note: In Azure table, container level access policy can be implemented.
  • 19. MULTI-TENANCY & PROVISIONING Provisioning refers to the process of on-boarding new tenants to use the SaaS application. • It includes allocation of system resources. • Deployment of application components for this new tenant including new database if any • Granting permissions required to various applications and application features. • Other customization mentioned earlier. • Example, Integrating their authentication provider, configuring logos
  • 20. HOW TO IMPLEMENT PROVISIONING • The tool to provision a new tenant should be independent of tenant application itself. Since the same tenant and his configuration can be re-used for future SaaS applications as well. • The tool should have the capability to automate as much of the tasks to provision new tenant. • Example Windows Azure Pack (WAP) to automate the tenant provisioning.
  • 21. SAMPLE APPROACH FOR PROVISIONING Tenant Management Application Single Instance Tenant facing SaaS Application Tenant facing SaaS Application Tenant facing SaaS ApplicationSaaS Application2 Multi Instance Tenant facing SaaS Application Tenant facing SaaS Application Tenant facing SaaS ApplicationSaaS Application1 Multi Instance IT/Support team access Tenant Admins access To do configuration/customization on their own anytime, example theme
  • 22. DISASTER RECOVERY • Azure services provides the disaster recovery features by native. • Such as Geo-redundant, multi instance, multiple data centre. • Still, may be due to some technical issue (application bug or security issue) the data go wrong/get deleted. In this case the same instance will spread across the datacentres and geo-replications. • To avoid this kind of scenarios, application should take care of taking regular backup of individual tenant data and should have provision to restore the data to specific point based on tenant request.
  • 23. MONITORING • Tenant specific applications should be monitored individually rather than entire SaaS application as whole. • Alerts should be raised in the form of Email/SMS based on application availability. Monitoring Tool Example: Fusion Lite SaaS Application Tenant1 App Tenant2 App Health Page of tenant1 Health Page of tenant2 Tenant1 Users Tenant2 Users Parse the content, Response code: 200
  • 24. MULTI-TENANCY & BILLING “Pay as you go” – simple to say hard to implement.
  • 25. SOME OF THE TOP SAAS APPS
  • 27. IS SAAS MODEL IS GROWING? By 2019, the cloud software model will account for $1 of every $4.59 spent on software – by IDC